@geoql/v-maplibre 1.2.4 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +7 -0
  2. package/dist/controls/index.d.ts +2 -0
  3. package/dist/controls/lidar/VControlLidar.vue.d.ts +56 -0
  4. package/dist/controls/lidar/events.d.ts +1 -0
  5. package/dist/controls/lidar/index.d.ts +3 -0
  6. package/dist/controls/lidar/types.d.ts +81 -0
  7. package/dist/index.d.ts +4 -3
  8. package/dist/index.js +4275 -55
  9. package/dist/index.js.map +1 -1
  10. package/dist/layers/deckgl/arc/VLayerDeckglArc.vue.d.ts +1 -1
  11. package/dist/layers/deckgl/bitmap/VLayerDeckglBitmap.vue.d.ts +1 -1
  12. package/dist/layers/deckgl/cog/VLayerDeckglCOG.vue.d.ts +166 -0
  13. package/dist/layers/deckgl/cog/index.d.ts +1 -0
  14. package/dist/layers/deckgl/column/VLayerDeckglColumn.vue.d.ts +2 -2
  15. package/dist/layers/deckgl/contour/VLayerDeckglContour.vue.d.ts +2 -2
  16. package/dist/layers/deckgl/geohash/VLayerDeckglGeohash.vue.d.ts +2 -2
  17. package/dist/layers/deckgl/geojson/VLayerDeckglGeojson.vue.d.ts +2 -2
  18. package/dist/layers/deckgl/great-circle/VLayerDeckglGreatCircle.vue.d.ts +1 -1
  19. package/dist/layers/deckgl/grid/VLayerDeckglGrid.vue.d.ts +1 -1
  20. package/dist/layers/deckgl/grid-cell/VLayerDeckglGridCell.vue.d.ts +1 -1
  21. package/dist/layers/deckgl/h3-cluster/VLayerDeckglH3Cluster.vue.d.ts +2 -2
  22. package/dist/layers/deckgl/h3-hexagon/VLayerDeckglH3Hexagon.vue.d.ts +2 -2
  23. package/dist/layers/deckgl/heatmap/VLayerDeckglHeatmap.vue.d.ts +2 -2
  24. package/dist/layers/deckgl/hexagon/VLayerDeckglHexagon.vue.d.ts +1 -1
  25. package/dist/layers/deckgl/icon/VLayerDeckglIcon.vue.d.ts +2 -2
  26. package/dist/layers/deckgl/index.d.ts +1 -0
  27. package/dist/layers/deckgl/line/VLayerDeckglLine.vue.d.ts +1 -1
  28. package/dist/layers/deckgl/mvt/VLayerDeckglMVT.vue.d.ts +2 -2
  29. package/dist/layers/deckgl/path/VLayerDeckglPath.vue.d.ts +2 -2
  30. package/dist/layers/deckgl/point-cloud/VLayerDeckglPointCloud.vue.d.ts +2 -2
  31. package/dist/layers/deckgl/polygon/VLayerDeckglPolygon.vue.d.ts +2 -2
  32. package/dist/layers/deckgl/quadkey/VLayerDeckglQuadkey.vue.d.ts +2 -2
  33. package/dist/layers/deckgl/s2/VLayerDeckglS2.vue.d.ts +2 -2
  34. package/dist/layers/deckgl/scatterplot/VLayerDeckglScatterplot.vue.d.ts +2 -2
  35. package/dist/layers/deckgl/scenegraph/VLayerDeckglScenegraph.vue.d.ts +7 -1
  36. package/dist/layers/deckgl/screen-grid/VLayerDeckglScreenGrid.vue.d.ts +1 -1
  37. package/dist/layers/deckgl/simple-mesh/VLayerDeckglSimpleMesh.vue.d.ts +1 -1
  38. package/dist/layers/deckgl/solid-polygon/VLayerDeckglSolidPolygon.vue.d.ts +2 -2
  39. package/dist/layers/deckgl/terrain/VLayerDeckglTerrain.vue.d.ts +1 -1
  40. package/dist/layers/deckgl/text/VLayerDeckglText.vue.d.ts +2 -2
  41. package/dist/layers/deckgl/tile/VLayerDeckglTile.vue.d.ts +2 -2
  42. package/dist/layers/deckgl/tile-3d/VLayerDeckglTile3D.vue.d.ts +3 -2
  43. package/dist/layers/deckgl/trips/VLayerDeckglTrips.vue.d.ts +2 -2
  44. package/dist/layers/deckgl/wms/VLayerDeckglWMS.vue.d.ts +1 -1
  45. package/dist/layers/index.d.ts +1 -0
  46. package/dist/layers/maplibre/route/VLayerMaplibreRoute.vue.d.ts +64 -0
  47. package/dist/layers/maplibre/route/index.d.ts +1 -0
  48. package/dist/markers/VMarker.vue.d.ts +1 -1
  49. package/package.json +15 -2
  50. package/dist/index-kNnO8_Zs.js +0 -56222
  51. package/dist/index-kNnO8_Zs.js.map +0 -1
  52. package/dist/index-m5ZKPBwA.js +0 -5106
  53. package/dist/index-m5ZKPBwA.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,58 +1,4278 @@
1
- import { aR as r, aQ as l, ac as s, ad as V, ae as y, af as c, ag as L, aN as g, ai as k, ar as o, aq as D, ax as i, aI as t, aj as n, aG as p, aw as C, as as M, aB as u, aA as b, au as d, av as G, ao as m, al as S, aC as P, ak as h, at as H, am as T, aJ as v, aH as x, ah as f, aM as j, ay as A, aL as I, an as K, aF as O, ap as B, aD as F, aE as N, az as Q, aK as R, a4 as q, a6 as w, a5 as z, a7 as E, ab as J, a8 as W, a9 as U, aa as X, a1 as Y, a2 as Z, a3 as _, a1 as $, aP as aa, aO as ea } from "./index-kNnO8_Zs.js";
1
+ import { inject as w, ref as M, shallowRef as H, watch as v, provide as O, onUnmounted as J, defineComponent as b, useSlots as X, onMounted as L, renderSlot as C, onBeforeUnmount as P, createBlock as K, openBlock as $, computed as z, toRaw as E, markRaw as R, createElementBlock as A, createCommentVNode as Q, withCtx as ee } from "vue";
2
+ import te, { AttributionControl as oe, FullscreenControl as ae, GeolocateControl as ie, NavigationControl as re, ScaleControl as le, Map as ne, Popup as se, Marker as de } from "maplibre-gl";
3
+ import { PMTiles as ce, Protocol as ue } from "pmtiles";
4
+ import { ScatterplotLayer as ge, ArcLayer as ye, GeoJsonLayer as pe, PathLayer as fe, LineLayer as he, PolygonLayer as me, SolidPolygonLayer as ve, IconLayer as be, TextLayer as Le, ColumnLayer as Se, BitmapLayer as Ce, GridCellLayer as ke, PointCloudLayer as Pe } from "@deck.gl/layers";
5
+ import { HeatmapLayer as xe, HexagonLayer as Ie, GridLayer as _e, ContourLayer as Me, ScreenGridLayer as Ee } from "@deck.gl/aggregation-layers";
6
+ import { TripsLayer as Be, H3HexagonLayer as We, H3ClusterLayer as we, MVTLayer as Te, TileLayer as ze, Tile3DLayer as He, TerrainLayer as $e, GreatCircleLayer as Re, S2Layer as Oe, GeohashLayer as Ve, QuadkeyLayer as De, _WMSLayer as Ae } from "@deck.gl/geo-layers";
7
+ import { SimpleMeshLayer as Ue, ScenegraphLayer as Fe } from "@deck.gl/mesh-layers";
8
+ function k(g, a) {
9
+ const e = w(g, a);
10
+ if (!e)
11
+ throw new Error(`Could not resolve ${g.description}`);
12
+ return e;
13
+ }
14
+ const V = /* @__PURE__ */ Symbol("DeckOverlay"), D = /* @__PURE__ */ Symbol("DeckLayers");
15
+ function I(g, a = {}) {
16
+ const { interleaved: e = !1 } = a, r = w(V, null), i = w(D, null);
17
+ if (r && i)
18
+ return {
19
+ overlay: r,
20
+ isInitialized: M(!0),
21
+ layers: M([]),
22
+ initOverlay: () => Promise.resolve(),
23
+ getLayers: () => [],
24
+ ...i
25
+ };
26
+ const u = H(null), l = M([]), n = M(!1);
27
+ let s = null;
28
+ const t = () => {
29
+ const d = g.value;
30
+ return !d || u.value ? Promise.resolve() : s || (s = import("@deck.gl/mapbox").then(({ MapboxOverlay: h }) => {
31
+ u.value || (u.value = new h({
32
+ interleaved: e,
33
+ layers: []
34
+ }), d.addControl(u.value), n.value = !0);
35
+ }).catch((h) => {
36
+ console.error("[deck.gl] Error initializing overlay:", h), s = null;
37
+ }), s);
38
+ }, o = (d) => d.id, y = () => {
39
+ u.value && u.value.setProps({ layers: l.value });
40
+ }, f = (d) => {
41
+ const h = o(d), B = l.value.findIndex(
42
+ (x) => o(x) === h
43
+ );
44
+ B >= 0 ? l.value = [
45
+ ...l.value.slice(0, B),
46
+ d,
47
+ ...l.value.slice(B + 1)
48
+ ] : l.value = [...l.value, d], u.value ? y() : t().then(y);
49
+ }, c = (d) => {
50
+ l.value = l.value.filter((h) => o(h) !== d), y();
51
+ }, m = (d, h) => {
52
+ const B = l.value.findIndex((x) => o(x) === d);
53
+ B >= 0 ? (l.value = [
54
+ ...l.value.slice(0, B),
55
+ h,
56
+ ...l.value.slice(B + 1)
57
+ ], y()) : f(h);
58
+ }, p = () => [...l.value];
59
+ return v(
60
+ g,
61
+ (d) => {
62
+ d && !u.value && (d.isStyleLoaded() ? t() : d.once("style.load", () => {
63
+ t();
64
+ }));
65
+ },
66
+ { immediate: !0 }
67
+ ), O(V, u), O(D, {
68
+ addLayer: f,
69
+ removeLayer: c,
70
+ updateLayer: m
71
+ }), J(() => {
72
+ if (u.value && g.value)
73
+ try {
74
+ g.value.removeControl(u.value), u.value.finalize();
75
+ } catch (d) {
76
+ console.error("[deck.gl] Error cleaning up overlay:", d);
77
+ }
78
+ u.value = null, l.value = [], n.value = !1, s = null;
79
+ }), {
80
+ overlay: u,
81
+ layers: l,
82
+ isInitialized: n,
83
+ initOverlay: t,
84
+ addLayer: f,
85
+ removeLayer: c,
86
+ updateLayer: m,
87
+ getLayers: p
88
+ };
89
+ }
90
+ function it() {
91
+ const g = w(D, null), a = w(V, null);
92
+ if (!g)
93
+ throw new Error(
94
+ "[deck.gl] useDeckLayers must be used within a component that has initialized useDeckOverlay"
95
+ );
96
+ return {
97
+ ...g,
98
+ overlay: a
99
+ };
100
+ }
101
+ const S = /* @__PURE__ */ Symbol("Map"), Y = /* @__PURE__ */ Symbol("Protocol"), rt = /* @__PURE__ */ b({
102
+ __name: "VControlAttribution",
103
+ props: {
104
+ options: { default: void 0 },
105
+ position: { default: "bottom-right" }
106
+ },
107
+ setup(g) {
108
+ const a = {
109
+ compact: !1,
110
+ customAttribution: void 0
111
+ }, e = g, r = X(), i = k(S);
112
+ L(() => {
113
+ u();
114
+ });
115
+ const u = () => {
116
+ let l = a;
117
+ e.options && (l = {
118
+ ...e.options
119
+ }), r && r.default?.() && (l.customAttribution = r.default()[0].children);
120
+ const n = new oe(l);
121
+ i.value.addControl(n, e.position);
122
+ };
123
+ return (l, n) => C(l.$slots, "default");
124
+ }
125
+ }), lt = /* @__PURE__ */ b({
126
+ __name: "VControlFullscreen",
127
+ props: {
128
+ options: { default: void 0 },
129
+ position: { default: "top-left" }
130
+ },
131
+ setup(g) {
132
+ const a = {
133
+ container: void 0
134
+ }, e = g, r = k(S);
135
+ L(() => {
136
+ i();
137
+ });
138
+ const i = () => {
139
+ const u = new ae(e.options || a);
140
+ r.value.addControl(u, e.position);
141
+ };
142
+ return () => {
143
+ };
144
+ }
145
+ }), U = [
146
+ "geolocate",
147
+ "error",
148
+ "outofmaxbounds",
149
+ "trackuserlocationstart",
150
+ "trackuserlocationend"
151
+ ], nt = /* @__PURE__ */ b({
152
+ __name: "VControlGeolocate",
153
+ props: {
154
+ options: { default: void 0 },
155
+ position: { default: "top-left" }
156
+ },
157
+ emits: U,
158
+ setup(g, { emit: a }) {
159
+ const e = {
160
+ fitBoundsOptions: {
161
+ linear: !1,
162
+ offset: [0, 0],
163
+ maxZoom: 22
164
+ },
165
+ positionOptions: {
166
+ enableHighAccuracy: !0,
167
+ maximumAge: 0,
168
+ timeout: 6e3
169
+ },
170
+ trackUserLocation: !0,
171
+ showAccuracyCircle: !0,
172
+ showUserLocation: !0
173
+ }, r = g, i = a, u = k(S);
174
+ L(() => {
175
+ l();
176
+ });
177
+ const l = () => {
178
+ const n = new ie(r.options || e);
179
+ u.value.addControl(n, r.position), U.forEach((s) => {
180
+ n.on(s, () => {
181
+ i(s);
182
+ });
183
+ });
184
+ };
185
+ return () => {
186
+ };
187
+ }
188
+ }), st = /* @__PURE__ */ b({
189
+ __name: "VControlNavigation",
190
+ props: {
191
+ options: { default: void 0 },
192
+ position: { default: "top-left" }
193
+ },
194
+ setup(g) {
195
+ const a = {
196
+ showCompass: !0,
197
+ showZoom: !0,
198
+ visualizePitch: !0
199
+ }, e = g, r = w(S);
200
+ L(() => {
201
+ i();
202
+ });
203
+ const i = () => {
204
+ const u = new re(e.options || a);
205
+ r.value.addControl(u, e.position);
206
+ };
207
+ return () => {
208
+ };
209
+ }
210
+ }), dt = /* @__PURE__ */ b({
211
+ __name: "VControlScale",
212
+ props: {
213
+ options: { default: void 0 },
214
+ position: { default: "bottom-left" }
215
+ },
216
+ setup(g) {
217
+ const a = {
218
+ maxWidth: 100,
219
+ unit: "metric"
220
+ }, e = g, r = w(S);
221
+ L(() => {
222
+ i();
223
+ });
224
+ const i = () => {
225
+ const u = new le(e.options || a);
226
+ r?.value.addControl(u, e.position);
227
+ };
228
+ return (u, l) => C(u.$slots, "default");
229
+ }
230
+ }), F = [
231
+ "load",
232
+ "loadstart",
233
+ "loaderror",
234
+ "unload",
235
+ "statechange",
236
+ "stylechange",
237
+ "collapse",
238
+ "expand",
239
+ "streamingstart",
240
+ "streamingstop",
241
+ "streamingprogress",
242
+ "budgetreached"
243
+ ], ct = /* @__PURE__ */ b({
244
+ __name: "VControlLidar",
245
+ props: {
246
+ options: { default: void 0 },
247
+ position: { default: "top-right" },
248
+ defaultUrl: { default: void 0 }
249
+ },
250
+ emits: F,
251
+ setup(g, { expose: a, emit: e }) {
252
+ const r = {
253
+ collapsed: !0,
254
+ pointSize: 2,
255
+ colorScheme: "elevation",
256
+ pickable: !1,
257
+ autoZoom: !0
258
+ }, i = g, u = e, l = k(S), n = M(null);
259
+ L(async () => {
260
+ await s();
261
+ }), J(() => {
262
+ n.value && l.value && (l.value.removeControl(n.value), n.value = null);
263
+ });
264
+ const s = async () => {
265
+ const { LidarControl: t } = await import("maplibre-gl-lidar");
266
+ n.value = new t(
267
+ i.options || r
268
+ ), l.value.addControl(
269
+ n.value,
270
+ i.position
271
+ ), F.forEach((o) => {
272
+ n.value.on(o, (y) => {
273
+ u(o, y);
274
+ });
275
+ }), i.defaultUrl && n.value.loadPointCloud(i.defaultUrl);
276
+ };
277
+ return a({
278
+ loadPointCloud: (t) => n.value?.loadPointCloud(t),
279
+ unloadPointCloud: (t) => n.value?.unloadPointCloud(t),
280
+ flyToPointCloud: (t) => n.value?.flyToPointCloud(t),
281
+ setPointSize: (t) => n.value?.setPointSize(t),
282
+ setColorScheme: (t) => n.value?.setColorScheme(t),
283
+ setOpacity: (t) => n.value?.setOpacity(t),
284
+ setPickable: (t) => n.value?.setPickable(t),
285
+ setUsePercentile: (t) => n.value?.setUsePercentile(t),
286
+ setElevationRange: (t, o) => n.value?.setElevationRange(t, o),
287
+ clearElevationRange: () => n.value?.clearElevationRange(),
288
+ setZOffset: (t) => n.value?.setZOffset(t),
289
+ setZOffsetEnabled: (t) => n.value?.setZOffsetEnabled(t),
290
+ toggle: () => n.value?.toggle(),
291
+ expand: () => n.value?.expand(),
292
+ collapse: () => n.value?.collapse(),
293
+ getState: () => n.value?.getState(),
294
+ getPointClouds: () => n.value?.getPointClouds(),
295
+ stopStreaming: (t) => n.value?.stopStreaming(t),
296
+ isStreaming: (t) => n.value?.isStreaming(t),
297
+ getControl: () => n.value
298
+ }), () => {
299
+ };
300
+ }
301
+ }), ut = /* @__PURE__ */ b({
302
+ __name: "VLayerMaplibreCanvas",
303
+ props: {
304
+ source: {},
305
+ layer: {},
306
+ sourceId: { default: "maplibre.gl-canvas-source" },
307
+ layerId: { default: "maplibre.gl-canvas-layer" },
308
+ before: { default: "" }
309
+ },
310
+ setup(g) {
311
+ const a = g, e = k(S), r = M(!1), i = () => e.value || null, u = (t) => {
312
+ t && t.on("style.load", () => {
313
+ const o = () => {
314
+ t.isStyleLoaded() ? r.value = !0 : (r.value = !1, setTimeout(o, 200));
315
+ };
316
+ o();
317
+ });
318
+ }, l = () => {
319
+ const t = i();
320
+ if (t)
321
+ try {
322
+ if (t.getSource(a.sourceId) || t.addSource(a.sourceId, a.source), !t.getLayer(a.layerId)) {
323
+ const o = {
324
+ ...a.layer,
325
+ id: a.layerId,
326
+ source: a.sourceId
327
+ };
328
+ t.addLayer(o, a.before);
329
+ }
330
+ } catch (o) {
331
+ console.error("Error adding Canvas layer:", o);
332
+ }
333
+ }, n = () => {
334
+ const t = i();
335
+ if (t)
336
+ try {
337
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId), t.addSource(a.sourceId, a.source);
338
+ const o = {
339
+ ...a.layer,
340
+ id: a.layerId,
341
+ source: a.sourceId
342
+ };
343
+ t.addLayer(o, a.before);
344
+ } catch (o) {
345
+ console.error("Error updating Canvas source:", o);
346
+ }
347
+ }, s = () => {
348
+ const t = i();
349
+ if (t)
350
+ try {
351
+ t.getLayer(a.layerId) && (Object.entries(a.layer.paint || {}).forEach(([o, y]) => {
352
+ t.setPaintProperty(a.layerId, o, y);
353
+ }), Object.entries(a.layer.layout || {}).forEach(([o, y]) => {
354
+ t.setLayoutProperty(a.layerId, o, y);
355
+ }));
356
+ } catch (o) {
357
+ console.error("Error updating Canvas layer:", o);
358
+ }
359
+ };
360
+ return v(() => a.source, n, { deep: !0 }), v(() => a.layer, s, { deep: !0 }), v(
361
+ e,
362
+ (t) => {
363
+ t && u(t);
364
+ },
365
+ { immediate: !0 }
366
+ ), v(r, (t) => {
367
+ t && l();
368
+ }), L(() => {
369
+ i()?.isStyleLoaded() && l();
370
+ }), P(() => {
371
+ const t = i();
372
+ if (t)
373
+ try {
374
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId);
375
+ } catch (o) {
376
+ console.error("Error cleaning up Canvas layer:", o);
377
+ }
378
+ }), (t, o) => C(t.$slots, "default");
379
+ }
380
+ }), gt = /* @__PURE__ */ b({
381
+ __name: "VLayerMaplibreGeojson",
382
+ props: {
383
+ sourceId: { default: "maplibre-gl-geojson-source" },
384
+ layerId: { default: "maplibre-gl-geojson-layer" },
385
+ source: {},
386
+ layer: {},
387
+ before: { default: "" }
388
+ },
389
+ emits: ["on-click"],
390
+ setup(g, { emit: a }) {
391
+ const e = g, r = a, i = k(S), u = M(!1), l = (c) => !c || typeof c == "string" ? !1 : c && typeof c == "object" && "type" in c ? c.type === "FeatureCollection" && "features" in c ? c.features.length > 0 : c.type === "Feature" || c.type === "Point" || c.type === "LineString" || c.type === "Polygon" || c.type === "MultiPoint" || c.type === "MultiLineString" || c.type === "MultiPolygon" : !1, n = () => i.value || null, s = (c) => {
392
+ c && c.on("style.load", () => {
393
+ const m = () => {
394
+ c.isStyleLoaded() ? u.value = !0 : (u.value = !1, setTimeout(m, 200));
395
+ };
396
+ m();
397
+ });
398
+ }, t = () => {
399
+ const c = n();
400
+ if (!(!c || !c.isStyleLoaded())) {
401
+ if (!l(e.source.data)) {
402
+ console.log(
403
+ `[${e.layerId}] Waiting for valid data before adding layer`
404
+ );
405
+ return;
406
+ }
407
+ try {
408
+ if (c.getSource(e.sourceId) || c.addSource(e.sourceId, e.source), !c.getLayer(e.layerId)) {
409
+ const m = {
410
+ ...e.layer,
411
+ id: e.layerId,
412
+ source: e.sourceId
413
+ };
414
+ c.addLayer(m, e.before);
415
+ }
416
+ } catch (m) {
417
+ console.error("Error adding GeoJSON layer:", m);
418
+ }
419
+ }
420
+ }, o = () => {
421
+ const c = n();
422
+ if (c)
423
+ try {
424
+ const m = c.getSource(e.sourceId);
425
+ if (m && "setData" in m) {
426
+ const p = c.getStyle().layers.filter(
427
+ (d) => d.type !== "background" && "source" in d && d.source === e.sourceId
428
+ );
429
+ (p.length === 0 || p[0]?.id === e.layerId) && m.setData(e.source.data);
430
+ } else m || t();
431
+ } catch (m) {
432
+ console.error("Error updating GeoJSON source:", m);
433
+ }
434
+ }, y = () => {
435
+ const c = n();
436
+ if (c)
437
+ try {
438
+ c.getLayer(e.layerId) ? (Object.entries(e.layer.paint || {}).forEach(([m, p]) => {
439
+ c.setPaintProperty(e.layerId, m, p);
440
+ }), Object.entries(e.layer.layout || {}).forEach(([m, p]) => {
441
+ c.setLayoutProperty(e.layerId, m, p);
442
+ })) : t();
443
+ } catch (m) {
444
+ console.error("Error updating GeoJSON layer:", m);
445
+ }
446
+ }, f = (c) => {
447
+ if (c)
448
+ try {
449
+ c.on("click", e.layerId, (m) => {
450
+ m.features && m.features.length > 0 && r("on-click", {
451
+ features: m.features,
452
+ coordinates: m.lngLat
453
+ });
454
+ }), c.on("mouseenter", e.layerId, () => {
455
+ c.getCanvas().style.cursor = "pointer";
456
+ }), c.on("mouseleave", e.layerId, () => {
457
+ c.getCanvas().style.cursor = "";
458
+ });
459
+ } catch (m) {
460
+ console.error("Error in setupLayerEvents:", m);
461
+ }
462
+ };
463
+ return v(
464
+ () => e.source,
465
+ (c, m) => {
466
+ if (l(c?.data) && JSON.stringify(c.data) !== JSON.stringify(m?.data)) {
467
+ const p = n();
468
+ p?.isStyleLoaded() && (p.getSource(e.sourceId) ? o() : t());
469
+ }
470
+ },
471
+ { deep: !0 }
472
+ ), v(() => e.layer, y, { deep: !0 }), v(
473
+ i,
474
+ (c) => {
475
+ c && (s(c), c.isStyleLoaded() && (u.value = !0));
476
+ },
477
+ { immediate: !0 }
478
+ ), v(u, (c) => {
479
+ if (c && l(e.source.data)) {
480
+ const m = n();
481
+ m && (t(), f(m));
482
+ }
483
+ }), v(
484
+ () => e.layer.layout?.visibility,
485
+ (c) => {
486
+ const m = n();
487
+ if (!m || !m.isStyleLoaded()) return;
488
+ const p = m.getLayer(e.layerId);
489
+ if (!p && c === "visible")
490
+ l(e.source.data) && t();
491
+ else if (p)
492
+ try {
493
+ m.setLayoutProperty(
494
+ e.layerId,
495
+ "visibility",
496
+ c
497
+ );
498
+ } catch (d) {
499
+ console.error(
500
+ `Error updating visibility for ${e.layerId}:`,
501
+ d
502
+ );
503
+ }
504
+ },
505
+ { immediate: !0 }
506
+ ), L(() => {
507
+ try {
508
+ n()?.isStyleLoaded() && l(e.source.data) && t();
509
+ } catch (c) {
510
+ console.error("Error adding layer:", c);
511
+ }
512
+ }), P(() => {
513
+ const c = n();
514
+ if (c)
515
+ try {
516
+ c.getLayer(e.layerId) && c.removeLayer(e.layerId), c.getStyle().layers.filter(
517
+ (p) => p.type !== "background" && "source" in p && p.source === e.sourceId
518
+ ).length === 0 && c.getSource(e.sourceId) && c.removeSource(e.sourceId);
519
+ } catch (m) {
520
+ console.error("Error cleaning up GeoJSON layer:", m);
521
+ }
522
+ }), (c, m) => C(c.$slots, "default");
523
+ }
524
+ }), yt = /* @__PURE__ */ b({
525
+ __name: "VLayerMaplibreImage",
526
+ props: {
527
+ sourceId: {
528
+ type: String,
529
+ default: "maplibre.gl-image-source",
530
+ required: !0
531
+ },
532
+ layerId: {
533
+ type: String,
534
+ default: "maplibre.gl-image-layer",
535
+ required: !0
536
+ },
537
+ source: {
538
+ type: Object,
539
+ required: !0
540
+ },
541
+ layer: {
542
+ type: Object,
543
+ default: () => ({}),
544
+ required: !0
545
+ },
546
+ before: {
547
+ type: String,
548
+ default: "",
549
+ required: !1
550
+ }
551
+ },
552
+ setup(g) {
553
+ const a = g, e = k(S), r = M(!1), i = () => e.value || null, u = (t) => {
554
+ t && t.on("style.load", () => {
555
+ const o = () => {
556
+ t.isStyleLoaded() ? r.value = !0 : (r.value = !1, setTimeout(o, 200));
557
+ };
558
+ o();
559
+ });
560
+ }, l = () => {
561
+ const t = i();
562
+ if (t)
563
+ try {
564
+ if (t.getSource(a.sourceId) || t.addSource(a.sourceId, a.source), !t.getLayer(a.layerId)) {
565
+ const o = {
566
+ ...a.layer,
567
+ id: a.layerId,
568
+ source: a.sourceId
569
+ };
570
+ t.addLayer(o, a.before);
571
+ }
572
+ } catch (o) {
573
+ console.error("Error adding Image layer:", o);
574
+ }
575
+ }, n = () => {
576
+ const t = i();
577
+ if (t)
578
+ try {
579
+ const o = t.getSource(a.sourceId);
580
+ if (o)
581
+ if (o.updateImage)
582
+ o.updateImage({
583
+ url: a.source.url,
584
+ coordinates: a.source.coordinates
585
+ });
586
+ else {
587
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId), t.addSource(a.sourceId, a.source);
588
+ const y = {
589
+ ...a.layer,
590
+ id: a.layerId,
591
+ source: a.sourceId
592
+ };
593
+ t.addLayer(y, a.before);
594
+ }
595
+ } catch (o) {
596
+ console.error("Error updating Image source:", o);
597
+ }
598
+ }, s = () => {
599
+ const t = i();
600
+ if (t)
601
+ try {
602
+ t.getLayer(a.layerId) && (Object.entries(a.layer.paint || {}).forEach(([o, y]) => {
603
+ t.setPaintProperty(a.layerId, o, y);
604
+ }), Object.entries(a.layer.layout || {}).forEach(([o, y]) => {
605
+ t.setLayoutProperty(a.layerId, o, y);
606
+ }));
607
+ } catch (o) {
608
+ console.error("Error updating Image layer:", o);
609
+ }
610
+ };
611
+ return v(() => a.source, n, { deep: !0 }), v(() => a.layer, s, { deep: !0 }), v(
612
+ e,
613
+ (t) => {
614
+ t && u(t);
615
+ },
616
+ { immediate: !0 }
617
+ ), v(r, (t) => {
618
+ t && l();
619
+ }), L(() => {
620
+ i()?.isStyleLoaded() && l();
621
+ }), P(() => {
622
+ const t = i();
623
+ if (t)
624
+ try {
625
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId);
626
+ } catch (o) {
627
+ console.error("Error cleaning up Image layer:", o);
628
+ }
629
+ }), (t, o) => C(t.$slots, "default");
630
+ }
631
+ }), je = /* @__PURE__ */ b({
632
+ __name: "VLayerMaplibreRaster",
633
+ props: {
634
+ sourceId: {},
635
+ source: {},
636
+ layerId: {},
637
+ layer: {},
638
+ before: {}
639
+ },
640
+ setup(g) {
641
+ const a = g, e = k(S), r = M(!1), i = () => e.value || null, u = (t) => {
642
+ t && t.on("style.load", () => {
643
+ const o = () => {
644
+ t.isStyleLoaded() ? r.value = !0 : (r.value = !1, setTimeout(o, 200));
645
+ };
646
+ o();
647
+ });
648
+ }, l = () => {
649
+ const t = i();
650
+ if (t)
651
+ try {
652
+ t.getSource(a.sourceId) || t.addSource(a.sourceId, a.source), t.getLayer(a.layerId) || (t.addLayer(a.layer, a.before), a.layer.layout?.visibility && t.setLayoutProperty(
653
+ a.layerId,
654
+ "visibility",
655
+ a.layer.layout.visibility
656
+ ));
657
+ } catch (o) {
658
+ console.error(`[${a.layerId}] Error setting up layer:`, o);
659
+ }
660
+ }, n = () => {
661
+ const t = i();
662
+ if (t)
663
+ try {
664
+ const o = a.before;
665
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.removeSource(a.sourceId), t.addSource(a.sourceId, a.source);
666
+ const y = {
667
+ ...a.layer,
668
+ id: a.layerId,
669
+ type: "raster",
670
+ source: a.sourceId
671
+ };
672
+ o && t.getLayer(o) ? t.addLayer(y, o) : t.addLayer(y);
673
+ } catch (o) {
674
+ console.error("Error updating Raster source:", o);
675
+ }
676
+ }, s = () => {
677
+ const t = i();
678
+ if (t)
679
+ try {
680
+ if (t.getLayer(a.layerId)) {
681
+ const o = a.layer.paint || {};
682
+ Object.entries(o).forEach(([f, c]) => {
683
+ t.setPaintProperty(a.layerId, f, c);
684
+ });
685
+ const y = a.layer.layout || {};
686
+ Object.entries(y).forEach(([f, c]) => {
687
+ t.setLayoutProperty(a.layerId, f, c);
688
+ });
689
+ }
690
+ } catch (o) {
691
+ console.error("Error updating Raster layer:", o);
692
+ }
693
+ };
694
+ return v(
695
+ () => a.source.tiles?.[0],
696
+ // Usually raster sources have a single tile URL
697
+ (t, o) => {
698
+ t !== o && n();
699
+ }
700
+ ), v(() => a.layer, s, { deep: !0 }), v(
701
+ e,
702
+ (t) => {
703
+ t && u(t);
704
+ },
705
+ { immediate: !0 }
706
+ ), v(r, (t) => {
707
+ t && l();
708
+ }), v(
709
+ () => a.layer.layout?.visibility,
710
+ (t) => {
711
+ const o = i();
712
+ if (!o) return;
713
+ if (o.getLayer(a.layerId))
714
+ try {
715
+ o.setLayoutProperty(
716
+ a.layerId,
717
+ "visibility",
718
+ t
719
+ ), t === "visible" && a.before && o.moveLayer(a.layerId, a.before);
720
+ } catch (f) {
721
+ console.error(`[${a.layerId}] Error updating visibility:`, f);
722
+ }
723
+ else
724
+ try {
725
+ o.addLayer(a.layer, a.before);
726
+ } catch (f) {
727
+ console.error(`[${a.layerId}] Error adding layer:`, f);
728
+ }
729
+ },
730
+ { immediate: !0 }
731
+ ), v(
732
+ () => a.before,
733
+ (t) => {
734
+ const o = i();
735
+ if (!(!o || !o.getLayer(a.layerId)) && a.layer.layout?.visibility === "visible")
736
+ try {
737
+ console.log(`[${a.layerId}] Moving layer before:`, t), o.moveLayer(a.layerId, t);
738
+ } catch (y) {
739
+ console.error(`[${a.layerId}] Error moving layer:`, y);
740
+ }
741
+ }
742
+ ), L(() => {
743
+ if (i())
744
+ try {
745
+ l();
746
+ } catch (o) {
747
+ console.error(`[${a.layerId}] Error setting up layer:`, o);
748
+ }
749
+ }), (t, o) => C(t.$slots, "default");
750
+ }
751
+ }), j = [
752
+ "click",
753
+ "dblclick",
754
+ "mousedown",
755
+ "mouseup",
756
+ "mousemove",
757
+ "mouseenter",
758
+ "mouseleave",
759
+ "mouseover",
760
+ "mouseout",
761
+ "contextmenu",
762
+ "touchstart",
763
+ "touchend",
764
+ "touchcancel"
765
+ ], N = [
766
+ "error",
767
+ "load",
768
+ "idle",
769
+ "remove",
770
+ "render",
771
+ "resize",
772
+ "webglcontextlost",
773
+ "webglcontextrestored",
774
+ "dataloading",
775
+ "data",
776
+ "tiledataloading",
777
+ "sourcedataloading",
778
+ "styledataloading",
779
+ "sourcedata",
780
+ "styledata",
781
+ "boxzoomcancel",
782
+ "boxzoomstart",
783
+ "boxzoomend",
784
+ "touchcancel",
785
+ "touchmove",
786
+ "touchend",
787
+ "touchstart",
788
+ "click",
789
+ "contextmenu",
790
+ "dblclick",
791
+ "mousemove",
792
+ "mouseup",
793
+ "mousedown",
794
+ "mouseout",
795
+ "mouseover",
796
+ "movestart",
797
+ "move",
798
+ "moveend",
799
+ "zoomstart",
800
+ "zoom",
801
+ "zoomend",
802
+ "rotatestart",
803
+ "rotate",
804
+ "rotateend",
805
+ "dragstart",
806
+ "drag",
807
+ "dragend",
808
+ "pitchstart",
809
+ "pitch",
810
+ "pitchend",
811
+ "wheel"
812
+ ], G = ["dragstart", "drag", "dragend"], Z = ["click", "mouseenter", "mouseleave"], q = ["open", "close"], pt = /* @__PURE__ */ b({
813
+ __name: "VLayerMaplibreVector",
814
+ props: {
815
+ sourceId: {},
816
+ source: {},
817
+ layerId: {},
818
+ layer: {},
819
+ before: {}
820
+ },
821
+ emits: [...j],
822
+ setup(g, { emit: a }) {
823
+ const e = g, r = a, i = k(S), u = M(!1), l = () => i.value || null, n = (f) => {
824
+ f && f.on("style.load", () => {
825
+ const c = () => {
826
+ f.isStyleLoaded() ? u.value = !0 : (u.value = !1, setTimeout(c, 200));
827
+ };
828
+ c();
829
+ });
830
+ }, s = () => {
831
+ const f = l();
832
+ if (f)
833
+ try {
834
+ f.getSource(e.sourceId) || f.addSource(e.sourceId, e.source), f.getLayer(e.layerId) || (e.layer.layout?.visibility === "visible" ? f.addLayer(e.layer, e.before) : f.addLayer(e.layer));
835
+ } catch (c) {
836
+ console.error(`[${e.layerId}] Error setting up layer:`, c);
837
+ }
838
+ }, t = () => {
839
+ const f = l();
840
+ if (f)
841
+ try {
842
+ const c = f.getSource(e.sourceId);
843
+ if (c && JSON.stringify(c.serialize()) !== JSON.stringify(e.source)) {
844
+ f.getLayer(e.layerId) && f.removeLayer(e.layerId), f.removeSource(e.sourceId), f.addSource(e.sourceId, e.source);
845
+ const m = {
846
+ ...e.layer,
847
+ id: e.layerId,
848
+ source: e.sourceId
849
+ };
850
+ f.addLayer(m, e.before);
851
+ }
852
+ } catch (c) {
853
+ console.error("Error updating vector source:", c);
854
+ }
855
+ }, o = () => {
856
+ const f = l();
857
+ if (f)
858
+ try {
859
+ if (f.getLayer(e.layerId)) {
860
+ const c = f.getLayer(e.layerId), m = c?.paint || {}, p = c?.layout || {};
861
+ Object.entries(e.layer.paint || {}).forEach(([d, h]) => {
862
+ JSON.stringify(m[d]) !== JSON.stringify(h) && f.setPaintProperty(e.layerId, d, h);
863
+ }), Object.entries(e.layer.layout || {}).forEach(([d, h]) => {
864
+ JSON.stringify(p[d]) !== JSON.stringify(h) && f.setLayoutProperty(e.layerId, d, h);
865
+ });
866
+ }
867
+ } catch (c) {
868
+ console.error("Error updating vector layer:", c);
869
+ }
870
+ }, y = (f) => {
871
+ if (f)
872
+ try {
873
+ j.forEach((c) => {
874
+ f.on(c, e.layerId, (m) => {
875
+ c === "mousemove" && (f.getCanvas().style.cursor = "pointer"), c === "mouseleave" && (f.getCanvas().style.cursor = ""), r(c, m);
876
+ });
877
+ });
878
+ } catch (c) {
879
+ console.error("Error setting up layer events:", c);
880
+ }
881
+ };
882
+ return v(
883
+ i,
884
+ (f, c) => {
885
+ f && f !== c && n(f);
886
+ },
887
+ { immediate: !0 }
888
+ ), v(u, (f) => {
889
+ if (f) {
890
+ const c = l();
891
+ if (!c) return;
892
+ s(), y(c);
893
+ }
894
+ }), v(
895
+ () => JSON.stringify(e.source.tiles),
896
+ (f, c) => {
897
+ f !== c && t();
898
+ }
899
+ ), v(
900
+ () => ({
901
+ paint: e.layer.paint,
902
+ // Watch layout changes but exclude visibility since it's handled separately
903
+ layout: e.layer.layout ? { ...e.layer.layout, visibility: void 0 } : void 0
904
+ }),
905
+ (f, c) => {
906
+ JSON.stringify(f) !== JSON.stringify(c) && o();
907
+ },
908
+ { deep: !0 }
909
+ ), v(
910
+ () => e.layer.layout?.visibility,
911
+ (f) => {
912
+ const c = l();
913
+ if (!c) return;
914
+ if (c.getLayer(e.layerId))
915
+ try {
916
+ c.setLayoutProperty(
917
+ e.layerId,
918
+ "visibility",
919
+ f
920
+ ), f === "visible" && e.before && setTimeout(() => {
921
+ c.moveLayer(e.layerId, e.before);
922
+ }, 0);
923
+ } catch (p) {
924
+ console.error(`[${e.layerId}] Error updating visibility:`, p);
925
+ }
926
+ else
927
+ try {
928
+ c.getSource(e.sourceId) || c.addSource(e.sourceId, e.source), c.addLayer(e.layer, e.before);
929
+ } catch (p) {
930
+ console.error(`[${e.layerId}] Error adding layer:`, p);
931
+ }
932
+ },
933
+ { immediate: !0 }
934
+ ), v(
935
+ () => e.before,
936
+ (f) => {
937
+ const c = l();
938
+ if (!(!c || !c.getLayer(e.layerId)) && e.layer.layout?.visibility === "visible")
939
+ try {
940
+ c.moveLayer(e.layerId, f);
941
+ } catch (m) {
942
+ console.error(
943
+ `Error reordering vector layer ${e.layerId}:`,
944
+ m
945
+ );
946
+ }
947
+ }
948
+ ), v(
949
+ () => e.layer.layout?.visibility,
950
+ (f) => {
951
+ const c = l();
952
+ if (!c) return;
953
+ if (c.getLayer(e.layerId))
954
+ try {
955
+ c.setLayoutProperty(
956
+ e.layerId,
957
+ "visibility",
958
+ f
959
+ );
960
+ } catch (p) {
961
+ console.error(`[${e.layerId}] Error updating visibility:`, p);
962
+ }
963
+ else
964
+ try {
965
+ c.getSource(e.sourceId) || c.addSource(e.sourceId, e.source), c.addLayer(e.layer, e.before);
966
+ } catch (p) {
967
+ console.error(`[${e.layerId}] Error adding layer:`, p);
968
+ }
969
+ },
970
+ { immediate: !0 }
971
+ ), L(() => {
972
+ if (l())
973
+ try {
974
+ s();
975
+ } catch (c) {
976
+ console.error(`[${e.layerId}] Error setting up layer:`, c);
977
+ }
978
+ }), (f, c) => C(f.$slots, "default");
979
+ }
980
+ }), ft = /* @__PURE__ */ b({
981
+ __name: "VLayerMaplibreVideo",
982
+ props: {
983
+ sourceId: {
984
+ type: String,
985
+ default: "maplibre.gl-video-source",
986
+ required: !0
987
+ },
988
+ layerId: {
989
+ type: String,
990
+ default: "maplibre.gl-video-layer",
991
+ required: !0
992
+ },
993
+ source: {
994
+ type: Object,
995
+ required: !0
996
+ },
997
+ layer: {
998
+ type: Object,
999
+ default: () => ({}),
1000
+ required: !0
1001
+ },
1002
+ before: {
1003
+ type: String,
1004
+ default: "",
1005
+ required: !1
1006
+ }
1007
+ },
1008
+ setup(g) {
1009
+ const a = g, e = k(S), r = M(!1), i = () => e.value || null, u = (t) => {
1010
+ t && t.on("style.load", () => {
1011
+ const o = () => {
1012
+ t.isStyleLoaded() ? r.value = !0 : (r.value = !1, setTimeout(o, 200));
1013
+ };
1014
+ o();
1015
+ });
1016
+ }, l = () => {
1017
+ const t = i();
1018
+ if (t)
1019
+ try {
1020
+ if (t.getSource(a.sourceId) || t.addSource(a.sourceId, a.source), !t.getLayer(a.layerId)) {
1021
+ const o = {
1022
+ ...a.layer,
1023
+ id: a.layerId,
1024
+ source: a.sourceId
1025
+ };
1026
+ t.addLayer(o, a.before);
1027
+ }
1028
+ } catch (o) {
1029
+ console.error("Error adding Video layer:", o);
1030
+ }
1031
+ }, n = () => {
1032
+ const t = i();
1033
+ if (t)
1034
+ try {
1035
+ const o = t.getSource(a.sourceId);
1036
+ if (o) {
1037
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId), t.addSource(a.sourceId, a.source);
1038
+ const y = {
1039
+ ...a.layer,
1040
+ id: a.layerId,
1041
+ source: a.sourceId
1042
+ };
1043
+ if (t.addLayer(y, a.before), o.getVideo) {
1044
+ const f = o.getVideo();
1045
+ f && f.play().catch((c) => {
1046
+ console.error("Error playing video:", c);
1047
+ });
1048
+ }
1049
+ }
1050
+ } catch (o) {
1051
+ console.error("Error updating Video source:", o);
1052
+ }
1053
+ }, s = () => {
1054
+ const t = i();
1055
+ if (t)
1056
+ try {
1057
+ t.getLayer(a.layerId) && (Object.entries(a.layer.paint || {}).forEach(([o, y]) => {
1058
+ t.setPaintProperty(a.layerId, o, y);
1059
+ }), Object.entries(a.layer.layout || {}).forEach(([o, y]) => {
1060
+ t.setLayoutProperty(a.layerId, o, y);
1061
+ }));
1062
+ } catch (o) {
1063
+ console.error("Error updating Video layer:", o);
1064
+ }
1065
+ };
1066
+ return v(() => a.source, n, { deep: !0 }), v(() => a.layer, s, { deep: !0 }), v(
1067
+ e,
1068
+ (t) => {
1069
+ t && u(t);
1070
+ },
1071
+ { immediate: !0 }
1072
+ ), v(r, (t) => {
1073
+ t && l();
1074
+ }), L(() => {
1075
+ i()?.isStyleLoaded() && l();
1076
+ }), P(() => {
1077
+ const t = i();
1078
+ if (t)
1079
+ try {
1080
+ const o = t.getSource(a.sourceId);
1081
+ if (o?.getVideo) {
1082
+ const y = o.getVideo();
1083
+ y && (y.pause(), y.remove());
1084
+ }
1085
+ t.getLayer(a.layerId) && t.removeLayer(a.layerId), t.getSource(a.sourceId) && t.removeSource(a.sourceId);
1086
+ } catch (o) {
1087
+ console.error("Error cleaning up Video layer:", o);
1088
+ }
1089
+ }), (t, o) => C(t.$slots, "default");
1090
+ }
1091
+ }), ht = /* @__PURE__ */ b({
1092
+ __name: "VLayerMaplibrePmtile",
1093
+ props: {
1094
+ sourceId: {
1095
+ type: String,
1096
+ default: "maplibre.gl-pmtile-source",
1097
+ required: !0
1098
+ },
1099
+ layerId: {
1100
+ type: String,
1101
+ default: "maplibre.gl-pmtile-layer",
1102
+ required: !0
1103
+ },
1104
+ url: {
1105
+ type: String,
1106
+ required: !0
1107
+ },
1108
+ layer: {
1109
+ type: Object,
1110
+ default: () => ({}),
1111
+ required: !0
1112
+ },
1113
+ before: {
1114
+ type: String,
1115
+ default: "",
1116
+ required: !1
1117
+ }
1118
+ },
1119
+ setup(g) {
1120
+ const a = g, e = w(Y);
1121
+ if (!e)
1122
+ throw new Error("Protocol not provided");
1123
+ const r = M({
1124
+ type: "raster",
1125
+ url: `pmtiles://${a.url}`,
1126
+ tileSize: 512,
1127
+ volatile: !0
1128
+ });
1129
+ return L(async () => {
1130
+ const i = new ce(a.url);
1131
+ e.add(i);
1132
+ }), (i, u) => ($(), K(je, {
1133
+ "source-id": g.sourceId,
1134
+ "layer-id": g.layerId,
1135
+ source: r.value,
1136
+ layer: {
1137
+ ...g.layer,
1138
+ type: "raster"
1139
+ },
1140
+ before: g.before
1141
+ }, null, 8, ["source-id", "layer-id", "source", "layer", "before"]));
1142
+ }
1143
+ }), mt = /* @__PURE__ */ b({
1144
+ __name: "VLayerMaplibreCluster",
1145
+ props: {
1146
+ sourceId: { default: "cluster-source" },
1147
+ baseLayerId: { default: "cluster" },
1148
+ source: {},
1149
+ visibility: { type: Boolean, default: !0 },
1150
+ clusterPaint: { default: () => ({
1151
+ colors: ["#51bbd6", "#f1f075", "#f28cb1"],
1152
+ radii: [20, 30, 40]
1153
+ }) },
1154
+ unclusteredPaint: { default: () => ({
1155
+ color: "#51bbd6",
1156
+ radius: 6
1157
+ }) },
1158
+ textPaint: { default: () => ({
1159
+ color: "#ffffff",
1160
+ font: ["DIN Offc Pro Medium", "Arial Unicode MS Bold"],
1161
+ size: 12
1162
+ }) }
1163
+ },
1164
+ emits: ["cluster-click", "point-click"],
1165
+ setup(g, { emit: a }) {
1166
+ const e = g, r = a, i = k(S), u = M(!1), l = z(() => `${e.baseLayerId}-clusters`), n = z(
1167
+ () => `${e.baseLayerId}-cluster-count`
1168
+ ), s = z(
1169
+ () => `${e.baseLayerId}-unclustered-point`
1170
+ ), t = () => i.value || null, o = (d) => typeof d == "string" ? !1 : d && typeof d == "object" && "type" in d && d.type === "FeatureCollection" && "features" in d ? d.features.length > 0 : !1, y = () => {
1171
+ const d = t();
1172
+ if (!(!d || !d.isStyleLoaded()))
1173
+ try {
1174
+ if (!d.getSource(e.sourceId))
1175
+ console.log(`Adding clustered source: ${e.sourceId}`), d.addSource(e.sourceId, {
1176
+ ...e.source,
1177
+ cluster: !0,
1178
+ clusterMaxZoom: 14,
1179
+ clusterRadius: 50
1180
+ });
1181
+ else {
1182
+ const h = d.getSource(e.sourceId);
1183
+ h && "setData" in h && h.setData(e.source.data);
1184
+ }
1185
+ d.getLayer(l.value) || (console.log(`Adding clusters layer: ${l.value}`), d.addLayer({
1186
+ id: l.value,
1187
+ type: "circle",
1188
+ source: e.sourceId,
1189
+ filter: ["has", "point_count"],
1190
+ paint: {
1191
+ "circle-color": [
1192
+ "step",
1193
+ ["get", "point_count"],
1194
+ e.clusterPaint.colors[0],
1195
+ 100,
1196
+ e.clusterPaint.colors[1],
1197
+ 750,
1198
+ e.clusterPaint.colors[2]
1199
+ ],
1200
+ "circle-radius": [
1201
+ "step",
1202
+ ["get", "point_count"],
1203
+ e.clusterPaint.radii[0],
1204
+ 100,
1205
+ e.clusterPaint.radii[1],
1206
+ 750,
1207
+ e.clusterPaint.radii[2]
1208
+ ],
1209
+ "circle-stroke-width": 2,
1210
+ "circle-stroke-color": "#ffffff",
1211
+ "circle-opacity": 0.9
1212
+ },
1213
+ layout: {
1214
+ visibility: e.visibility ? "visible" : "none"
1215
+ }
1216
+ })), d.getLayer(n.value) || (console.log(`Adding cluster count layer: ${n.value}`), d.addLayer({
1217
+ id: n.value,
1218
+ type: "symbol",
1219
+ source: e.sourceId,
1220
+ filter: ["has", "point_count"],
1221
+ layout: {
1222
+ "text-field": "{point_count_abbreviated}",
1223
+ "text-font": e.textPaint.font,
1224
+ "text-size": e.textPaint.size,
1225
+ visibility: e.visibility ? "visible" : "none"
1226
+ },
1227
+ paint: {
1228
+ "text-color": e.textPaint.color
1229
+ }
1230
+ })), d.getLayer(s.value) || (console.log(
1231
+ `Adding unclustered points layer: ${s.value}`
1232
+ ), d.addLayer({
1233
+ id: s.value,
1234
+ type: "circle",
1235
+ source: e.sourceId,
1236
+ filter: ["!", ["has", "point_count"]],
1237
+ paint: {
1238
+ "circle-color": e.unclusteredPaint.color,
1239
+ "circle-radius": e.unclusteredPaint.radius,
1240
+ "circle-stroke-width": 2,
1241
+ "circle-stroke-color": "#ffffff",
1242
+ "circle-opacity": 0.95
1243
+ },
1244
+ layout: {
1245
+ visibility: e.visibility ? "visible" : "none"
1246
+ }
1247
+ })), console.log(`All cluster layers added for ${e.baseLayerId}`), m(d);
1248
+ } catch (h) {
1249
+ console.error("Error adding cluster layers:", h);
1250
+ }
1251
+ }, f = () => {
1252
+ const d = t();
1253
+ if (d)
1254
+ try {
1255
+ const h = d.getSource(e.sourceId);
1256
+ h && "setData" in h ? (console.log(`Updating source ${e.sourceId} with data`), h.setData(e.source.data), setTimeout(() => {
1257
+ y();
1258
+ }, 100)) : h || y();
1259
+ } catch (h) {
1260
+ console.error("Error updating source:", h);
1261
+ }
1262
+ }, c = (d) => {
1263
+ const h = t();
1264
+ if (!h) return;
1265
+ const B = d ? "visible" : "none";
1266
+ [
1267
+ l.value,
1268
+ n.value,
1269
+ s.value
1270
+ ].forEach((x) => {
1271
+ h.getLayer(x) && h.setLayoutProperty(x, "visibility", B);
1272
+ });
1273
+ }, m = (d) => {
1274
+ if (d)
1275
+ try {
1276
+ d.on(
1277
+ "click",
1278
+ l.value,
1279
+ (h) => {
1280
+ h.features && h.features.length > 0 && r("cluster-click", {
1281
+ features: h.features,
1282
+ coordinates: h.lngLat
1283
+ });
1284
+ }
1285
+ ), d.on(
1286
+ "click",
1287
+ s.value,
1288
+ (h) => {
1289
+ h.features && h.features.length > 0 && r("point-click", {
1290
+ features: h.features,
1291
+ coordinates: h.lngLat
1292
+ });
1293
+ }
1294
+ ), [l.value, s.value].forEach((h) => {
1295
+ d.on("mouseenter", h, () => {
1296
+ d.getCanvas().style.cursor = "pointer";
1297
+ }), d.on("mouseleave", h, () => {
1298
+ d.getCanvas().style.cursor = "";
1299
+ });
1300
+ });
1301
+ } catch (h) {
1302
+ console.error("Error setting up layer events:", h);
1303
+ }
1304
+ }, p = (d) => {
1305
+ d && (d.on("style.load", () => {
1306
+ const h = () => {
1307
+ d.isStyleLoaded() ? (u.value = !0, o(e.source.data) && y()) : (u.value = !1, setTimeout(h, 200));
1308
+ };
1309
+ h();
1310
+ }), d.isStyleLoaded() && (u.value = !0, o(e.source.data) && y()));
1311
+ };
1312
+ return v(
1313
+ () => e.source.data,
1314
+ (d) => {
1315
+ if (o(d)) {
1316
+ const h = t();
1317
+ h?.isStyleLoaded() && (h.getSource(e.sourceId) ? f() : y());
1318
+ }
1319
+ },
1320
+ { deep: !0, immediate: !0 }
1321
+ ), v(() => e.visibility, c), v(
1322
+ i,
1323
+ (d) => {
1324
+ d && p(d);
1325
+ },
1326
+ { immediate: !0 }
1327
+ ), L(() => {
1328
+ t()?.isStyleLoaded() && o(e.source.data) && y();
1329
+ }), P(() => {
1330
+ const d = t();
1331
+ if (d)
1332
+ try {
1333
+ [l.value, s.value].forEach((h) => {
1334
+ d.off("click", h, () => {
1335
+ }), d.off("mouseenter", h, () => {
1336
+ }), d.off("mouseleave", h, () => {
1337
+ });
1338
+ }), [
1339
+ l.value,
1340
+ n.value,
1341
+ s.value
1342
+ ].forEach((h) => {
1343
+ d.getLayer(h) && d.removeLayer(h);
1344
+ }), d.getSource(e.sourceId) && d.removeSource(e.sourceId);
1345
+ } catch (h) {
1346
+ console.error("Error cleaning up cluster layers:", h);
1347
+ }
1348
+ }), (d, h) => C(d.$slots, "default");
1349
+ }
1350
+ }), vt = /* @__PURE__ */ b({
1351
+ __name: "VLayerMaplibreRoute",
1352
+ props: {
1353
+ id: { default: () => `route-${Math.random().toString(36).slice(2, 9)}` },
1354
+ coordinates: {},
1355
+ color: { default: "#4285F4" },
1356
+ width: { default: 4 },
1357
+ opacity: { default: 1 },
1358
+ lineCap: { default: "round" },
1359
+ lineJoin: { default: "round" },
1360
+ visible: { type: Boolean, default: !0 },
1361
+ interactive: { type: Boolean, default: !0 },
1362
+ before: { default: "" },
1363
+ dashArray: {},
1364
+ blur: { default: 0 }
1365
+ },
1366
+ emits: ["click", "mouseenter", "mouseleave"],
1367
+ setup(g, { emit: a }) {
1368
+ const e = g, r = a, i = k(S), u = M(!1), l = z(() => `${e.id}-source`), n = z(() => `${e.id}-layer`), s = z(
1369
+ () => ({
1370
+ type: "FeatureCollection",
1371
+ features: e.coordinates.length >= 2 ? [
1372
+ {
1373
+ type: "Feature",
1374
+ properties: {},
1375
+ geometry: {
1376
+ type: "LineString",
1377
+ coordinates: e.coordinates
1378
+ }
1379
+ }
1380
+ ] : []
1381
+ })
1382
+ ), t = () => i.value || null, o = (p) => {
1383
+ p && p.on("style.load", () => {
1384
+ const d = () => {
1385
+ p.isStyleLoaded() ? u.value = !0 : (u.value = !1, setTimeout(d, 200));
1386
+ };
1387
+ d();
1388
+ });
1389
+ }, y = () => {
1390
+ const p = t();
1391
+ if (!(!p || !p.isStyleLoaded()) && !(e.coordinates.length < 2))
1392
+ try {
1393
+ if (p.getSource(l.value) || p.addSource(l.value, {
1394
+ type: "geojson",
1395
+ data: s.value
1396
+ }), !p.getLayer(n.value)) {
1397
+ const d = {
1398
+ id: n.value,
1399
+ type: "line",
1400
+ source: l.value,
1401
+ layout: {
1402
+ "line-cap": e.lineCap,
1403
+ "line-join": e.lineJoin,
1404
+ visibility: e.visible ? "visible" : "none"
1405
+ },
1406
+ paint: {
1407
+ "line-color": e.color,
1408
+ "line-width": e.width,
1409
+ "line-opacity": e.opacity,
1410
+ ...e.blur > 0 && { "line-blur": e.blur },
1411
+ ...e.dashArray && { "line-dasharray": e.dashArray }
1412
+ }
1413
+ };
1414
+ p.addLayer(d, e.before || void 0);
1415
+ }
1416
+ } catch (d) {
1417
+ console.error("Error adding route layer:", d);
1418
+ }
1419
+ }, f = () => {
1420
+ const p = t();
1421
+ if (p)
1422
+ try {
1423
+ const d = p.getSource(l.value);
1424
+ d && "setData" in d ? d.setData(s.value) : !d && e.coordinates.length >= 2 && y();
1425
+ } catch (d) {
1426
+ console.error("Error updating route source:", d);
1427
+ }
1428
+ }, c = () => {
1429
+ const p = t();
1430
+ if (!(!p || !p.getLayer(n.value)))
1431
+ try {
1432
+ p.setPaintProperty(n.value, "line-color", e.color), p.setPaintProperty(n.value, "line-width", e.width), p.setPaintProperty(
1433
+ n.value,
1434
+ "line-opacity",
1435
+ e.opacity
1436
+ ), e.blur > 0 && p.setPaintProperty(n.value, "line-blur", e.blur), e.dashArray && p.setPaintProperty(
1437
+ n.value,
1438
+ "line-dasharray",
1439
+ e.dashArray
1440
+ ), p.setLayoutProperty(n.value, "line-cap", e.lineCap), p.setLayoutProperty(n.value, "line-join", e.lineJoin), p.setLayoutProperty(
1441
+ n.value,
1442
+ "visibility",
1443
+ e.visible ? "visible" : "none"
1444
+ );
1445
+ } catch (d) {
1446
+ console.error("Error updating route layer style:", d);
1447
+ }
1448
+ }, m = (p) => {
1449
+ if (!(!p || !e.interactive))
1450
+ try {
1451
+ p.on("click", n.value, (d) => {
1452
+ r("click", {
1453
+ coordinates: d.lngLat
1454
+ });
1455
+ }), p.on("mouseenter", n.value, () => {
1456
+ p.getCanvas().style.cursor = "pointer", r("mouseenter");
1457
+ }), p.on("mouseleave", n.value, () => {
1458
+ p.getCanvas().style.cursor = "", r("mouseleave");
1459
+ });
1460
+ } catch (d) {
1461
+ console.error("Error setting up route layer events:", d);
1462
+ }
1463
+ };
1464
+ return v(
1465
+ () => e.coordinates,
1466
+ () => {
1467
+ const p = t();
1468
+ p?.isStyleLoaded() && (p.getSource(l.value) ? f() : y());
1469
+ },
1470
+ { deep: !0 }
1471
+ ), v(
1472
+ () => [
1473
+ e.color,
1474
+ e.width,
1475
+ e.opacity,
1476
+ e.lineCap,
1477
+ e.lineJoin,
1478
+ e.visible,
1479
+ e.blur,
1480
+ e.dashArray
1481
+ ],
1482
+ () => c(),
1483
+ { deep: !0 }
1484
+ ), v(
1485
+ i,
1486
+ (p) => {
1487
+ p && (o(p), p.isStyleLoaded() && (u.value = !0));
1488
+ },
1489
+ { immediate: !0 }
1490
+ ), v(u, (p) => {
1491
+ if (p && e.coordinates.length >= 2) {
1492
+ const d = t();
1493
+ d && (y(), m(d));
1494
+ }
1495
+ }), L(() => {
1496
+ try {
1497
+ const p = t();
1498
+ p?.isStyleLoaded() && e.coordinates.length >= 2 && (y(), m(p));
1499
+ } catch (p) {
1500
+ console.error("Error mounting route layer:", p);
1501
+ }
1502
+ }), P(() => {
1503
+ const p = t();
1504
+ if (p)
1505
+ try {
1506
+ p.getLayer(n.value) && p.removeLayer(n.value), p.getSource(l.value) && p.removeSource(l.value);
1507
+ } catch (d) {
1508
+ console.error("Error cleaning up route layer:", d);
1509
+ }
1510
+ }), (p, d) => C(p.$slots, "default");
1511
+ }
1512
+ }), bt = /* @__PURE__ */ b({
1513
+ __name: "VLayerDeckglScatterplot",
1514
+ props: {
1515
+ id: {},
1516
+ data: {},
1517
+ getPosition: {},
1518
+ getRadius: {},
1519
+ getFillColor: {},
1520
+ getLineColor: {},
1521
+ getLineWidth: {},
1522
+ radiusUnits: { default: "meters" },
1523
+ radiusScale: { default: 1 },
1524
+ radiusMinPixels: { default: 0 },
1525
+ radiusMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1526
+ lineWidthUnits: { default: "meters" },
1527
+ lineWidthScale: { default: 1 },
1528
+ lineWidthMinPixels: { default: 0 },
1529
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1530
+ stroked: { type: Boolean, default: !1 },
1531
+ filled: { type: Boolean, default: !0 },
1532
+ billboard: { type: Boolean, default: !1 },
1533
+ antialiasing: { type: Boolean, default: !0 },
1534
+ opacity: { default: 1 },
1535
+ visible: { type: Boolean, default: !0 },
1536
+ pickable: { type: Boolean, default: !0 },
1537
+ autoHighlight: { type: Boolean, default: !1 },
1538
+ highlightColor: {},
1539
+ beforeId: {}
1540
+ },
1541
+ emits: ["click", "hover"],
1542
+ setup(g, { emit: a }) {
1543
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new ge({
1544
+ id: e.id,
1545
+ data: e.data,
1546
+ getPosition: e.getPosition,
1547
+ getRadius: e.getRadius ?? 1,
1548
+ getFillColor: e.getFillColor ?? [255, 140, 0],
1549
+ getLineColor: e.getLineColor ?? [0, 0, 0],
1550
+ getLineWidth: e.getLineWidth ?? 1,
1551
+ radiusUnits: e.radiusUnits,
1552
+ radiusScale: e.radiusScale,
1553
+ radiusMinPixels: e.radiusMinPixels,
1554
+ radiusMaxPixels: e.radiusMaxPixels,
1555
+ lineWidthUnits: e.lineWidthUnits,
1556
+ lineWidthScale: e.lineWidthScale,
1557
+ lineWidthMinPixels: e.lineWidthMinPixels,
1558
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
1559
+ stroked: e.stroked,
1560
+ filled: e.filled,
1561
+ billboard: e.billboard,
1562
+ antialiasing: e.antialiasing,
1563
+ opacity: e.opacity,
1564
+ visible: e.visible,
1565
+ pickable: e.pickable,
1566
+ autoHighlight: e.autoHighlight,
1567
+ highlightColor: e.highlightColor,
1568
+ beforeId: e.beforeId,
1569
+ onClick: (o) => r("click", o),
1570
+ onHover: (o) => r("hover", o)
1571
+ }), t = () => {
1572
+ u(s());
1573
+ };
1574
+ return L(() => {
1575
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1576
+ }), v(
1577
+ () => [
1578
+ e.data,
1579
+ e.getPosition,
1580
+ e.getRadius,
1581
+ e.getFillColor,
1582
+ e.getLineColor,
1583
+ e.radiusScale,
1584
+ e.opacity,
1585
+ e.visible,
1586
+ e.stroked,
1587
+ e.filled
1588
+ ],
1589
+ () => n(e.id, s()),
1590
+ { deep: !0 }
1591
+ ), P(() => {
1592
+ l(e.id);
1593
+ }), (o, y) => C(o.$slots, "default");
1594
+ }
1595
+ }), Lt = /* @__PURE__ */ b({
1596
+ __name: "VLayerDeckglArc",
1597
+ props: {
1598
+ id: {},
1599
+ data: {},
1600
+ getSourcePosition: {},
1601
+ getTargetPosition: {},
1602
+ getSourceColor: {},
1603
+ getTargetColor: {},
1604
+ getWidth: {},
1605
+ getHeight: {},
1606
+ getTilt: {},
1607
+ greatCircle: { type: Boolean, default: !1 },
1608
+ numSegments: { default: 50 },
1609
+ widthUnits: { default: "pixels" },
1610
+ widthScale: { default: 1 },
1611
+ widthMinPixels: { default: 0 },
1612
+ widthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1613
+ opacity: { default: 1 },
1614
+ visible: { type: Boolean, default: !0 },
1615
+ pickable: { type: Boolean, default: !0 },
1616
+ autoHighlight: { type: Boolean, default: !1 },
1617
+ highlightColor: {},
1618
+ beforeId: {}
1619
+ },
1620
+ emits: ["click", "hover"],
1621
+ setup(g, { emit: a }) {
1622
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new ye({
1623
+ id: e.id,
1624
+ data: e.data,
1625
+ getSourcePosition: e.getSourcePosition,
1626
+ getTargetPosition: e.getTargetPosition,
1627
+ getSourceColor: e.getSourceColor ?? [255, 140, 0],
1628
+ getTargetColor: e.getTargetColor ?? [0, 200, 255],
1629
+ getWidth: e.getWidth ?? 1,
1630
+ getHeight: e.getHeight ?? 1,
1631
+ getTilt: e.getTilt ?? 0,
1632
+ greatCircle: e.greatCircle,
1633
+ numSegments: e.numSegments,
1634
+ widthUnits: e.widthUnits,
1635
+ widthScale: e.widthScale,
1636
+ widthMinPixels: e.widthMinPixels,
1637
+ widthMaxPixels: e.widthMaxPixels,
1638
+ opacity: e.opacity,
1639
+ visible: e.visible,
1640
+ pickable: e.pickable,
1641
+ autoHighlight: e.autoHighlight,
1642
+ highlightColor: e.highlightColor,
1643
+ beforeId: e.beforeId,
1644
+ onClick: (o) => r("click", o),
1645
+ onHover: (o) => r("hover", o)
1646
+ }), t = () => {
1647
+ u(s());
1648
+ };
1649
+ return L(() => {
1650
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1651
+ }), v(
1652
+ () => [
1653
+ e.data,
1654
+ e.getSourcePosition,
1655
+ e.getTargetPosition,
1656
+ e.getSourceColor,
1657
+ e.getTargetColor,
1658
+ e.opacity,
1659
+ e.visible
1660
+ ],
1661
+ () => n(e.id, s()),
1662
+ { deep: !0 }
1663
+ ), P(() => {
1664
+ l(e.id);
1665
+ }), (o, y) => C(o.$slots, "default");
1666
+ }
1667
+ }), St = /* @__PURE__ */ b({
1668
+ __name: "VLayerDeckglGeojson",
1669
+ props: {
1670
+ id: {},
1671
+ data: {},
1672
+ getFillColor: {},
1673
+ getLineColor: {},
1674
+ getLineWidth: {},
1675
+ getPointRadius: {},
1676
+ getElevation: {},
1677
+ getText: {},
1678
+ filled: { type: Boolean, default: !0 },
1679
+ stroked: { type: Boolean, default: !0 },
1680
+ extruded: { type: Boolean, default: !1 },
1681
+ wireframe: { type: Boolean, default: !1 },
1682
+ pointType: { default: "circle" },
1683
+ lineWidthUnits: { default: "meters" },
1684
+ lineWidthScale: { default: 1 },
1685
+ lineWidthMinPixels: { default: 0 },
1686
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1687
+ lineJointRounded: { type: Boolean, default: !1 },
1688
+ lineCapRounded: { type: Boolean, default: !1 },
1689
+ lineMiterLimit: { default: 4 },
1690
+ pointRadiusUnits: { default: "meters" },
1691
+ pointRadiusScale: { default: 1 },
1692
+ pointRadiusMinPixels: { default: 0 },
1693
+ pointRadiusMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1694
+ elevationScale: { default: 1 },
1695
+ material: { type: [Boolean, Object] },
1696
+ opacity: { default: 1 },
1697
+ visible: { type: Boolean, default: !0 },
1698
+ pickable: { type: Boolean, default: !0 },
1699
+ autoHighlight: { type: Boolean, default: !1 },
1700
+ highlightColor: {},
1701
+ beforeId: {}
1702
+ },
1703
+ emits: ["click", "hover"],
1704
+ setup(g, { emit: a }) {
1705
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new pe({
1706
+ id: e.id,
1707
+ data: e.data,
1708
+ getFillColor: e.getFillColor ?? [200, 200, 200, 200],
1709
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
1710
+ getLineWidth: e.getLineWidth ?? 1,
1711
+ getPointRadius: e.getPointRadius ?? 1,
1712
+ getElevation: e.getElevation ?? 1e3,
1713
+ getText: e.getText,
1714
+ filled: e.filled,
1715
+ stroked: e.stroked,
1716
+ extruded: e.extruded,
1717
+ wireframe: e.wireframe,
1718
+ pointType: e.pointType,
1719
+ lineWidthUnits: e.lineWidthUnits,
1720
+ lineWidthScale: e.lineWidthScale,
1721
+ lineWidthMinPixels: e.lineWidthMinPixels,
1722
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
1723
+ lineJointRounded: e.lineJointRounded,
1724
+ lineCapRounded: e.lineCapRounded,
1725
+ lineMiterLimit: e.lineMiterLimit,
1726
+ pointRadiusUnits: e.pointRadiusUnits,
1727
+ pointRadiusScale: e.pointRadiusScale,
1728
+ pointRadiusMinPixels: e.pointRadiusMinPixels,
1729
+ pointRadiusMaxPixels: e.pointRadiusMaxPixels,
1730
+ elevationScale: e.elevationScale,
1731
+ material: e.material,
1732
+ opacity: e.opacity,
1733
+ visible: e.visible,
1734
+ pickable: e.pickable,
1735
+ autoHighlight: e.autoHighlight,
1736
+ highlightColor: e.highlightColor,
1737
+ beforeId: e.beforeId,
1738
+ onClick: (o) => r("click", o),
1739
+ onHover: (o) => r("hover", o)
1740
+ }), t = () => {
1741
+ u(s());
1742
+ };
1743
+ return L(() => {
1744
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1745
+ }), v(
1746
+ () => [
1747
+ e.data,
1748
+ e.getFillColor,
1749
+ e.getLineColor,
1750
+ e.opacity,
1751
+ e.visible,
1752
+ e.extruded
1753
+ ],
1754
+ () => n(e.id, s()),
1755
+ { deep: !0 }
1756
+ ), P(() => {
1757
+ l(e.id);
1758
+ }), (o, y) => C(o.$slots, "default");
1759
+ }
1760
+ }), Ct = /* @__PURE__ */ b({
1761
+ __name: "VLayerDeckglPath",
1762
+ props: {
1763
+ id: {},
1764
+ data: {},
1765
+ getPath: {},
1766
+ getColor: {},
1767
+ getWidth: {},
1768
+ widthUnits: { default: "meters" },
1769
+ widthScale: { default: 1 },
1770
+ widthMinPixels: { default: 0 },
1771
+ widthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1772
+ capRounded: { type: Boolean, default: !1 },
1773
+ jointRounded: { type: Boolean, default: !1 },
1774
+ billboard: { type: Boolean, default: !1 },
1775
+ miterLimit: { default: 4 },
1776
+ opacity: { default: 1 },
1777
+ visible: { type: Boolean, default: !0 },
1778
+ pickable: { type: Boolean, default: !0 },
1779
+ autoHighlight: { type: Boolean, default: !1 },
1780
+ highlightColor: {},
1781
+ beforeId: {}
1782
+ },
1783
+ emits: ["click", "hover"],
1784
+ setup(g, { emit: a }) {
1785
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new fe({
1786
+ id: e.id,
1787
+ data: e.data,
1788
+ getPath: e.getPath,
1789
+ getColor: e.getColor ?? [0, 0, 0, 255],
1790
+ getWidth: e.getWidth ?? 1,
1791
+ widthUnits: e.widthUnits,
1792
+ widthScale: e.widthScale,
1793
+ widthMinPixels: e.widthMinPixels,
1794
+ widthMaxPixels: e.widthMaxPixels,
1795
+ capRounded: e.capRounded,
1796
+ jointRounded: e.jointRounded,
1797
+ billboard: e.billboard,
1798
+ miterLimit: e.miterLimit,
1799
+ opacity: e.opacity,
1800
+ visible: e.visible,
1801
+ pickable: e.pickable,
1802
+ autoHighlight: e.autoHighlight,
1803
+ highlightColor: e.highlightColor,
1804
+ beforeId: e.beforeId,
1805
+ onClick: (o) => r("click", o),
1806
+ onHover: (o) => r("hover", o)
1807
+ }), t = () => {
1808
+ u(s());
1809
+ };
1810
+ return L(() => {
1811
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1812
+ }), v(
1813
+ () => [
1814
+ e.data,
1815
+ e.getPath,
1816
+ e.getColor,
1817
+ e.opacity,
1818
+ e.visible
1819
+ ],
1820
+ () => n(e.id, s()),
1821
+ { deep: !0 }
1822
+ ), P(() => {
1823
+ l(e.id);
1824
+ }), (o, y) => C(o.$slots, "default");
1825
+ }
1826
+ }), kt = /* @__PURE__ */ b({
1827
+ __name: "VLayerDeckglLine",
1828
+ props: {
1829
+ id: {},
1830
+ data: {},
1831
+ getSourcePosition: {},
1832
+ getTargetPosition: {},
1833
+ getColor: {},
1834
+ getWidth: {},
1835
+ widthUnits: { default: "pixels" },
1836
+ widthScale: { default: 1 },
1837
+ widthMinPixels: { default: 0 },
1838
+ widthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1839
+ opacity: { default: 1 },
1840
+ visible: { type: Boolean, default: !0 },
1841
+ pickable: { type: Boolean, default: !0 },
1842
+ autoHighlight: { type: Boolean, default: !1 },
1843
+ highlightColor: {},
1844
+ beforeId: {}
1845
+ },
1846
+ emits: ["click", "hover"],
1847
+ setup(g, { emit: a }) {
1848
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new he({
1849
+ id: e.id,
1850
+ data: e.data,
1851
+ getSourcePosition: e.getSourcePosition,
1852
+ getTargetPosition: e.getTargetPosition,
1853
+ getColor: e.getColor ?? [0, 0, 0, 255],
1854
+ getWidth: e.getWidth ?? 1,
1855
+ widthUnits: e.widthUnits,
1856
+ widthScale: e.widthScale,
1857
+ widthMinPixels: e.widthMinPixels,
1858
+ widthMaxPixels: e.widthMaxPixels,
1859
+ opacity: e.opacity,
1860
+ visible: e.visible,
1861
+ pickable: e.pickable,
1862
+ autoHighlight: e.autoHighlight,
1863
+ highlightColor: e.highlightColor,
1864
+ beforeId: e.beforeId,
1865
+ onClick: (o) => r("click", o),
1866
+ onHover: (o) => r("hover", o)
1867
+ }), t = () => {
1868
+ u(s());
1869
+ };
1870
+ return L(() => {
1871
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1872
+ }), v(
1873
+ () => [
1874
+ e.data,
1875
+ e.getSourcePosition,
1876
+ e.getTargetPosition,
1877
+ e.getColor,
1878
+ e.opacity,
1879
+ e.visible
1880
+ ],
1881
+ () => n(e.id, s()),
1882
+ { deep: !0 }
1883
+ ), P(() => {
1884
+ l(e.id);
1885
+ }), (o, y) => C(o.$slots, "default");
1886
+ }
1887
+ }), Pt = /* @__PURE__ */ b({
1888
+ __name: "VLayerDeckglPolygon",
1889
+ props: {
1890
+ id: {},
1891
+ data: {},
1892
+ getPolygon: {},
1893
+ getFillColor: {},
1894
+ getLineColor: {},
1895
+ getLineWidth: {},
1896
+ getElevation: {},
1897
+ filled: { type: Boolean, default: !0 },
1898
+ stroked: { type: Boolean, default: !0 },
1899
+ extruded: { type: Boolean, default: !1 },
1900
+ wireframe: { type: Boolean, default: !1 },
1901
+ elevationScale: { default: 1 },
1902
+ lineWidthUnits: { default: "meters" },
1903
+ lineWidthScale: { default: 1 },
1904
+ lineWidthMinPixels: { default: 0 },
1905
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
1906
+ lineJointRounded: { type: Boolean, default: !1 },
1907
+ lineMiterLimit: { default: 4 },
1908
+ material: { type: [Boolean, Object] },
1909
+ opacity: { default: 1 },
1910
+ visible: { type: Boolean, default: !0 },
1911
+ pickable: { type: Boolean, default: !0 },
1912
+ autoHighlight: { type: Boolean, default: !1 },
1913
+ highlightColor: {},
1914
+ beforeId: {}
1915
+ },
1916
+ emits: ["click", "hover"],
1917
+ setup(g, { emit: a }) {
1918
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new me({
1919
+ id: e.id,
1920
+ data: e.data,
1921
+ getPolygon: e.getPolygon,
1922
+ getFillColor: e.getFillColor ?? [200, 200, 200, 200],
1923
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
1924
+ getLineWidth: e.getLineWidth ?? 1,
1925
+ getElevation: e.getElevation ?? 1e3,
1926
+ filled: e.filled,
1927
+ stroked: e.stroked,
1928
+ extruded: e.extruded,
1929
+ wireframe: e.wireframe,
1930
+ elevationScale: e.elevationScale,
1931
+ lineWidthUnits: e.lineWidthUnits,
1932
+ lineWidthScale: e.lineWidthScale,
1933
+ lineWidthMinPixels: e.lineWidthMinPixels,
1934
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
1935
+ lineJointRounded: e.lineJointRounded,
1936
+ lineMiterLimit: e.lineMiterLimit,
1937
+ material: e.material,
1938
+ opacity: e.opacity,
1939
+ visible: e.visible,
1940
+ pickable: e.pickable,
1941
+ autoHighlight: e.autoHighlight,
1942
+ highlightColor: e.highlightColor,
1943
+ beforeId: e.beforeId,
1944
+ onClick: (o) => r("click", o),
1945
+ onHover: (o) => r("hover", o)
1946
+ }), t = () => {
1947
+ u(s());
1948
+ };
1949
+ return L(() => {
1950
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
1951
+ }), v(
1952
+ () => [
1953
+ e.data,
1954
+ e.getPolygon,
1955
+ e.getFillColor,
1956
+ e.getLineColor,
1957
+ e.opacity,
1958
+ e.visible,
1959
+ e.extruded
1960
+ ],
1961
+ () => n(e.id, s()),
1962
+ { deep: !0 }
1963
+ ), P(() => {
1964
+ l(e.id);
1965
+ }), (o, y) => C(o.$slots, "default");
1966
+ }
1967
+ }), xt = /* @__PURE__ */ b({
1968
+ __name: "VLayerDeckglSolidPolygon",
1969
+ props: {
1970
+ id: {},
1971
+ data: {},
1972
+ getPolygon: {},
1973
+ getFillColor: {},
1974
+ getLineColor: {},
1975
+ getElevation: {},
1976
+ filled: { type: Boolean, default: !0 },
1977
+ extruded: { type: Boolean, default: !1 },
1978
+ wireframe: { type: Boolean, default: !1 },
1979
+ elevationScale: { default: 1 },
1980
+ material: { type: [Boolean, Object] },
1981
+ opacity: { default: 1 },
1982
+ visible: { type: Boolean, default: !0 },
1983
+ pickable: { type: Boolean, default: !0 },
1984
+ autoHighlight: { type: Boolean, default: !1 },
1985
+ highlightColor: {},
1986
+ beforeId: {}
1987
+ },
1988
+ emits: ["click", "hover"],
1989
+ setup(g, { emit: a }) {
1990
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new ve({
1991
+ id: e.id,
1992
+ data: e.data,
1993
+ getPolygon: e.getPolygon,
1994
+ getFillColor: e.getFillColor ?? [0, 0, 0, 255],
1995
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
1996
+ getElevation: e.getElevation ?? 1e3,
1997
+ filled: e.filled,
1998
+ extruded: e.extruded,
1999
+ wireframe: e.wireframe,
2000
+ elevationScale: e.elevationScale,
2001
+ material: e.material,
2002
+ opacity: e.opacity,
2003
+ visible: e.visible,
2004
+ pickable: e.pickable,
2005
+ autoHighlight: e.autoHighlight,
2006
+ highlightColor: e.highlightColor,
2007
+ beforeId: e.beforeId,
2008
+ onClick: (o) => r("click", o),
2009
+ onHover: (o) => r("hover", o)
2010
+ }), t = () => {
2011
+ u(s());
2012
+ };
2013
+ return L(() => {
2014
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2015
+ }), v(
2016
+ () => [
2017
+ e.data,
2018
+ e.getPolygon,
2019
+ e.getFillColor,
2020
+ e.getElevation,
2021
+ e.extruded,
2022
+ e.elevationScale,
2023
+ e.opacity,
2024
+ e.visible
2025
+ ],
2026
+ () => n(e.id, s()),
2027
+ { deep: !0 }
2028
+ ), P(() => {
2029
+ l(e.id);
2030
+ }), (o, y) => C(o.$slots, "default");
2031
+ }
2032
+ }), It = /* @__PURE__ */ b({
2033
+ __name: "VLayerDeckglIcon",
2034
+ props: {
2035
+ id: {},
2036
+ data: {},
2037
+ getPosition: {},
2038
+ getIcon: {},
2039
+ getSize: {},
2040
+ getColor: {},
2041
+ getAngle: {},
2042
+ iconAtlas: {},
2043
+ iconMapping: {},
2044
+ sizeScale: { default: 1 },
2045
+ sizeUnits: { default: "pixels" },
2046
+ sizeMinPixels: { default: 0 },
2047
+ sizeMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2048
+ billboard: { type: Boolean, default: !0 },
2049
+ alphaCutoff: { default: 0.05 },
2050
+ opacity: { default: 1 },
2051
+ visible: { type: Boolean, default: !0 },
2052
+ pickable: { type: Boolean, default: !0 },
2053
+ autoHighlight: { type: Boolean, default: !1 },
2054
+ highlightColor: {},
2055
+ beforeId: {}
2056
+ },
2057
+ emits: ["click", "hover"],
2058
+ setup(g, { emit: a }) {
2059
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new be({
2060
+ id: e.id,
2061
+ data: e.data,
2062
+ getPosition: e.getPosition,
2063
+ getIcon: e.getIcon ?? "marker",
2064
+ getSize: e.getSize ?? 1,
2065
+ getColor: e.getColor ?? [255, 255, 255, 255],
2066
+ getAngle: e.getAngle ?? 0,
2067
+ iconAtlas: e.iconAtlas,
2068
+ iconMapping: e.iconMapping,
2069
+ sizeScale: e.sizeScale,
2070
+ sizeUnits: e.sizeUnits,
2071
+ sizeMinPixels: e.sizeMinPixels,
2072
+ sizeMaxPixels: e.sizeMaxPixels,
2073
+ billboard: e.billboard,
2074
+ alphaCutoff: e.alphaCutoff,
2075
+ opacity: e.opacity,
2076
+ visible: e.visible,
2077
+ pickable: e.pickable,
2078
+ autoHighlight: e.autoHighlight,
2079
+ highlightColor: e.highlightColor,
2080
+ beforeId: e.beforeId,
2081
+ onClick: (o) => r("click", o),
2082
+ onHover: (o) => r("hover", o)
2083
+ }), t = () => {
2084
+ u(s());
2085
+ };
2086
+ return L(() => {
2087
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2088
+ }), v(
2089
+ () => [
2090
+ e.data,
2091
+ e.getPosition,
2092
+ e.getIcon,
2093
+ e.getSize,
2094
+ e.getColor,
2095
+ e.opacity,
2096
+ e.visible
2097
+ ],
2098
+ () => n(e.id, s()),
2099
+ { deep: !0 }
2100
+ ), P(() => {
2101
+ l(e.id);
2102
+ }), (o, y) => C(o.$slots, "default");
2103
+ }
2104
+ }), _t = /* @__PURE__ */ b({
2105
+ __name: "VLayerDeckglText",
2106
+ props: {
2107
+ id: {},
2108
+ data: {},
2109
+ getPosition: {},
2110
+ getText: {},
2111
+ getSize: {},
2112
+ getColor: {},
2113
+ getAngle: {},
2114
+ getTextAnchor: {},
2115
+ getAlignmentBaseline: {},
2116
+ getPixelOffset: {},
2117
+ getBackgroundColor: {},
2118
+ getBorderColor: {},
2119
+ getBorderWidth: {},
2120
+ background: { type: Boolean, default: !1 },
2121
+ backgroundPadding: {},
2122
+ billboard: { type: Boolean, default: !0 },
2123
+ sizeScale: { default: 1 },
2124
+ sizeUnits: { default: "pixels" },
2125
+ sizeMinPixels: { default: 0 },
2126
+ sizeMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2127
+ fontFamily: { default: "Monaco, monospace" },
2128
+ fontWeight: { default: "normal" },
2129
+ lineHeight: { default: 1 },
2130
+ fontSettings: {},
2131
+ wordBreak: { default: "break-word" },
2132
+ maxWidth: { default: -1 },
2133
+ outlineWidth: { default: 0 },
2134
+ outlineColor: {},
2135
+ opacity: { default: 1 },
2136
+ visible: { type: Boolean, default: !0 },
2137
+ pickable: { type: Boolean, default: !0 },
2138
+ autoHighlight: { type: Boolean, default: !1 },
2139
+ highlightColor: {},
2140
+ beforeId: {}
2141
+ },
2142
+ emits: ["click", "hover"],
2143
+ setup(g, { emit: a }) {
2144
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Le({
2145
+ id: e.id,
2146
+ data: e.data,
2147
+ getPosition: e.getPosition,
2148
+ getText: e.getText,
2149
+ getSize: e.getSize ?? 32,
2150
+ getColor: e.getColor ?? [0, 0, 0, 255],
2151
+ getAngle: e.getAngle ?? 0,
2152
+ getTextAnchor: e.getTextAnchor ?? "middle",
2153
+ getAlignmentBaseline: e.getAlignmentBaseline ?? "center",
2154
+ getPixelOffset: e.getPixelOffset ?? [0, 0],
2155
+ getBackgroundColor: e.getBackgroundColor,
2156
+ getBorderColor: e.getBorderColor,
2157
+ getBorderWidth: e.getBorderWidth,
2158
+ background: e.background,
2159
+ backgroundPadding: e.backgroundPadding,
2160
+ billboard: e.billboard,
2161
+ sizeScale: e.sizeScale,
2162
+ sizeUnits: e.sizeUnits,
2163
+ sizeMinPixels: e.sizeMinPixels,
2164
+ sizeMaxPixels: e.sizeMaxPixels,
2165
+ fontFamily: e.fontFamily,
2166
+ fontWeight: e.fontWeight,
2167
+ lineHeight: e.lineHeight,
2168
+ fontSettings: e.fontSettings,
2169
+ wordBreak: e.wordBreak,
2170
+ maxWidth: e.maxWidth,
2171
+ outlineWidth: e.outlineWidth,
2172
+ outlineColor: e.outlineColor,
2173
+ opacity: e.opacity,
2174
+ visible: e.visible,
2175
+ pickable: e.pickable,
2176
+ autoHighlight: e.autoHighlight,
2177
+ highlightColor: e.highlightColor,
2178
+ beforeId: e.beforeId,
2179
+ onClick: (o) => r("click", o),
2180
+ onHover: (o) => r("hover", o)
2181
+ }), t = () => {
2182
+ u(s());
2183
+ };
2184
+ return L(() => {
2185
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2186
+ }), v(
2187
+ () => [
2188
+ e.data,
2189
+ e.getPosition,
2190
+ e.getText,
2191
+ e.getSize,
2192
+ e.getColor,
2193
+ e.opacity,
2194
+ e.visible
2195
+ ],
2196
+ () => n(e.id, s()),
2197
+ { deep: !0 }
2198
+ ), P(() => {
2199
+ l(e.id);
2200
+ }), (o, y) => C(o.$slots, "default");
2201
+ }
2202
+ }), Mt = /* @__PURE__ */ b({
2203
+ __name: "VLayerDeckglColumn",
2204
+ props: {
2205
+ id: {},
2206
+ data: {},
2207
+ getPosition: {},
2208
+ getFillColor: {},
2209
+ getLineColor: {},
2210
+ getElevation: {},
2211
+ diskResolution: { default: 20 },
2212
+ radius: { default: 1e3 },
2213
+ angle: { default: 0 },
2214
+ vertices: {},
2215
+ offset: {},
2216
+ coverage: { default: 1 },
2217
+ elevationScale: { default: 1 },
2218
+ filled: { type: Boolean, default: !0 },
2219
+ stroked: { type: Boolean, default: !1 },
2220
+ extruded: { type: Boolean, default: !0 },
2221
+ wireframe: { type: Boolean, default: !1 },
2222
+ flatShading: { type: Boolean, default: !1 },
2223
+ radiusUnits: { default: "meters" },
2224
+ lineWidthUnits: { default: "meters" },
2225
+ lineWidthScale: { default: 1 },
2226
+ lineWidthMinPixels: { default: 0 },
2227
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2228
+ material: { type: [Boolean, Object] },
2229
+ opacity: { default: 1 },
2230
+ visible: { type: Boolean, default: !0 },
2231
+ pickable: { type: Boolean, default: !0 },
2232
+ autoHighlight: { type: Boolean, default: !1 },
2233
+ highlightColor: {},
2234
+ beforeId: {}
2235
+ },
2236
+ emits: ["click", "hover"],
2237
+ setup(g, { emit: a }) {
2238
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Se({
2239
+ id: e.id,
2240
+ data: e.data,
2241
+ getPosition: e.getPosition,
2242
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
2243
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
2244
+ getElevation: e.getElevation ?? 1e3,
2245
+ diskResolution: e.diskResolution,
2246
+ radius: e.radius,
2247
+ angle: e.angle,
2248
+ vertices: e.vertices,
2249
+ offset: e.offset,
2250
+ coverage: e.coverage,
2251
+ elevationScale: e.elevationScale,
2252
+ filled: e.filled,
2253
+ stroked: e.stroked,
2254
+ extruded: e.extruded,
2255
+ wireframe: e.wireframe,
2256
+ flatShading: e.flatShading,
2257
+ radiusUnits: e.radiusUnits,
2258
+ lineWidthUnits: e.lineWidthUnits,
2259
+ lineWidthScale: e.lineWidthScale,
2260
+ lineWidthMinPixels: e.lineWidthMinPixels,
2261
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
2262
+ material: e.material,
2263
+ opacity: e.opacity,
2264
+ visible: e.visible,
2265
+ pickable: e.pickable,
2266
+ autoHighlight: e.autoHighlight,
2267
+ highlightColor: e.highlightColor,
2268
+ beforeId: e.beforeId,
2269
+ onClick: (o) => r("click", o),
2270
+ onHover: (o) => r("hover", o)
2271
+ }), t = () => {
2272
+ u(s());
2273
+ };
2274
+ return L(() => {
2275
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2276
+ }), v(
2277
+ () => [
2278
+ e.data,
2279
+ e.getPosition,
2280
+ e.getFillColor,
2281
+ e.getElevation,
2282
+ e.radius,
2283
+ e.elevationScale,
2284
+ e.opacity,
2285
+ e.visible
2286
+ ],
2287
+ () => n(e.id, s()),
2288
+ { deep: !0 }
2289
+ ), P(() => {
2290
+ l(e.id);
2291
+ }), (o, y) => C(o.$slots, "default");
2292
+ }
2293
+ }), Et = /* @__PURE__ */ b({
2294
+ __name: "VLayerDeckglBitmap",
2295
+ props: {
2296
+ id: {},
2297
+ image: {},
2298
+ bounds: {},
2299
+ loadOptions: {},
2300
+ textureParameters: {},
2301
+ desaturate: { default: 0 },
2302
+ transparentColor: {},
2303
+ tintColor: {},
2304
+ opacity: { default: 1 },
2305
+ visible: { type: Boolean, default: !0 },
2306
+ pickable: { type: Boolean, default: !0 },
2307
+ autoHighlight: { type: Boolean, default: !1 },
2308
+ highlightColor: {},
2309
+ beforeId: {}
2310
+ },
2311
+ emits: ["click", "hover"],
2312
+ setup(g, { emit: a }) {
2313
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Ce({
2314
+ id: e.id,
2315
+ image: e.image,
2316
+ bounds: e.bounds,
2317
+ loadOptions: e.loadOptions,
2318
+ textureParameters: e.textureParameters,
2319
+ desaturate: e.desaturate,
2320
+ transparentColor: e.transparentColor ?? [0, 0, 0, 0],
2321
+ tintColor: e.tintColor ?? [255, 255, 255],
2322
+ opacity: e.opacity,
2323
+ visible: e.visible,
2324
+ pickable: e.pickable,
2325
+ autoHighlight: e.autoHighlight,
2326
+ highlightColor: e.highlightColor,
2327
+ beforeId: e.beforeId,
2328
+ onClick: (o) => r("click", o),
2329
+ onHover: (o) => r("hover", o)
2330
+ }), t = () => {
2331
+ u(s());
2332
+ };
2333
+ return L(() => {
2334
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2335
+ }), v(
2336
+ () => [
2337
+ e.image,
2338
+ e.bounds,
2339
+ e.desaturate,
2340
+ e.tintColor,
2341
+ e.opacity,
2342
+ e.visible
2343
+ ],
2344
+ () => n(e.id, s()),
2345
+ { deep: !0 }
2346
+ ), P(() => {
2347
+ l(e.id);
2348
+ }), (o, y) => C(o.$slots, "default");
2349
+ }
2350
+ }), Bt = /* @__PURE__ */ b({
2351
+ __name: "VLayerDeckglGridCell",
2352
+ props: {
2353
+ id: {},
2354
+ data: {},
2355
+ getPosition: {},
2356
+ getFillColor: {},
2357
+ getElevation: {},
2358
+ cellSize: { default: 1e3 },
2359
+ coverage: { default: 1 },
2360
+ elevationScale: { default: 1 },
2361
+ extruded: { type: Boolean, default: !0 },
2362
+ material: { type: [Boolean, Object] },
2363
+ opacity: { default: 1 },
2364
+ visible: { type: Boolean, default: !0 },
2365
+ pickable: { type: Boolean, default: !0 },
2366
+ autoHighlight: { type: Boolean, default: !1 },
2367
+ highlightColor: {},
2368
+ beforeId: {}
2369
+ },
2370
+ emits: ["click", "hover"],
2371
+ setup(g, { emit: a }) {
2372
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new ke({
2373
+ id: e.id,
2374
+ data: e.data,
2375
+ getPosition: e.getPosition,
2376
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
2377
+ getElevation: e.getElevation ?? 1e3,
2378
+ cellSize: e.cellSize,
2379
+ coverage: e.coverage,
2380
+ elevationScale: e.elevationScale,
2381
+ extruded: e.extruded,
2382
+ material: e.material,
2383
+ opacity: e.opacity,
2384
+ visible: e.visible,
2385
+ pickable: e.pickable,
2386
+ autoHighlight: e.autoHighlight,
2387
+ highlightColor: e.highlightColor,
2388
+ beforeId: e.beforeId,
2389
+ onClick: (o) => r("click", o),
2390
+ onHover: (o) => r("hover", o)
2391
+ }), t = () => {
2392
+ u(s());
2393
+ };
2394
+ return L(() => {
2395
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2396
+ }), v(
2397
+ () => [
2398
+ e.data,
2399
+ e.getPosition,
2400
+ e.getFillColor,
2401
+ e.getElevation,
2402
+ e.cellSize,
2403
+ e.elevationScale,
2404
+ e.opacity,
2405
+ e.visible
2406
+ ],
2407
+ () => n(e.id, s()),
2408
+ { deep: !0 }
2409
+ ), P(() => {
2410
+ l(e.id);
2411
+ }), (o, y) => C(o.$slots, "default");
2412
+ }
2413
+ }), Wt = /* @__PURE__ */ b({
2414
+ __name: "VLayerDeckglPointCloud",
2415
+ props: {
2416
+ id: {},
2417
+ data: {},
2418
+ getPosition: {},
2419
+ getColor: {},
2420
+ getNormal: {},
2421
+ sizeUnits: { default: "pixels" },
2422
+ pointSize: { default: 10 },
2423
+ material: { type: [Boolean, Object] },
2424
+ opacity: { default: 1 },
2425
+ visible: { type: Boolean, default: !0 },
2426
+ pickable: { type: Boolean, default: !0 },
2427
+ autoHighlight: { type: Boolean, default: !1 },
2428
+ highlightColor: {},
2429
+ beforeId: {}
2430
+ },
2431
+ emits: ["click", "hover"],
2432
+ setup(g, { emit: a }) {
2433
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Pe({
2434
+ id: e.id,
2435
+ data: e.data,
2436
+ getPosition: e.getPosition,
2437
+ getColor: e.getColor ?? [0, 0, 0, 255],
2438
+ getNormal: e.getNormal ?? [0, 0, 1],
2439
+ sizeUnits: e.sizeUnits,
2440
+ pointSize: e.pointSize,
2441
+ material: e.material,
2442
+ opacity: e.opacity,
2443
+ visible: e.visible,
2444
+ pickable: e.pickable,
2445
+ autoHighlight: e.autoHighlight,
2446
+ highlightColor: e.highlightColor,
2447
+ beforeId: e.beforeId,
2448
+ onClick: (o) => r("click", o),
2449
+ onHover: (o) => r("hover", o)
2450
+ }), t = () => {
2451
+ u(s());
2452
+ };
2453
+ return L(() => {
2454
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2455
+ }), v(
2456
+ () => [
2457
+ e.data,
2458
+ e.getPosition,
2459
+ e.getColor,
2460
+ e.pointSize,
2461
+ e.opacity,
2462
+ e.visible
2463
+ ],
2464
+ () => n(e.id, s()),
2465
+ { deep: !0 }
2466
+ ), P(() => {
2467
+ l(e.id);
2468
+ }), (o, y) => C(o.$slots, "default");
2469
+ }
2470
+ }), wt = /* @__PURE__ */ b({
2471
+ __name: "VLayerDeckglHeatmap",
2472
+ props: {
2473
+ id: {},
2474
+ data: {},
2475
+ getPosition: {},
2476
+ getWeight: {},
2477
+ intensity: { default: 1 },
2478
+ radiusPixels: { default: 30 },
2479
+ colorRange: {},
2480
+ threshold: { default: 0.05 },
2481
+ colorDomain: {},
2482
+ aggregation: { default: "SUM" },
2483
+ weightsTextureSize: { default: 2048 },
2484
+ debounceTimeout: { default: 500 },
2485
+ opacity: { default: 1 },
2486
+ visible: { type: Boolean, default: !0 },
2487
+ pickable: { type: Boolean, default: !1 },
2488
+ beforeId: {}
2489
+ },
2490
+ emits: ["click", "hover"],
2491
+ setup(g, { emit: a }) {
2492
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new xe({
2493
+ id: e.id,
2494
+ data: e.data,
2495
+ getPosition: e.getPosition,
2496
+ getWeight: e.getWeight ?? 1,
2497
+ intensity: e.intensity,
2498
+ radiusPixels: e.radiusPixels,
2499
+ colorRange: e.colorRange,
2500
+ threshold: e.threshold,
2501
+ colorDomain: e.colorDomain,
2502
+ aggregation: e.aggregation,
2503
+ weightsTextureSize: e.weightsTextureSize,
2504
+ debounceTimeout: e.debounceTimeout,
2505
+ opacity: e.opacity,
2506
+ visible: e.visible,
2507
+ pickable: e.pickable,
2508
+ beforeId: e.beforeId,
2509
+ onClick: (o) => r("click", o),
2510
+ onHover: (o) => r("hover", o)
2511
+ }), t = () => {
2512
+ u(s());
2513
+ };
2514
+ return L(() => {
2515
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2516
+ }), v(
2517
+ () => [
2518
+ e.data,
2519
+ e.getPosition,
2520
+ e.getWeight,
2521
+ e.intensity,
2522
+ e.radiusPixels,
2523
+ e.opacity,
2524
+ e.visible
2525
+ ],
2526
+ () => n(e.id, s()),
2527
+ { deep: !0 }
2528
+ ), P(() => {
2529
+ l(e.id);
2530
+ }), (o, y) => C(o.$slots, "default");
2531
+ }
2532
+ }), Tt = /* @__PURE__ */ b({
2533
+ __name: "VLayerDeckglHexagon",
2534
+ props: {
2535
+ id: {},
2536
+ data: {},
2537
+ getPosition: {},
2538
+ getColorWeight: {},
2539
+ getElevationWeight: {},
2540
+ gpuAggregation: { type: Boolean, default: !1 },
2541
+ radius: { default: 1e3 },
2542
+ elevationScale: { default: 1 },
2543
+ elevationRange: {},
2544
+ colorRange: {},
2545
+ colorDomain: {},
2546
+ coverage: { default: 1 },
2547
+ extruded: { type: Boolean, default: !1 },
2548
+ upperPercentile: { default: 100 },
2549
+ lowerPercentile: { default: 0 },
2550
+ elevationUpperPercentile: { default: 100 },
2551
+ elevationLowerPercentile: { default: 0 },
2552
+ colorScaleType: { default: "quantize" },
2553
+ material: { type: [Boolean, Object] },
2554
+ colorAggregation: { default: "SUM" },
2555
+ elevationAggregation: { default: "SUM" },
2556
+ opacity: { default: 1 },
2557
+ visible: { type: Boolean, default: !0 },
2558
+ pickable: { type: Boolean, default: !0 },
2559
+ autoHighlight: { type: Boolean, default: !1 },
2560
+ highlightColor: {},
2561
+ beforeId: {}
2562
+ },
2563
+ emits: ["click", "hover"],
2564
+ setup(g, { emit: a }) {
2565
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Ie({
2566
+ id: e.id,
2567
+ data: e.data,
2568
+ getPosition: e.getPosition,
2569
+ getColorWeight: e.getColorWeight,
2570
+ getElevationWeight: e.getElevationWeight,
2571
+ gpuAggregation: e.gpuAggregation,
2572
+ radius: e.radius,
2573
+ elevationScale: e.elevationScale,
2574
+ elevationRange: e.elevationRange,
2575
+ colorRange: e.colorRange,
2576
+ colorDomain: e.colorDomain,
2577
+ coverage: e.coverage,
2578
+ extruded: e.extruded,
2579
+ upperPercentile: e.upperPercentile,
2580
+ lowerPercentile: e.lowerPercentile,
2581
+ elevationUpperPercentile: e.elevationUpperPercentile,
2582
+ elevationLowerPercentile: e.elevationLowerPercentile,
2583
+ colorScaleType: e.colorScaleType,
2584
+ material: e.material,
2585
+ colorAggregation: e.colorAggregation,
2586
+ elevationAggregation: e.elevationAggregation,
2587
+ opacity: e.opacity,
2588
+ visible: e.visible,
2589
+ pickable: e.pickable,
2590
+ autoHighlight: e.autoHighlight,
2591
+ highlightColor: e.highlightColor,
2592
+ beforeId: e.beforeId,
2593
+ onClick: (o) => r("click", o),
2594
+ onHover: (o) => r("hover", o)
2595
+ }), t = () => {
2596
+ u(s());
2597
+ };
2598
+ return L(() => {
2599
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2600
+ }), v(
2601
+ () => [
2602
+ e.data,
2603
+ e.getPosition,
2604
+ e.radius,
2605
+ e.elevationScale,
2606
+ e.opacity,
2607
+ e.visible,
2608
+ e.extruded
2609
+ ],
2610
+ () => n(e.id, s()),
2611
+ { deep: !0 }
2612
+ ), P(() => {
2613
+ l(e.id);
2614
+ }), (o, y) => C(o.$slots, "default");
2615
+ }
2616
+ }), zt = /* @__PURE__ */ b({
2617
+ __name: "VLayerDeckglGrid",
2618
+ props: {
2619
+ id: {},
2620
+ data: {},
2621
+ getPosition: {},
2622
+ getColorWeight: {},
2623
+ getElevationWeight: {},
2624
+ cellSize: { default: 1e3 },
2625
+ colorRange: {},
2626
+ coverage: { default: 1 },
2627
+ elevationDomain: {},
2628
+ elevationRange: {},
2629
+ elevationScale: { default: 1 },
2630
+ extruded: { type: Boolean, default: !1 },
2631
+ upperPercentile: { default: 100 },
2632
+ lowerPercentile: { default: 0 },
2633
+ elevationUpperPercentile: { default: 100 },
2634
+ elevationLowerPercentile: { default: 0 },
2635
+ colorScaleType: { default: "quantize" },
2636
+ colorAggregation: { default: "SUM" },
2637
+ elevationAggregation: { default: "SUM" },
2638
+ gpuAggregation: { type: Boolean, default: !1 },
2639
+ material: { type: [Boolean, Object] },
2640
+ opacity: { default: 1 },
2641
+ visible: { type: Boolean, default: !0 },
2642
+ pickable: { type: Boolean, default: !0 },
2643
+ autoHighlight: { type: Boolean, default: !1 },
2644
+ highlightColor: {},
2645
+ beforeId: {}
2646
+ },
2647
+ emits: ["click", "hover"],
2648
+ setup(g, { emit: a }) {
2649
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new _e({
2650
+ id: e.id,
2651
+ data: e.data,
2652
+ getPosition: e.getPosition,
2653
+ getColorWeight: e.getColorWeight ?? 1,
2654
+ getElevationWeight: e.getElevationWeight ?? 1,
2655
+ cellSize: e.cellSize,
2656
+ colorRange: e.colorRange,
2657
+ coverage: e.coverage,
2658
+ elevationDomain: e.elevationDomain,
2659
+ elevationRange: e.elevationRange,
2660
+ elevationScale: e.elevationScale,
2661
+ extruded: e.extruded,
2662
+ upperPercentile: e.upperPercentile,
2663
+ lowerPercentile: e.lowerPercentile,
2664
+ elevationUpperPercentile: e.elevationUpperPercentile,
2665
+ elevationLowerPercentile: e.elevationLowerPercentile,
2666
+ colorScaleType: e.colorScaleType,
2667
+ colorAggregation: e.colorAggregation,
2668
+ elevationAggregation: e.elevationAggregation,
2669
+ gpuAggregation: e.gpuAggregation,
2670
+ material: e.material,
2671
+ opacity: e.opacity,
2672
+ visible: e.visible,
2673
+ pickable: e.pickable,
2674
+ autoHighlight: e.autoHighlight,
2675
+ highlightColor: e.highlightColor,
2676
+ beforeId: e.beforeId,
2677
+ onClick: (o) => r("click", o),
2678
+ onHover: (o) => r("hover", o)
2679
+ }), t = () => {
2680
+ u(s());
2681
+ };
2682
+ return L(() => {
2683
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2684
+ }), v(
2685
+ () => [
2686
+ e.data,
2687
+ e.getPosition,
2688
+ e.cellSize,
2689
+ e.colorRange,
2690
+ e.elevationScale,
2691
+ e.extruded,
2692
+ e.opacity,
2693
+ e.visible
2694
+ ],
2695
+ () => n(e.id, s()),
2696
+ { deep: !0 }
2697
+ ), P(() => {
2698
+ l(e.id);
2699
+ }), (o, y) => C(o.$slots, "default");
2700
+ }
2701
+ }), Ht = /* @__PURE__ */ b({
2702
+ __name: "VLayerDeckglContour",
2703
+ props: {
2704
+ id: {},
2705
+ data: {},
2706
+ getPosition: {},
2707
+ getWeight: {},
2708
+ cellSize: { default: 1e3 },
2709
+ contours: {},
2710
+ gpuAggregation: { type: Boolean, default: !1 },
2711
+ aggregation: { default: "SUM" },
2712
+ zOffset: { default: 5e-3 },
2713
+ opacity: { default: 1 },
2714
+ visible: { type: Boolean, default: !0 },
2715
+ pickable: { type: Boolean, default: !0 },
2716
+ autoHighlight: { type: Boolean, default: !1 },
2717
+ highlightColor: {},
2718
+ beforeId: {}
2719
+ },
2720
+ emits: ["click", "hover"],
2721
+ setup(g, { emit: a }) {
2722
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Me({
2723
+ id: e.id,
2724
+ data: e.data,
2725
+ getPosition: e.getPosition,
2726
+ getWeight: e.getWeight ?? 1,
2727
+ cellSize: e.cellSize,
2728
+ contours: e.contours,
2729
+ gpuAggregation: e.gpuAggregation,
2730
+ aggregation: e.aggregation,
2731
+ zOffset: e.zOffset,
2732
+ opacity: e.opacity,
2733
+ visible: e.visible,
2734
+ pickable: e.pickable,
2735
+ autoHighlight: e.autoHighlight,
2736
+ highlightColor: e.highlightColor,
2737
+ beforeId: e.beforeId,
2738
+ onClick: (o) => r("click", o),
2739
+ onHover: (o) => r("hover", o)
2740
+ }), t = () => {
2741
+ u(s());
2742
+ };
2743
+ return L(() => {
2744
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2745
+ }), v(
2746
+ () => [
2747
+ e.data,
2748
+ e.getPosition,
2749
+ e.cellSize,
2750
+ e.contours,
2751
+ e.opacity,
2752
+ e.visible
2753
+ ],
2754
+ () => n(e.id, s()),
2755
+ { deep: !0 }
2756
+ ), P(() => {
2757
+ l(e.id);
2758
+ }), (o, y) => C(o.$slots, "default");
2759
+ }
2760
+ }), $t = /* @__PURE__ */ b({
2761
+ __name: "VLayerDeckglScreenGrid",
2762
+ props: {
2763
+ id: {},
2764
+ data: {},
2765
+ getPosition: {},
2766
+ getWeight: {},
2767
+ cellSizePixels: { default: 100 },
2768
+ cellMarginPixels: { default: 2 },
2769
+ colorRange: {},
2770
+ colorDomain: {},
2771
+ gpuAggregation: { type: Boolean, default: !1 },
2772
+ aggregation: { default: "SUM" },
2773
+ opacity: { default: 1 },
2774
+ visible: { type: Boolean, default: !0 },
2775
+ pickable: { type: Boolean, default: !0 },
2776
+ autoHighlight: { type: Boolean, default: !1 },
2777
+ highlightColor: {},
2778
+ beforeId: {}
2779
+ },
2780
+ emits: ["click", "hover"],
2781
+ setup(g, { emit: a }) {
2782
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Ee({
2783
+ id: e.id,
2784
+ data: e.data,
2785
+ getPosition: e.getPosition,
2786
+ getWeight: e.getWeight ?? 1,
2787
+ cellSizePixels: e.cellSizePixels,
2788
+ cellMarginPixels: e.cellMarginPixels,
2789
+ colorRange: e.colorRange,
2790
+ colorDomain: e.colorDomain,
2791
+ gpuAggregation: e.gpuAggregation,
2792
+ aggregation: e.aggregation,
2793
+ opacity: e.opacity,
2794
+ visible: e.visible,
2795
+ pickable: e.pickable,
2796
+ autoHighlight: e.autoHighlight,
2797
+ highlightColor: e.highlightColor,
2798
+ beforeId: e.beforeId,
2799
+ onClick: (o) => r("click", o),
2800
+ onHover: (o) => r("hover", o)
2801
+ }), t = () => {
2802
+ u(s());
2803
+ };
2804
+ return L(() => {
2805
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2806
+ }), v(
2807
+ () => [
2808
+ e.data,
2809
+ e.getPosition,
2810
+ e.cellSizePixels,
2811
+ e.colorRange,
2812
+ e.opacity,
2813
+ e.visible
2814
+ ],
2815
+ () => n(e.id, s()),
2816
+ { deep: !0 }
2817
+ ), P(() => {
2818
+ l(e.id);
2819
+ }), (o, y) => C(o.$slots, "default");
2820
+ }
2821
+ }), Rt = /* @__PURE__ */ b({
2822
+ __name: "VLayerDeckglTrips",
2823
+ props: {
2824
+ id: {},
2825
+ data: {},
2826
+ getPath: {},
2827
+ getTimestamps: {},
2828
+ getColor: {},
2829
+ getWidth: {},
2830
+ currentTime: { default: 0 },
2831
+ trailLength: { default: 120 },
2832
+ fadeTrail: { type: Boolean, default: !0 },
2833
+ widthUnits: { default: "pixels" },
2834
+ widthScale: { default: 1 },
2835
+ widthMinPixels: { default: 0 },
2836
+ widthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2837
+ capRounded: { type: Boolean, default: !1 },
2838
+ jointRounded: { type: Boolean, default: !1 },
2839
+ billboard: { type: Boolean, default: !1 },
2840
+ opacity: { default: 1 },
2841
+ visible: { type: Boolean, default: !0 },
2842
+ pickable: { type: Boolean, default: !0 },
2843
+ autoHighlight: { type: Boolean, default: !1 },
2844
+ highlightColor: {},
2845
+ beforeId: {}
2846
+ },
2847
+ emits: ["click", "hover"],
2848
+ setup(g, { emit: a }) {
2849
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Be({
2850
+ id: e.id,
2851
+ data: e.data,
2852
+ getPath: e.getPath,
2853
+ getTimestamps: e.getTimestamps,
2854
+ getColor: e.getColor ?? [253, 128, 93],
2855
+ getWidth: e.getWidth ?? 1,
2856
+ currentTime: e.currentTime,
2857
+ trailLength: e.trailLength,
2858
+ fadeTrail: e.fadeTrail,
2859
+ widthUnits: e.widthUnits,
2860
+ widthScale: e.widthScale,
2861
+ widthMinPixels: e.widthMinPixels,
2862
+ widthMaxPixels: e.widthMaxPixels,
2863
+ capRounded: e.capRounded,
2864
+ jointRounded: e.jointRounded,
2865
+ billboard: e.billboard,
2866
+ opacity: e.opacity,
2867
+ visible: e.visible,
2868
+ pickable: e.pickable,
2869
+ autoHighlight: e.autoHighlight,
2870
+ highlightColor: e.highlightColor,
2871
+ beforeId: e.beforeId,
2872
+ onClick: (o) => r("click", o),
2873
+ onHover: (o) => r("hover", o)
2874
+ }), t = () => {
2875
+ u(s());
2876
+ };
2877
+ return L(() => {
2878
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2879
+ }), v(
2880
+ () => [
2881
+ e.data,
2882
+ e.getPath,
2883
+ e.currentTime,
2884
+ e.trailLength,
2885
+ e.getColor,
2886
+ e.opacity,
2887
+ e.visible
2888
+ ],
2889
+ () => n(e.id, s()),
2890
+ { deep: !0 }
2891
+ ), P(() => {
2892
+ l(e.id);
2893
+ }), (o, y) => C(o.$slots, "default");
2894
+ }
2895
+ }), Ot = /* @__PURE__ */ b({
2896
+ __name: "VLayerDeckglH3Hexagon",
2897
+ props: {
2898
+ id: {},
2899
+ data: {},
2900
+ getHexagon: {},
2901
+ getFillColor: {},
2902
+ getLineColor: {},
2903
+ getElevation: {},
2904
+ highPrecision: { type: [Boolean, String], default: "auto" },
2905
+ coverage: { default: 1 },
2906
+ elevationScale: { default: 1 },
2907
+ filled: { type: Boolean, default: !0 },
2908
+ stroked: { type: Boolean, default: !0 },
2909
+ extruded: { type: Boolean, default: !1 },
2910
+ wireframe: { type: Boolean, default: !1 },
2911
+ lineWidthUnits: { default: "meters" },
2912
+ lineWidthScale: { default: 1 },
2913
+ lineWidthMinPixels: { default: 0 },
2914
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2915
+ material: { type: [Boolean, Object] },
2916
+ opacity: { default: 1 },
2917
+ visible: { type: Boolean, default: !0 },
2918
+ pickable: { type: Boolean, default: !0 },
2919
+ autoHighlight: { type: Boolean, default: !1 },
2920
+ highlightColor: {},
2921
+ beforeId: {}
2922
+ },
2923
+ emits: ["click", "hover"],
2924
+ setup(g, { emit: a }) {
2925
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new We({
2926
+ id: e.id,
2927
+ data: e.data,
2928
+ getHexagon: e.getHexagon,
2929
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
2930
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
2931
+ getElevation: e.getElevation ?? 1e3,
2932
+ highPrecision: e.highPrecision,
2933
+ coverage: e.coverage,
2934
+ elevationScale: e.elevationScale,
2935
+ filled: e.filled,
2936
+ stroked: e.stroked,
2937
+ extruded: e.extruded,
2938
+ wireframe: e.wireframe,
2939
+ lineWidthUnits: e.lineWidthUnits,
2940
+ lineWidthScale: e.lineWidthScale,
2941
+ lineWidthMinPixels: e.lineWidthMinPixels,
2942
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
2943
+ material: e.material,
2944
+ opacity: e.opacity,
2945
+ visible: e.visible,
2946
+ pickable: e.pickable,
2947
+ autoHighlight: e.autoHighlight,
2948
+ highlightColor: e.highlightColor,
2949
+ beforeId: e.beforeId,
2950
+ onClick: (o) => r("click", o),
2951
+ onHover: (o) => r("hover", o)
2952
+ }), t = () => {
2953
+ u(s());
2954
+ };
2955
+ return L(() => {
2956
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
2957
+ }), v(
2958
+ () => [
2959
+ e.data,
2960
+ e.getHexagon,
2961
+ e.getFillColor,
2962
+ e.getElevation,
2963
+ e.extruded,
2964
+ e.elevationScale,
2965
+ e.opacity,
2966
+ e.visible
2967
+ ],
2968
+ () => n(e.id, s()),
2969
+ { deep: !0 }
2970
+ ), P(() => {
2971
+ l(e.id);
2972
+ }), (o, y) => C(o.$slots, "default");
2973
+ }
2974
+ }), Vt = /* @__PURE__ */ b({
2975
+ __name: "VLayerDeckglH3Cluster",
2976
+ props: {
2977
+ id: {},
2978
+ data: {},
2979
+ getHexagons: {},
2980
+ getFillColor: {},
2981
+ getLineColor: {},
2982
+ getElevation: {},
2983
+ filled: { type: Boolean, default: !0 },
2984
+ stroked: { type: Boolean, default: !0 },
2985
+ extruded: { type: Boolean, default: !1 },
2986
+ wireframe: { type: Boolean, default: !1 },
2987
+ elevationScale: { default: 1 },
2988
+ lineWidthUnits: { default: "meters" },
2989
+ lineWidthScale: { default: 1 },
2990
+ lineWidthMinPixels: { default: 0 },
2991
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
2992
+ material: { type: [Boolean, Object] },
2993
+ opacity: { default: 1 },
2994
+ visible: { type: Boolean, default: !0 },
2995
+ pickable: { type: Boolean, default: !0 },
2996
+ autoHighlight: { type: Boolean, default: !1 },
2997
+ highlightColor: {},
2998
+ beforeId: {}
2999
+ },
3000
+ emits: ["click", "hover"],
3001
+ setup(g, { emit: a }) {
3002
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new we({
3003
+ id: e.id,
3004
+ data: e.data,
3005
+ getHexagons: e.getHexagons,
3006
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
3007
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
3008
+ getElevation: e.getElevation ?? 1e3,
3009
+ filled: e.filled,
3010
+ stroked: e.stroked,
3011
+ extruded: e.extruded,
3012
+ wireframe: e.wireframe,
3013
+ elevationScale: e.elevationScale,
3014
+ lineWidthUnits: e.lineWidthUnits,
3015
+ lineWidthScale: e.lineWidthScale,
3016
+ lineWidthMinPixels: e.lineWidthMinPixels,
3017
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
3018
+ material: e.material,
3019
+ opacity: e.opacity,
3020
+ visible: e.visible,
3021
+ pickable: e.pickable,
3022
+ autoHighlight: e.autoHighlight,
3023
+ highlightColor: e.highlightColor,
3024
+ beforeId: e.beforeId,
3025
+ onClick: (o) => r("click", o),
3026
+ onHover: (o) => r("hover", o)
3027
+ }), t = () => {
3028
+ u(s());
3029
+ };
3030
+ return L(() => {
3031
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3032
+ }), v(
3033
+ () => [
3034
+ e.data,
3035
+ e.getHexagons,
3036
+ e.getFillColor,
3037
+ e.getElevation,
3038
+ e.extruded,
3039
+ e.elevationScale,
3040
+ e.opacity,
3041
+ e.visible
3042
+ ],
3043
+ () => n(e.id, s()),
3044
+ { deep: !0 }
3045
+ ), P(() => {
3046
+ l(e.id);
3047
+ }), (o, y) => C(o.$slots, "default");
3048
+ }
3049
+ }), Dt = /* @__PURE__ */ b({
3050
+ __name: "VLayerDeckglMVT",
3051
+ props: {
3052
+ id: {},
3053
+ data: {},
3054
+ minZoom: { default: 0 },
3055
+ maxZoom: { default: 23 },
3056
+ uniqueIdProperty: {},
3057
+ highlightedFeatureId: {},
3058
+ binary: { type: Boolean, default: !0 },
3059
+ loadOptions: {},
3060
+ getFillColor: {},
3061
+ getLineColor: {},
3062
+ getLineWidth: {},
3063
+ getPointRadius: {},
3064
+ getElevation: {},
3065
+ lineWidthUnits: { default: "meters" },
3066
+ lineWidthScale: { default: 1 },
3067
+ lineWidthMinPixels: { default: 0 },
3068
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3069
+ pointRadiusUnits: { default: "meters" },
3070
+ pointRadiusScale: { default: 1 },
3071
+ pointRadiusMinPixels: { default: 0 },
3072
+ pointRadiusMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3073
+ stroked: { type: Boolean, default: !0 },
3074
+ filled: { type: Boolean, default: !0 },
3075
+ extruded: { type: Boolean, default: !1 },
3076
+ wireframe: { type: Boolean, default: !1 },
3077
+ elevationScale: { default: 1 },
3078
+ pointType: {},
3079
+ opacity: { default: 1 },
3080
+ visible: { type: Boolean, default: !0 },
3081
+ pickable: { type: Boolean, default: !0 },
3082
+ autoHighlight: { type: Boolean, default: !1 },
3083
+ highlightColor: {},
3084
+ beforeId: {}
3085
+ },
3086
+ emits: ["click", "hover", "tileLoad", "tileError"],
3087
+ setup(g, { emit: a }) {
3088
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Te({
3089
+ id: e.id,
3090
+ data: e.data,
3091
+ minZoom: e.minZoom,
3092
+ maxZoom: e.maxZoom,
3093
+ uniqueIdProperty: e.uniqueIdProperty,
3094
+ highlightedFeatureId: e.highlightedFeatureId,
3095
+ binary: e.binary,
3096
+ loadOptions: e.loadOptions,
3097
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
3098
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
3099
+ getLineWidth: e.getLineWidth ?? 1,
3100
+ getPointRadius: e.getPointRadius ?? 1,
3101
+ getElevation: e.getElevation ?? 1e3,
3102
+ lineWidthUnits: e.lineWidthUnits,
3103
+ lineWidthScale: e.lineWidthScale,
3104
+ lineWidthMinPixels: e.lineWidthMinPixels,
3105
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
3106
+ pointRadiusUnits: e.pointRadiusUnits,
3107
+ pointRadiusScale: e.pointRadiusScale,
3108
+ pointRadiusMinPixels: e.pointRadiusMinPixels,
3109
+ pointRadiusMaxPixels: e.pointRadiusMaxPixels,
3110
+ stroked: e.stroked,
3111
+ filled: e.filled,
3112
+ extruded: e.extruded,
3113
+ wireframe: e.wireframe,
3114
+ elevationScale: e.elevationScale,
3115
+ pointType: e.pointType,
3116
+ opacity: e.opacity,
3117
+ visible: e.visible,
3118
+ pickable: e.pickable,
3119
+ autoHighlight: e.autoHighlight,
3120
+ highlightColor: e.highlightColor,
3121
+ beforeId: e.beforeId,
3122
+ onClick: (o) => r("click", o),
3123
+ onHover: (o) => r("hover", o),
3124
+ onTileLoad: (o) => r("tileLoad", o),
3125
+ onTileError: (o, y) => r("tileError", o, y)
3126
+ }), t = () => {
3127
+ u(s());
3128
+ };
3129
+ return L(() => {
3130
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3131
+ }), v(
3132
+ () => [
3133
+ e.data,
3134
+ e.getFillColor,
3135
+ e.getLineColor,
3136
+ e.highlightedFeatureId,
3137
+ e.extruded,
3138
+ e.opacity,
3139
+ e.visible
3140
+ ],
3141
+ () => n(e.id, s()),
3142
+ { deep: !0 }
3143
+ ), P(() => {
3144
+ l(e.id);
3145
+ }), (o, y) => C(o.$slots, "default");
3146
+ }
3147
+ }), At = /* @__PURE__ */ b({
3148
+ __name: "VLayerDeckglTile",
3149
+ props: {
3150
+ id: {},
3151
+ data: {},
3152
+ getTileData: {},
3153
+ renderSubLayers: {},
3154
+ tileSize: { default: 512 },
3155
+ maxZoom: {},
3156
+ minZoom: { default: 0 },
3157
+ maxCacheSize: {},
3158
+ maxCacheByteSize: {},
3159
+ refinementStrategy: { default: "best-available" },
3160
+ zRange: {},
3161
+ maxRequests: { default: 6 },
3162
+ extent: {},
3163
+ loadOptions: {},
3164
+ zoomOffset: { default: 0 },
3165
+ opacity: { default: 1 },
3166
+ visible: { type: Boolean, default: !0 },
3167
+ pickable: { type: Boolean, default: !1 },
3168
+ autoHighlight: { type: Boolean, default: !1 },
3169
+ highlightColor: {},
3170
+ beforeId: {}
3171
+ },
3172
+ emits: ["click", "hover", "viewportLoad", "tileLoad", "tileUnload", "tileError"],
3173
+ setup(g, { emit: a }) {
3174
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new ze({
3175
+ id: e.id,
3176
+ data: e.data,
3177
+ getTileData: e.getTileData,
3178
+ renderSubLayers: e.renderSubLayers,
3179
+ tileSize: e.tileSize,
3180
+ maxZoom: e.maxZoom,
3181
+ minZoom: e.minZoom,
3182
+ maxCacheSize: e.maxCacheSize,
3183
+ maxCacheByteSize: e.maxCacheByteSize,
3184
+ refinementStrategy: e.refinementStrategy,
3185
+ zRange: e.zRange,
3186
+ maxRequests: e.maxRequests,
3187
+ extent: e.extent,
3188
+ loadOptions: e.loadOptions,
3189
+ zoomOffset: e.zoomOffset,
3190
+ opacity: e.opacity,
3191
+ visible: e.visible,
3192
+ pickable: e.pickable,
3193
+ autoHighlight: e.autoHighlight,
3194
+ highlightColor: e.highlightColor,
3195
+ beforeId: e.beforeId,
3196
+ onClick: (o) => r("click", o),
3197
+ onHover: (o) => r("hover", o),
3198
+ onViewportLoad: (o) => r("viewportLoad", o),
3199
+ onTileLoad: (o) => r("tileLoad", o),
3200
+ onTileUnload: (o) => r("tileUnload", o),
3201
+ onTileError: (o, y) => r("tileError", o, y)
3202
+ }), t = () => {
3203
+ u(s());
3204
+ };
3205
+ return L(() => {
3206
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3207
+ }), v(
3208
+ () => [
3209
+ e.data,
3210
+ e.tileSize,
3211
+ e.maxZoom,
3212
+ e.minZoom,
3213
+ e.opacity,
3214
+ e.visible
3215
+ ],
3216
+ () => n(e.id, s()),
3217
+ { deep: !0 }
3218
+ ), P(() => {
3219
+ l(e.id);
3220
+ }), (o, y) => C(o.$slots, "default");
3221
+ }
3222
+ }), Ut = /* @__PURE__ */ b({
3223
+ __name: "VLayerDeckglTile3D",
3224
+ props: {
3225
+ id: {},
3226
+ data: {},
3227
+ loader: {},
3228
+ loadOptions: {},
3229
+ pickable: { type: Boolean, default: !1 },
3230
+ autoHighlight: { type: Boolean, default: !1 },
3231
+ highlightColor: {},
3232
+ opacity: { default: 1 },
3233
+ visible: { type: Boolean, default: !0 },
3234
+ pointSize: { default: 1 },
3235
+ getPointColor: {},
3236
+ beforeId: {}
3237
+ },
3238
+ emits: ["click", "hover", "tilesetLoad", "tileLoad", "tileUnload", "tileError"],
3239
+ setup(g, { emit: a }) {
3240
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => {
3241
+ const o = {
3242
+ id: e.id,
3243
+ data: e.data,
3244
+ pointSize: e.pointSize,
3245
+ opacity: e.opacity,
3246
+ visible: e.visible,
3247
+ pickable: e.pickable,
3248
+ autoHighlight: e.autoHighlight,
3249
+ beforeId: e.beforeId,
3250
+ onClick: (y) => r("click", y),
3251
+ onHover: (y) => r("hover", y),
3252
+ onTilesetLoad: (y) => r("tilesetLoad", y),
3253
+ onTileLoad: (y) => r("tileLoad", y),
3254
+ onTileUnload: (y) => r("tileUnload", y),
3255
+ onTileError: (y, f, c) => r("tileError", y, f, c),
3256
+ // Only include optional props when defined to avoid deck.gl bugs
3257
+ ...e.loader !== void 0 && { loader: e.loader },
3258
+ ...e.loadOptions !== void 0 && {
3259
+ loadOptions: e.loadOptions
3260
+ },
3261
+ ...e.highlightColor !== void 0 && {
3262
+ highlightColor: e.highlightColor
3263
+ },
3264
+ ...e.getPointColor !== void 0 && {
3265
+ getPointColor: e.getPointColor
3266
+ }
3267
+ };
3268
+ return new He(
3269
+ o
3270
+ );
3271
+ }, t = () => {
3272
+ u(s());
3273
+ };
3274
+ return L(() => {
3275
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3276
+ }), v(
3277
+ () => [e.data, e.pointSize, e.opacity, e.visible],
3278
+ () => n(e.id, s()),
3279
+ { deep: !0 }
3280
+ ), P(() => {
3281
+ l(e.id);
3282
+ }), (o, y) => C(o.$slots, "default");
3283
+ }
3284
+ }), Ft = /* @__PURE__ */ b({
3285
+ __name: "VLayerDeckglTerrain",
3286
+ props: {
3287
+ id: {},
3288
+ elevationData: {},
3289
+ texture: {},
3290
+ meshMaxError: { default: 4 },
3291
+ elevationDecoder: {},
3292
+ bounds: {},
3293
+ loadOptions: {},
3294
+ workerUrl: {},
3295
+ color: {},
3296
+ wireframe: { type: Boolean, default: !1 },
3297
+ material: { type: [Boolean, Object] },
3298
+ opacity: { default: 1 },
3299
+ visible: { type: Boolean, default: !0 },
3300
+ pickable: { type: Boolean, default: !1 },
3301
+ autoHighlight: { type: Boolean, default: !1 },
3302
+ highlightColor: {},
3303
+ beforeId: {}
3304
+ },
3305
+ emits: ["click", "hover"],
3306
+ setup(g, { emit: a }) {
3307
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new $e({
3308
+ id: e.id,
3309
+ elevationData: e.elevationData,
3310
+ texture: e.texture,
3311
+ meshMaxError: e.meshMaxError,
3312
+ elevationDecoder: e.elevationDecoder,
3313
+ bounds: e.bounds,
3314
+ loadOptions: e.loadOptions,
3315
+ workerUrl: e.workerUrl,
3316
+ color: e.color ?? [255, 255, 255],
3317
+ wireframe: e.wireframe,
3318
+ material: e.material,
3319
+ opacity: e.opacity,
3320
+ visible: e.visible,
3321
+ pickable: e.pickable,
3322
+ autoHighlight: e.autoHighlight,
3323
+ highlightColor: e.highlightColor,
3324
+ beforeId: e.beforeId,
3325
+ onClick: (o) => r("click", o),
3326
+ onHover: (o) => r("hover", o)
3327
+ }), t = () => {
3328
+ u(s());
3329
+ };
3330
+ return L(() => {
3331
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3332
+ }), v(
3333
+ () => [
3334
+ e.elevationData,
3335
+ e.texture,
3336
+ e.meshMaxError,
3337
+ e.opacity,
3338
+ e.visible
3339
+ ],
3340
+ () => n(e.id, s()),
3341
+ { deep: !0 }
3342
+ ), P(() => {
3343
+ l(e.id);
3344
+ }), (o, y) => C(o.$slots, "default");
3345
+ }
3346
+ }), jt = /* @__PURE__ */ b({
3347
+ __name: "VLayerDeckglGreatCircle",
3348
+ props: {
3349
+ id: {},
3350
+ data: {},
3351
+ getSourcePosition: {},
3352
+ getTargetPosition: {},
3353
+ getSourceColor: {},
3354
+ getTargetColor: {},
3355
+ getWidth: {},
3356
+ getHeight: {},
3357
+ getTilt: {},
3358
+ numSegments: { default: 50 },
3359
+ widthUnits: { default: "pixels" },
3360
+ widthScale: { default: 1 },
3361
+ widthMinPixels: { default: 0 },
3362
+ widthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3363
+ opacity: { default: 1 },
3364
+ visible: { type: Boolean, default: !0 },
3365
+ pickable: { type: Boolean, default: !0 },
3366
+ autoHighlight: { type: Boolean, default: !1 },
3367
+ highlightColor: {},
3368
+ beforeId: {}
3369
+ },
3370
+ emits: ["click", "hover"],
3371
+ setup(g, { emit: a }) {
3372
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Re({
3373
+ id: e.id,
3374
+ data: e.data,
3375
+ getSourcePosition: e.getSourcePosition,
3376
+ getTargetPosition: e.getTargetPosition,
3377
+ getSourceColor: e.getSourceColor ?? [0, 0, 255],
3378
+ getTargetColor: e.getTargetColor ?? [0, 255, 0],
3379
+ getWidth: e.getWidth ?? 1,
3380
+ getHeight: e.getHeight ?? 1,
3381
+ getTilt: e.getTilt ?? 0,
3382
+ numSegments: e.numSegments,
3383
+ widthUnits: e.widthUnits,
3384
+ widthScale: e.widthScale,
3385
+ widthMinPixels: e.widthMinPixels,
3386
+ widthMaxPixels: e.widthMaxPixels,
3387
+ opacity: e.opacity,
3388
+ visible: e.visible,
3389
+ pickable: e.pickable,
3390
+ autoHighlight: e.autoHighlight,
3391
+ highlightColor: e.highlightColor,
3392
+ beforeId: e.beforeId,
3393
+ onClick: (o) => r("click", o),
3394
+ onHover: (o) => r("hover", o)
3395
+ }), t = () => {
3396
+ u(s());
3397
+ };
3398
+ return L(() => {
3399
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3400
+ }), v(
3401
+ () => [
3402
+ e.data,
3403
+ e.getSourcePosition,
3404
+ e.getTargetPosition,
3405
+ e.getSourceColor,
3406
+ e.getTargetColor,
3407
+ e.getWidth,
3408
+ e.opacity,
3409
+ e.visible
3410
+ ],
3411
+ () => n(e.id, s()),
3412
+ { deep: !0 }
3413
+ ), P(() => {
3414
+ l(e.id);
3415
+ }), (o, y) => C(o.$slots, "default");
3416
+ }
3417
+ }), Nt = /* @__PURE__ */ b({
3418
+ __name: "VLayerDeckglS2",
3419
+ props: {
3420
+ id: {},
3421
+ data: {},
3422
+ getS2Token: {},
3423
+ getFillColor: {},
3424
+ getLineColor: {},
3425
+ getElevation: {},
3426
+ filled: { type: Boolean, default: !0 },
3427
+ stroked: { type: Boolean, default: !0 },
3428
+ extruded: { type: Boolean, default: !1 },
3429
+ wireframe: { type: Boolean, default: !1 },
3430
+ elevationScale: { default: 1 },
3431
+ lineWidthUnits: { default: "meters" },
3432
+ lineWidthScale: { default: 1 },
3433
+ lineWidthMinPixels: { default: 0 },
3434
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3435
+ material: { type: [Boolean, Object] },
3436
+ opacity: { default: 1 },
3437
+ visible: { type: Boolean, default: !0 },
3438
+ pickable: { type: Boolean, default: !0 },
3439
+ autoHighlight: { type: Boolean, default: !1 },
3440
+ highlightColor: {},
3441
+ beforeId: {}
3442
+ },
3443
+ emits: ["click", "hover"],
3444
+ setup(g, { emit: a }) {
3445
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Oe({
3446
+ id: e.id,
3447
+ data: e.data,
3448
+ getS2Token: e.getS2Token,
3449
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
3450
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
3451
+ getElevation: e.getElevation ?? 1e3,
3452
+ filled: e.filled,
3453
+ stroked: e.stroked,
3454
+ extruded: e.extruded,
3455
+ wireframe: e.wireframe,
3456
+ elevationScale: e.elevationScale,
3457
+ lineWidthUnits: e.lineWidthUnits,
3458
+ lineWidthScale: e.lineWidthScale,
3459
+ lineWidthMinPixels: e.lineWidthMinPixels,
3460
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
3461
+ material: e.material,
3462
+ opacity: e.opacity,
3463
+ visible: e.visible,
3464
+ pickable: e.pickable,
3465
+ autoHighlight: e.autoHighlight,
3466
+ highlightColor: e.highlightColor,
3467
+ beforeId: e.beforeId,
3468
+ onClick: (o) => r("click", o),
3469
+ onHover: (o) => r("hover", o)
3470
+ }), t = () => {
3471
+ u(s());
3472
+ };
3473
+ return L(() => {
3474
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3475
+ }), v(
3476
+ () => [
3477
+ e.data,
3478
+ e.getS2Token,
3479
+ e.getFillColor,
3480
+ e.getElevation,
3481
+ e.extruded,
3482
+ e.elevationScale,
3483
+ e.opacity,
3484
+ e.visible
3485
+ ],
3486
+ () => n(e.id, s()),
3487
+ { deep: !0 }
3488
+ ), P(() => {
3489
+ l(e.id);
3490
+ }), (o, y) => C(o.$slots, "default");
3491
+ }
3492
+ }), Gt = /* @__PURE__ */ b({
3493
+ __name: "VLayerDeckglGeohash",
3494
+ props: {
3495
+ id: {},
3496
+ data: {},
3497
+ getGeohash: {},
3498
+ getFillColor: {},
3499
+ getLineColor: {},
3500
+ getElevation: {},
3501
+ filled: { type: Boolean, default: !0 },
3502
+ stroked: { type: Boolean, default: !0 },
3503
+ extruded: { type: Boolean, default: !1 },
3504
+ wireframe: { type: Boolean, default: !1 },
3505
+ elevationScale: { default: 1 },
3506
+ lineWidthUnits: { default: "meters" },
3507
+ lineWidthScale: { default: 1 },
3508
+ lineWidthMinPixels: { default: 0 },
3509
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3510
+ material: { type: [Boolean, Object] },
3511
+ opacity: { default: 1 },
3512
+ visible: { type: Boolean, default: !0 },
3513
+ pickable: { type: Boolean, default: !0 },
3514
+ autoHighlight: { type: Boolean, default: !1 },
3515
+ highlightColor: {},
3516
+ beforeId: {}
3517
+ },
3518
+ emits: ["click", "hover"],
3519
+ setup(g, { emit: a }) {
3520
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Ve({
3521
+ id: e.id,
3522
+ data: e.data,
3523
+ getGeohash: e.getGeohash,
3524
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
3525
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
3526
+ getElevation: e.getElevation ?? 1e3,
3527
+ filled: e.filled,
3528
+ stroked: e.stroked,
3529
+ extruded: e.extruded,
3530
+ wireframe: e.wireframe,
3531
+ elevationScale: e.elevationScale,
3532
+ lineWidthUnits: e.lineWidthUnits,
3533
+ lineWidthScale: e.lineWidthScale,
3534
+ lineWidthMinPixels: e.lineWidthMinPixels,
3535
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
3536
+ material: e.material,
3537
+ opacity: e.opacity,
3538
+ visible: e.visible,
3539
+ pickable: e.pickable,
3540
+ autoHighlight: e.autoHighlight,
3541
+ highlightColor: e.highlightColor,
3542
+ beforeId: e.beforeId,
3543
+ onClick: (o) => r("click", o),
3544
+ onHover: (o) => r("hover", o)
3545
+ }), t = () => {
3546
+ u(s());
3547
+ };
3548
+ return L(() => {
3549
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3550
+ }), v(
3551
+ () => [
3552
+ e.data,
3553
+ e.getGeohash,
3554
+ e.getFillColor,
3555
+ e.getElevation,
3556
+ e.extruded,
3557
+ e.elevationScale,
3558
+ e.opacity,
3559
+ e.visible
3560
+ ],
3561
+ () => n(e.id, s()),
3562
+ { deep: !0 }
3563
+ ), P(() => {
3564
+ l(e.id);
3565
+ }), (o, y) => C(o.$slots, "default");
3566
+ }
3567
+ }), Zt = /* @__PURE__ */ b({
3568
+ __name: "VLayerDeckglQuadkey",
3569
+ props: {
3570
+ id: {},
3571
+ data: {},
3572
+ getQuadkey: {},
3573
+ getFillColor: {},
3574
+ getLineColor: {},
3575
+ getElevation: {},
3576
+ filled: { type: Boolean, default: !0 },
3577
+ stroked: { type: Boolean, default: !0 },
3578
+ extruded: { type: Boolean, default: !1 },
3579
+ wireframe: { type: Boolean, default: !1 },
3580
+ elevationScale: { default: 1 },
3581
+ lineWidthUnits: { default: "meters" },
3582
+ lineWidthScale: { default: 1 },
3583
+ lineWidthMinPixels: { default: 0 },
3584
+ lineWidthMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3585
+ material: { type: [Boolean, Object] },
3586
+ opacity: { default: 1 },
3587
+ visible: { type: Boolean, default: !0 },
3588
+ pickable: { type: Boolean, default: !0 },
3589
+ autoHighlight: { type: Boolean, default: !1 },
3590
+ highlightColor: {},
3591
+ beforeId: {}
3592
+ },
3593
+ emits: ["click", "hover"],
3594
+ setup(g, { emit: a }) {
3595
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new De({
3596
+ id: e.id,
3597
+ data: e.data,
3598
+ getQuadkey: e.getQuadkey,
3599
+ getFillColor: e.getFillColor ?? [255, 0, 0, 255],
3600
+ getLineColor: e.getLineColor ?? [0, 0, 0, 255],
3601
+ getElevation: e.getElevation ?? 1e3,
3602
+ filled: e.filled,
3603
+ stroked: e.stroked,
3604
+ extruded: e.extruded,
3605
+ wireframe: e.wireframe,
3606
+ elevationScale: e.elevationScale,
3607
+ lineWidthUnits: e.lineWidthUnits,
3608
+ lineWidthScale: e.lineWidthScale,
3609
+ lineWidthMinPixels: e.lineWidthMinPixels,
3610
+ lineWidthMaxPixels: e.lineWidthMaxPixels,
3611
+ material: e.material,
3612
+ opacity: e.opacity,
3613
+ visible: e.visible,
3614
+ pickable: e.pickable,
3615
+ autoHighlight: e.autoHighlight,
3616
+ highlightColor: e.highlightColor,
3617
+ beforeId: e.beforeId,
3618
+ onClick: (o) => r("click", o),
3619
+ onHover: (o) => r("hover", o)
3620
+ }), t = () => {
3621
+ u(s());
3622
+ };
3623
+ return L(() => {
3624
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3625
+ }), v(
3626
+ () => [
3627
+ e.data,
3628
+ e.getQuadkey,
3629
+ e.getFillColor,
3630
+ e.getElevation,
3631
+ e.extruded,
3632
+ e.elevationScale,
3633
+ e.opacity,
3634
+ e.visible
3635
+ ],
3636
+ () => n(e.id, s()),
3637
+ { deep: !0 }
3638
+ ), P(() => {
3639
+ l(e.id);
3640
+ }), (o, y) => C(o.$slots, "default");
3641
+ }
3642
+ }), qt = /* @__PURE__ */ b({
3643
+ __name: "VLayerDeckglWMS",
3644
+ props: {
3645
+ id: {},
3646
+ data: {},
3647
+ serviceType: { default: "wms" },
3648
+ layers: {},
3649
+ srs: { default: "EPSG:4326" },
3650
+ opacity: { default: 1 },
3651
+ visible: { type: Boolean, default: !0 },
3652
+ pickable: { type: Boolean, default: !1 },
3653
+ autoHighlight: { type: Boolean, default: !1 },
3654
+ highlightColor: {},
3655
+ beforeId: {}
3656
+ },
3657
+ emits: ["click", "hover"],
3658
+ setup(g, { emit: a }) {
3659
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => new Ae({
3660
+ id: e.id,
3661
+ data: e.data,
3662
+ serviceType: e.serviceType,
3663
+ layers: e.layers,
3664
+ srs: e.srs,
3665
+ opacity: e.opacity,
3666
+ visible: e.visible,
3667
+ pickable: e.pickable,
3668
+ autoHighlight: e.autoHighlight,
3669
+ highlightColor: e.highlightColor,
3670
+ beforeId: e.beforeId,
3671
+ onClick: (o) => r("click", o),
3672
+ onHover: (o) => r("hover", o)
3673
+ }), t = () => {
3674
+ u(s());
3675
+ };
3676
+ return L(() => {
3677
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3678
+ }), v(
3679
+ () => [e.data, e.layers, e.srs, e.opacity, e.visible],
3680
+ () => n(e.id, s()),
3681
+ { deep: !0 }
3682
+ ), P(() => {
3683
+ l(e.id);
3684
+ }), (o, y) => C(o.$slots, "default");
3685
+ }
3686
+ }), Jt = /* @__PURE__ */ b({
3687
+ __name: "VLayerDeckglSimpleMesh",
3688
+ props: {
3689
+ id: {},
3690
+ data: {},
3691
+ mesh: {},
3692
+ getPosition: {},
3693
+ getColor: {},
3694
+ getOrientation: {},
3695
+ getScale: {},
3696
+ getTranslation: {},
3697
+ getTransformMatrix: {},
3698
+ texture: {},
3699
+ sizeScale: { default: 1 },
3700
+ wireframe: { type: Boolean, default: !1 },
3701
+ material: { type: [Boolean, Object] },
3702
+ loaders: {},
3703
+ loadOptions: {},
3704
+ opacity: { default: 1 },
3705
+ visible: { type: Boolean, default: !0 },
3706
+ pickable: { type: Boolean, default: !0 },
3707
+ autoHighlight: { type: Boolean, default: !1 },
3708
+ highlightColor: {},
3709
+ beforeId: {}
3710
+ },
3711
+ emits: ["click", "hover"],
3712
+ setup(g, { emit: a }) {
3713
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => {
3714
+ const o = {
3715
+ id: e.id,
3716
+ data: e.data,
3717
+ mesh: e.mesh,
3718
+ getPosition: e.getPosition,
3719
+ getColor: e.getColor ?? [255, 255, 255, 255],
3720
+ getOrientation: e.getOrientation ?? [0, 0, 0],
3721
+ getScale: e.getScale ?? [1, 1, 1],
3722
+ getTranslation: e.getTranslation ?? [0, 0, 0],
3723
+ sizeScale: e.sizeScale,
3724
+ wireframe: e.wireframe,
3725
+ opacity: e.opacity,
3726
+ visible: e.visible,
3727
+ pickable: e.pickable,
3728
+ autoHighlight: e.autoHighlight,
3729
+ onClick: (y) => r("click", y),
3730
+ onHover: (y) => r("hover", y),
3731
+ // Only include optional props if defined
3732
+ ...e.getTransformMatrix !== void 0 && {
3733
+ getTransformMatrix: e.getTransformMatrix
3734
+ },
3735
+ ...e.texture !== void 0 && { texture: e.texture },
3736
+ ...e.material !== void 0 && { material: e.material },
3737
+ ...e.loaders !== void 0 && { loaders: e.loaders },
3738
+ ...e.loadOptions !== void 0 && {
3739
+ loadOptions: e.loadOptions
3740
+ },
3741
+ ...e.highlightColor !== void 0 && {
3742
+ highlightColor: e.highlightColor
3743
+ },
3744
+ ...e.beforeId !== void 0 && { beforeId: e.beforeId }
3745
+ };
3746
+ return new Ue(o);
3747
+ }, t = () => {
3748
+ u(s());
3749
+ };
3750
+ return L(() => {
3751
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3752
+ }), v(
3753
+ () => [
3754
+ e.data,
3755
+ e.mesh,
3756
+ e.getPosition,
3757
+ e.getColor,
3758
+ e.getOrientation,
3759
+ e.getScale,
3760
+ e.sizeScale,
3761
+ e.opacity,
3762
+ e.visible
3763
+ ],
3764
+ () => n(e.id, s()),
3765
+ { deep: !0 }
3766
+ ), P(() => {
3767
+ l(e.id);
3768
+ }), (o, y) => C(o.$slots, "default");
3769
+ }
3770
+ }), Xt = /* @__PURE__ */ b({
3771
+ __name: "VLayerDeckglScenegraph",
3772
+ props: {
3773
+ id: {},
3774
+ data: {},
3775
+ scenegraph: {},
3776
+ getPosition: {},
3777
+ getColor: {},
3778
+ getOrientation: {},
3779
+ getScale: {},
3780
+ getTranslation: {},
3781
+ getTransformMatrix: {},
3782
+ sizeScale: { default: 1 },
3783
+ sizeMinPixels: { default: 0 },
3784
+ sizeMaxPixels: { default: Number.MAX_SAFE_INTEGER },
3785
+ animator: {},
3786
+ loaders: {},
3787
+ loadOptions: {},
3788
+ opacity: { default: 1 },
3789
+ visible: { type: Boolean, default: !0 },
3790
+ pickable: { type: Boolean, default: !0 },
3791
+ autoHighlight: { type: Boolean, default: !1 },
3792
+ highlightColor: {},
3793
+ beforeId: {},
3794
+ _animations: {},
3795
+ _lighting: {}
3796
+ },
3797
+ emits: ["click", "hover"],
3798
+ setup(g, { emit: a }) {
3799
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = () => {
3800
+ const o = {
3801
+ id: e.id,
3802
+ data: e.data,
3803
+ scenegraph: e.scenegraph,
3804
+ getPosition: e.getPosition,
3805
+ getColor: e.getColor ?? [255, 255, 255, 255],
3806
+ getOrientation: e.getOrientation ?? [0, 0, 0],
3807
+ getScale: e.getScale ?? [1, 1, 1],
3808
+ getTranslation: e.getTranslation ?? [0, 0, 0],
3809
+ sizeScale: e.sizeScale,
3810
+ sizeMinPixels: e.sizeMinPixels,
3811
+ sizeMaxPixels: e.sizeMaxPixels,
3812
+ opacity: e.opacity,
3813
+ visible: e.visible,
3814
+ pickable: e.pickable,
3815
+ autoHighlight: e.autoHighlight,
3816
+ onClick: (y) => r("click", y),
3817
+ onHover: (y) => r("hover", y),
3818
+ // Only include optional props if defined
3819
+ ...e.getTransformMatrix !== void 0 && {
3820
+ getTransformMatrix: e.getTransformMatrix
3821
+ },
3822
+ ...e.animator !== void 0 && { animator: e.animator },
3823
+ ...e.loaders !== void 0 && { loaders: e.loaders },
3824
+ ...e.loadOptions !== void 0 && {
3825
+ loadOptions: e.loadOptions
3826
+ },
3827
+ ...e.highlightColor !== void 0 && {
3828
+ highlightColor: e.highlightColor
3829
+ },
3830
+ ...e.beforeId !== void 0 && { beforeId: e.beforeId },
3831
+ ...e._animations !== void 0 && {
3832
+ _animations: e._animations
3833
+ },
3834
+ ...e._lighting !== void 0 && { _lighting: e._lighting }
3835
+ };
3836
+ return new Fe(o);
3837
+ }, t = () => {
3838
+ u(s());
3839
+ };
3840
+ return L(() => {
3841
+ i.value?.isStyleLoaded() ? t() : i.value?.once("style.load", t);
3842
+ }), v(
3843
+ () => [
3844
+ e.data,
3845
+ e.scenegraph,
3846
+ e.getPosition,
3847
+ e.getColor,
3848
+ e.getOrientation,
3849
+ e.getScale,
3850
+ e.sizeScale,
3851
+ e.opacity,
3852
+ e.visible
3853
+ ],
3854
+ () => n(e.id, s()),
3855
+ { deep: !0 }
3856
+ ), P(() => {
3857
+ l(e.id);
3858
+ }), (o, y) => C(o.$slots, "default");
3859
+ }
3860
+ }), Kt = /* @__PURE__ */ b({
3861
+ __name: "VLayerDeckglCOG",
3862
+ props: {
3863
+ id: {},
3864
+ geotiff: {},
3865
+ tileSize: { default: 256 },
3866
+ maxZoom: {},
3867
+ minZoom: { default: 0 },
3868
+ maxCacheSize: {},
3869
+ refinementStrategy: { default: "best-available" },
3870
+ maxRequests: { default: 6 },
3871
+ opacity: { default: 1 },
3872
+ visible: { type: Boolean, default: !0 },
3873
+ pickable: { type: Boolean, default: !1 },
3874
+ autoHighlight: { type: Boolean, default: !1 },
3875
+ highlightColor: {},
3876
+ beforeId: {},
3877
+ debug: { type: Boolean, default: !1 },
3878
+ debugOpacity: { default: 0.25 }
3879
+ },
3880
+ emits: ["click", "hover", "geotiffLoad"],
3881
+ setup(g, { emit: a }) {
3882
+ const e = g, r = a, i = k(S), { addLayer: u, removeLayer: l, updateLayer: n } = I(i), s = H(null), t = H(null), o = H(null), y = () => {
3883
+ if (!t.value || !o.value) return;
3884
+ const m = t.value, p = o.value;
3885
+ return async (d) => {
3886
+ const h = p(d);
3887
+ return {
3888
+ def: h.proj4,
3889
+ parsed: m.parseCrs(h.proj4),
3890
+ coordinatesUnits: h.coordinatesUnits
3891
+ };
3892
+ };
3893
+ }, f = () => {
3894
+ if (!s.value) return null;
3895
+ const m = y(), p = {
3896
+ id: E(e.id),
3897
+ geotiff: E(e.geotiff),
3898
+ opacity: E(e.opacity),
3899
+ visible: E(e.visible),
3900
+ pickable: E(e.pickable),
3901
+ autoHighlight: E(e.autoHighlight),
3902
+ debug: E(e.debug),
3903
+ debugOpacity: E(e.debugOpacity)
3904
+ };
3905
+ m && (p.geoKeysParser = m), p.onGeoTIFFLoad = (h, B) => {
3906
+ r("geotiffLoad", h, B);
3907
+ }, e.tileSize !== 256 && (p.tileSize = E(e.tileSize)), e.maxZoom !== void 0 && (p.maxZoom = E(e.maxZoom)), e.minZoom !== 0 && (p.minZoom = E(e.minZoom)), e.maxCacheSize !== void 0 && (p.maxCacheSize = E(e.maxCacheSize)), e.refinementStrategy !== "best-available" && (p.refinementStrategy = E(e.refinementStrategy)), e.maxRequests !== 6 && (p.maxRequests = E(e.maxRequests)), e.highlightColor !== void 0 && (p.highlightColor = E(e.highlightColor)), e.beforeId !== void 0 && (p.beforeId = E(e.beforeId));
3908
+ const d = new s.value(p);
3909
+ return R(d);
3910
+ }, c = async () => {
3911
+ try {
3912
+ const [m, p] = await Promise.all([
3913
+ import("@developmentseed/deck.gl-geotiff"),
3914
+ import("geotiff-geokeys-to-proj4")
3915
+ ]);
3916
+ s.value = R(m.COGLayer), t.value = R(m.proj), o.value = R(p.toProj4);
3917
+ const d = f();
3918
+ d && u(d);
3919
+ } catch (m) {
3920
+ console.error("[deck.gl-raster] Error loading COGLayer:", m), console.error(
3921
+ "Make sure @developmentseed/deck.gl-geotiff and geotiff-geokeys-to-proj4 are installed"
3922
+ );
3923
+ }
3924
+ };
3925
+ return L(() => {
3926
+ i.value?.isStyleLoaded() ? c() : i.value?.once("style.load", c);
3927
+ }), v(
3928
+ () => [
3929
+ e.geotiff,
3930
+ e.tileSize,
3931
+ e.maxZoom,
3932
+ e.minZoom,
3933
+ e.opacity,
3934
+ e.visible,
3935
+ e.debug,
3936
+ e.debugOpacity
3937
+ ],
3938
+ () => {
3939
+ const m = f();
3940
+ m && n(e.id, m);
3941
+ },
3942
+ { deep: !0 }
3943
+ ), P(() => {
3944
+ l(e.id);
3945
+ }), (m, p) => C(m.$slots, "default");
3946
+ }
3947
+ }), Qt = /* @__PURE__ */ b({
3948
+ __name: "VLayerDeckgl",
3949
+ props: {
3950
+ layer: {}
3951
+ },
3952
+ emits: ["click", "hover"],
3953
+ setup(g, { emit: a }) {
3954
+ const e = g, r = k(S), { addLayer: i, removeLayer: u, updateLayer: l } = I(r), n = (t) => t.id, s = () => {
3955
+ i(e.layer);
3956
+ };
3957
+ return L(() => {
3958
+ r.value?.isStyleLoaded() ? s() : r.value?.once("style.load", s);
3959
+ }), v(
3960
+ () => e.layer,
3961
+ (t, o) => {
3962
+ const y = o ? n(o) : null, f = n(t);
3963
+ y && y !== f ? (u(y), i(t)) : l(f, t);
3964
+ },
3965
+ { deep: !0 }
3966
+ ), P(() => {
3967
+ u(n(e.layer));
3968
+ }), (t, o) => C(t.$slots, "default");
3969
+ }
3970
+ }), Ne = ["id"], Ge = /* @__PURE__ */ b({
3971
+ __name: "VMap",
3972
+ props: {
3973
+ options: { default: () => ({ container: "map" }) },
3974
+ supportPmtiles: { type: Boolean, default: !1 }
3975
+ },
3976
+ emits: ["loaded", ...N],
3977
+ setup(g, { emit: a }) {
3978
+ const e = g, r = a;
3979
+ if (e.supportPmtiles) {
3980
+ const s = new ue({ metadata: !0 });
3981
+ te.addProtocol("pmtiles", s.tile), O(Y, s);
3982
+ }
3983
+ const i = H(null), u = M(!1), l = M(N);
3984
+ O(S, i), L(() => {
3985
+ i.value = new ne(e.options), u.value = !0, n();
3986
+ });
3987
+ const n = () => {
3988
+ i.value && l.value.forEach((s) => {
3989
+ i.value?.on(s, (t) => {
3990
+ s === "load" ? r("loaded", i.value) : r(s, t);
3991
+ });
3992
+ });
3993
+ };
3994
+ return (s, t) => ($(), A("div", {
3995
+ id: `${g.options?.container}`,
3996
+ class: "v-map-container"
3997
+ }, [
3998
+ u.value ? C(s.$slots, "default", { key: 0 }, () => [
3999
+ C(s.$slots, "default", {}, void 0, !0)
4000
+ ], !0) : Q("", !0)
4001
+ ], 8, Ne));
4002
+ }
4003
+ }), Ze = (g, a) => {
4004
+ const e = g.__vccOpts || g;
4005
+ for (const [r, i] of a)
4006
+ e[r] = i;
4007
+ return e;
4008
+ }, Yt = /* @__PURE__ */ Ze(Ge, [["__scopeId", "data-v-e49c0b85"]]), qe = ["id"], Je = /* @__PURE__ */ b({
4009
+ __name: "VPopup",
4010
+ props: {
4011
+ options: { default: () => ({}) },
4012
+ coordinates: { default: () => ({}) },
4013
+ marker: { default: () => ({}) }
4014
+ },
4015
+ emits: ["added", "removed", "open", "close"],
4016
+ setup(g, { emit: a }) {
4017
+ const e = g, r = a, i = k(S), u = new se(e.options), l = M(!0), n = M(null), s = () => i.value || null, t = (d) => {
4018
+ d && d.on("style.load", () => {
4019
+ const h = () => {
4020
+ d.isStyleLoaded() ? l.value = !0 : (l.value = !1, setTimeout(h, 200));
4021
+ };
4022
+ h();
4023
+ });
4024
+ }, o = () => {
4025
+ try {
4026
+ n.value && u.setDOMContent(n.value);
4027
+ } catch (d) {
4028
+ console.error("Error setting popup content:", d);
4029
+ }
4030
+ }, y = () => {
4031
+ try {
4032
+ u.setLngLat(e.coordinates);
4033
+ } catch (d) {
4034
+ console.error("Error setting popup coordinates:", d);
4035
+ }
4036
+ }, f = () => {
4037
+ const d = s();
4038
+ if (d)
4039
+ try {
4040
+ "setPopup" in e.marker ? e.marker.setPopup(u) : u.addTo(d), r("added", { popup: u });
4041
+ } catch (h) {
4042
+ console.error("Error adding popup to marker:", h);
4043
+ }
4044
+ }, c = () => {
4045
+ try {
4046
+ u.remove(), r("removed");
4047
+ } catch (d) {
4048
+ console.error("Error removing popup:", d);
4049
+ }
4050
+ }, m = () => {
4051
+ try {
4052
+ q.forEach((d) => {
4053
+ u.on(d, () => {
4054
+ r(d);
4055
+ });
4056
+ });
4057
+ } catch (d) {
4058
+ console.error("Error setting up popup events:", d);
4059
+ }
4060
+ }, p = () => {
4061
+ try {
4062
+ q.forEach((d) => {
4063
+ u.off(d, () => {
4064
+ r(d);
4065
+ });
4066
+ });
4067
+ } catch (d) {
4068
+ console.error("Error removing popup events:", d);
4069
+ }
4070
+ };
4071
+ return v(
4072
+ i,
4073
+ (d) => {
4074
+ d && t(d);
4075
+ },
4076
+ { immediate: !0 }
4077
+ ), v(
4078
+ () => e.coordinates,
4079
+ () => {
4080
+ y();
4081
+ },
4082
+ { deep: !0 }
4083
+ ), L(() => {
4084
+ if (l.value)
4085
+ try {
4086
+ o(), y(), f(), m();
4087
+ } catch (d) {
4088
+ console.error("Error initializing popup:", d);
4089
+ }
4090
+ else
4091
+ c(), p();
4092
+ }), P(() => {
4093
+ c(), p();
4094
+ }), (d, h) => ($(), A("section", {
4095
+ id: `popup-${Date.now()}`,
4096
+ ref_key: "content",
4097
+ ref: n
4098
+ }, [
4099
+ C(d.$slots, "default")
4100
+ ], 8, qe));
4101
+ }
4102
+ }), Xe = ["id"], eo = /* @__PURE__ */ b({
4103
+ __name: "VMarker",
4104
+ props: {
4105
+ coordinates: { default: null },
4106
+ options: { default: () => ({}) },
4107
+ popupOptions: { default: () => ({}) },
4108
+ cursor: { default: "pointer" }
4109
+ },
4110
+ emits: [
4111
+ "added",
4112
+ "update:coordinates",
4113
+ "removed",
4114
+ ...G,
4115
+ ...Z
4116
+ ],
4117
+ setup(g, { emit: a }) {
4118
+ const e = X(), r = g, i = a, u = k(S), l = M(null), n = M(!0), s = M(!1), t = M(null), o = () => u.value || null, y = (x) => {
4119
+ x && x.on("style.load", () => {
4120
+ const _ = () => {
4121
+ x.isStyleLoaded() ? n.value = !0 : (n.value = !1, setTimeout(_, 200));
4122
+ };
4123
+ _();
4124
+ });
4125
+ }, f = (x) => {
4126
+ x instanceof HTMLElement && (t.value = x);
4127
+ }, c = (x) => {
4128
+ if (r.coordinates !== null)
4129
+ try {
4130
+ x.setLngLat(r.coordinates);
4131
+ } catch (_) {
4132
+ console.error("Error setting marker coordinates:", _);
4133
+ }
4134
+ }, m = (x) => {
4135
+ try {
4136
+ x.getElement().style.cursor = r.cursor || "default";
4137
+ } catch (_) {
4138
+ console.error("Error setting cursor:", _);
4139
+ }
4140
+ }, p = (x) => {
4141
+ const _ = o();
4142
+ if (_)
4143
+ try {
4144
+ x.addTo(_), i("added", { marker: x });
4145
+ } catch (W) {
4146
+ console.error("Error adding marker to map:", W);
4147
+ }
4148
+ }, d = (x) => {
4149
+ try {
4150
+ x.remove(), i("removed");
4151
+ } catch (_) {
4152
+ console.error("Error removing marker from map:", _);
4153
+ }
4154
+ }, h = (x) => {
4155
+ try {
4156
+ let _;
4157
+ G.forEach((W) => {
4158
+ x.on(W, (T) => {
4159
+ W === "dragend" && (Array.isArray(r.coordinates) ? _ = [
4160
+ T.target.getLngLat().lng,
4161
+ T.target.getLngLat().lat
4162
+ ] : _ = T.target.getLngLat(), i("update:coordinates", _)), i(W, T);
4163
+ });
4164
+ }), Z.forEach((W) => {
4165
+ x.getElement().addEventListener(W, (T) => {
4166
+ i(W, T);
4167
+ });
4168
+ });
4169
+ } catch (_) {
4170
+ console.error("Error setting up marker events:", _);
4171
+ }
4172
+ };
4173
+ v(l, (x) => {
4174
+ s.value = x !== null && "_map" in x;
4175
+ }), v(
4176
+ u,
4177
+ (x) => {
4178
+ x && y(x);
4179
+ },
4180
+ { immediate: !0 }
4181
+ );
4182
+ const B = (x) => {
4183
+ if (!(!n.value || l.value))
4184
+ try {
4185
+ const _ = {
4186
+ ...r.options,
4187
+ element: x || void 0
4188
+ };
4189
+ l.value = new de(_), c(l.value), p(l.value), m(l.value), h(l.value);
4190
+ } catch (_) {
4191
+ console.error("Error initializing marker:", _);
4192
+ }
4193
+ };
4194
+ return v(t, (x) => {
4195
+ x && !l.value && B(x);
4196
+ }), L(() => {
4197
+ e.markers || B();
4198
+ }), P(() => {
4199
+ l.value && d(l.value);
4200
+ }), (x, _) => ($(), A("section", {
4201
+ id: `marker-${Date.now()}`,
4202
+ class: "absolute"
4203
+ }, [
4204
+ C(x.$slots, "markers", { setRef: f }),
4205
+ s.value && x.$slots.default ? ($(), K(Je, {
4206
+ key: 0,
4207
+ marker: l.value,
4208
+ options: g.popupOptions,
4209
+ coordinates: g.coordinates
4210
+ }, {
4211
+ default: ee(() => [
4212
+ C(x.$slots, "default")
4213
+ ]),
4214
+ _: 3
4215
+ }, 8, ["marker", "options", "coordinates"])) : Q("", !0)
4216
+ ], 8, Xe));
4217
+ }
4218
+ });
2
4219
  export {
3
- r as DeckLayersKey,
4
- l as DeckOverlayKey,
5
- s as VControlAttribution,
6
- V as VControlFullscreen,
7
- y as VControlGeolocate,
8
- c as VControlNavigation,
9
- L as VControlScale,
10
- g as VLayerDeckgl,
11
- k as VLayerDeckglArc,
12
- o as VLayerDeckglBitmap,
13
- D as VLayerDeckglColumn,
14
- i as VLayerDeckglContour,
15
- t as VLayerDeckglGeohash,
16
- n as VLayerDeckglGeojson,
17
- p as VLayerDeckglGreatCircle,
18
- C as VLayerDeckglGrid,
19
- M as VLayerDeckglGridCell,
20
- u as VLayerDeckglH3Cluster,
21
- b as VLayerDeckglH3Hexagon,
22
- d as VLayerDeckglHeatmap,
23
- G as VLayerDeckglHexagon,
24
- m as VLayerDeckglIcon,
25
- S as VLayerDeckglLine,
26
- P as VLayerDeckglMVT,
27
- h as VLayerDeckglPath,
28
- H as VLayerDeckglPointCloud,
29
- T as VLayerDeckglPolygon,
30
- v as VLayerDeckglQuadkey,
31
- x as VLayerDeckglS2,
32
- f as VLayerDeckglScatterplot,
33
- j as VLayerDeckglScenegraph,
34
- A as VLayerDeckglScreenGrid,
35
- I as VLayerDeckglSimpleMesh,
36
- K as VLayerDeckglSolidPolygon,
37
- O as VLayerDeckglTerrain,
38
- B as VLayerDeckglText,
39
- F as VLayerDeckglTile,
40
- N as VLayerDeckglTile3D,
41
- Q as VLayerDeckglTrips,
42
- R as VLayerDeckglWMS,
43
- q as VLayerMaplibreCanvas,
44
- w as VLayerMaplibreCluster,
45
- z as VLayerMaplibreGeojson,
46
- E as VLayerMaplibreImage,
47
- J as VLayerMaplibrePmtile,
48
- W as VLayerMaplibreRaster,
49
- U as VLayerMaplibreVector,
50
- X as VLayerMaplibreVideo,
51
- Y as VMap,
52
- Z as VMarker,
53
- _ as VPopup,
54
- $ as default,
55
- aa as useDeckLayers,
56
- ea as useDeckOverlay
4220
+ D as DeckLayersKey,
4221
+ V as DeckOverlayKey,
4222
+ rt as VControlAttribution,
4223
+ lt as VControlFullscreen,
4224
+ nt as VControlGeolocate,
4225
+ ct as VControlLidar,
4226
+ st as VControlNavigation,
4227
+ dt as VControlScale,
4228
+ Qt as VLayerDeckgl,
4229
+ Lt as VLayerDeckglArc,
4230
+ Et as VLayerDeckglBitmap,
4231
+ Kt as VLayerDeckglCOG,
4232
+ Mt as VLayerDeckglColumn,
4233
+ Ht as VLayerDeckglContour,
4234
+ Gt as VLayerDeckglGeohash,
4235
+ St as VLayerDeckglGeojson,
4236
+ jt as VLayerDeckglGreatCircle,
4237
+ zt as VLayerDeckglGrid,
4238
+ Bt as VLayerDeckglGridCell,
4239
+ Vt as VLayerDeckglH3Cluster,
4240
+ Ot as VLayerDeckglH3Hexagon,
4241
+ wt as VLayerDeckglHeatmap,
4242
+ Tt as VLayerDeckglHexagon,
4243
+ It as VLayerDeckglIcon,
4244
+ kt as VLayerDeckglLine,
4245
+ Dt as VLayerDeckglMVT,
4246
+ Ct as VLayerDeckglPath,
4247
+ Wt as VLayerDeckglPointCloud,
4248
+ Pt as VLayerDeckglPolygon,
4249
+ Zt as VLayerDeckglQuadkey,
4250
+ Nt as VLayerDeckglS2,
4251
+ bt as VLayerDeckglScatterplot,
4252
+ Xt as VLayerDeckglScenegraph,
4253
+ $t as VLayerDeckglScreenGrid,
4254
+ Jt as VLayerDeckglSimpleMesh,
4255
+ xt as VLayerDeckglSolidPolygon,
4256
+ Ft as VLayerDeckglTerrain,
4257
+ _t as VLayerDeckglText,
4258
+ At as VLayerDeckglTile,
4259
+ Ut as VLayerDeckglTile3D,
4260
+ Rt as VLayerDeckglTrips,
4261
+ qt as VLayerDeckglWMS,
4262
+ ut as VLayerMaplibreCanvas,
4263
+ mt as VLayerMaplibreCluster,
4264
+ gt as VLayerMaplibreGeojson,
4265
+ yt as VLayerMaplibreImage,
4266
+ ht as VLayerMaplibrePmtile,
4267
+ je as VLayerMaplibreRaster,
4268
+ vt as VLayerMaplibreRoute,
4269
+ pt as VLayerMaplibreVector,
4270
+ ft as VLayerMaplibreVideo,
4271
+ Yt as VMap,
4272
+ eo as VMarker,
4273
+ Je as VPopup,
4274
+ Yt as default,
4275
+ it as useDeckLayers,
4276
+ I as useDeckOverlay
57
4277
  };
58
4278
  //# sourceMappingURL=index.js.map