@geoql/v-maplibre 1.8.0 → 1.9.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.
- package/README.md +39 -13
- package/dist/index.d.ts +143 -101
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,defineComponent as o,inject as s,markRaw as c,nextTick as l,normalizeClass as u,normalizeStyle as d,onBeforeUnmount as f,onMounted as p,onUnmounted as m,onUpdated as h,openBlock as g,provide as _,ref as v,renderList as y,renderSlot as b,shallowRef as x,toDisplayString as S,toRaw as C,useSlots as w,watch as T,withCtx as E}from"vue";import D,{AttributionControl as O,FullscreenControl as k,GeolocateControl as A,Map as j,Marker as M,NavigationControl as N,Popup as P,ScaleControl as F}from"maplibre-gl";import{PMTiles as I,Protocol as L}from"pmtiles";import{MaplibreStarfieldLayer as R}from"@geoql/maplibre-gl-starfield";import{ArcLayer as z,BitmapLayer as B,ColumnLayer as V,GeoJsonLayer as H,GridCellLayer as ee,IconLayer as te,LineLayer as ne,PathLayer as re,PointCloudLayer as ie,PolygonLayer as ae,ScatterplotLayer as oe,SolidPolygonLayer as se,TextLayer as ce}from"@deck.gl/layers";import{ContourLayer as le,GridLayer as ue,HeatmapLayer as de,HexagonLayer as fe,ScreenGridLayer as pe}from"@deck.gl/aggregation-layers";import{GeohashLayer as me,GreatCircleLayer as he,H3ClusterLayer as ge,H3HexagonLayer as _e,MVTLayer as ve,QuadkeyLayer as ye,S2Layer as be,TerrainLayer as xe,Tile3DLayer as Se,TileLayer as Ce,TripsLayer as we,_WMSLayer as Te}from"@deck.gl/geo-layers";import{ScenegraphLayer as Ee,SimpleMeshLayer as De}from"@deck.gl/mesh-layers";import{WindParticleLayer as Oe,WindParticleLayer as ke,createWindDataFromOpenWeatherMap as Ae,generateWindTexture as je,generateWindTexture as Me}from"maplibre-gl-wind";function U(e,t){let n=s(e,t);if(!n)throw Error(`Could not resolve ${e.description}`);return n}const W=Symbol(`DeckOverlay`),G=Symbol(`DeckLayers`);function K(e,t={}){let{interleaved:n=!1}=t,r=s(W,null),i=s(G,null);if(r&&i)return{overlay:r,isInitialized:v(!0),layers:v([]),initOverlay:()=>Promise.resolve(),...i};let a=x(null),o=v([]),c=v(!1),l=null,u=null;function d(e){u=e=>{if(!a.value)return;let t=a.value.pickObject({x:e.point.x,y:e.point.y,radius:5});if(!t?.layer)return;let n=t.layer.props.onClick;n&&n(t,e)},e.on(`click`,u)}function f(e){u&&e&&e.off(`click`,u),u=null}let p=()=>{let t=e.value;return!t||a.value?Promise.resolve():l||(l=import(`@deck.gl/mapbox`).then(({MapboxOverlay:e})=>{a.value||(a.value=new e({interleaved:n,layers:[]}),t.addControl(a.value),d(t),c.value=!0)}).catch(e=>{console.error(`[deck.gl] Error initializing overlay:`,e),l=null}),l)},h=e=>e.id,g=()=>{a.value&&a.value.setProps({layers:o.value})},y=e=>{let t=h(e),n=o.value.findIndex(e=>h(e)===t);n>=0?o.value=[...o.value.slice(0,n),e,...o.value.slice(n+1)]:o.value=[...o.value,e],a.value?g():p().then(g)},b=e=>{o.value=o.value.filter(t=>h(t)!==e),g()},S=(e,t)=>{let n=o.value.findIndex(t=>h(t)===e);n>=0?(o.value=[...o.value.slice(0,n),t,...o.value.slice(n+1)],g()):y(t)},C=()=>[...o.value];return T(e,e=>{e&&!a.value&&(e.isStyleLoaded()?p():e.once(`style.load`,()=>{p()}))},{immediate:!0}),_(W,a),_(G,{addLayer:y,removeLayer:b,updateLayer:S,getLayers:C}),m(()=>{if(f(e.value),a.value&&e.value)try{e.value.removeControl(a.value),a.value.finalize()}catch(e){console.error(`[deck.gl] Error cleaning up overlay:`,e)}a.value=null,o.value=[],c.value=!1,l=null}),{overlay:a,layers:o,isInitialized:c,initOverlay:p,addLayer:y,removeLayer:b,updateLayer:S,getLayers:C}}function Ne(){let e=s(G,null),t=s(W,null);if(!e)throw Error(`[deck.gl] useDeckLayers must be used within a component that has initialized useDeckOverlay`);return{...e,overlay:t}}const q=Symbol(`Map`),J=Symbol(`Protocol`),Pe=o({__name:`VControlAttribution`,props:{options:{default:void 0},position:{default:`bottom-right`}},setup(e){let t={compact:!1,customAttribution:void 0},n=e,r=w(),i=U(q);p(()=>{a()});let a=()=>{let e=t;n.options&&(e={...n.options}),r&&r.default?.()&&(e.customAttribution=r.default()[0].children);let a=new O(e);i.value.addControl(a,n.position)};return(e,t)=>b(e.$slots,`default`)}}),Fe=o({__name:`VControlFullscreen`,props:{options:{default:void 0},position:{default:`top-left`}},setup(e){let t={container:void 0},n=e,r=U(q);p(()=>{i()});let i=()=>{let e=new k(n.options||t);r.value.addControl(e,n.position)};return()=>{}}}),Y=[`geolocate`,`error`,`outofmaxbounds`,`trackuserlocationstart`,`trackuserlocationend`],Ie=o({__name:`VControlGeolocate`,props:{options:{default:void 0},position:{default:`top-left`}},emits:Y,setup(e,{emit:t}){let n={fitBoundsOptions:{linear:!1,offset:[0,0],maxZoom:22},positionOptions:{enableHighAccuracy:!0,maximumAge:0,timeout:6e3},trackUserLocation:!0,showAccuracyCircle:!0,showUserLocation:!0},r=e,i=t,a=U(q);p(()=>{o()});let o=()=>{let e=new A(r.options||n);a.value.addControl(e,r.position),Y.forEach(t=>{e.on(t,()=>{i(t)})})};return()=>{}}}),Le=o({__name:`VControlNavigation`,props:{options:{default:void 0},position:{default:`top-left`}},setup(e){let t={showCompass:!0,showZoom:!0,visualizePitch:!0},n=e,r=s(q);p(()=>{i()});let i=()=>{let e=new N(n.options||t);r.value.addControl(e,n.position)};return()=>{}}}),Re=o({__name:`VControlScale`,props:{options:{default:void 0},position:{default:`bottom-left`}},setup(e){let t={maxWidth:100,unit:`metric`},n=e,r=s(q);p(()=>{i()});let i=()=>{let e=new F(n.options||t);r?.value.addControl(e,n.position)};return(e,t)=>b(e.$slots,`default`)}}),X=[`load`,`loadstart`,`loaderror`,`unload`,`statechange`,`stylechange`,`collapse`,`expand`,`streamingstart`,`streamingstop`,`streamingprogress`,`budgetreached`],ze=o({__name:`VControlLidar`,props:{options:{default:void 0},position:{default:`top-right`},defaultUrl:{default:void 0}},emits:X,setup(e,{expose:t,emit:n}){let r={collapsed:!0,pointSize:2,colorScheme:`elevation`,pickable:!1,autoZoom:!0},i=e,a=n,o=U(q),s=v(null);p(async()=>{await c()}),m(()=>{s.value&&o.value&&(o.value.removeControl(s.value),s.value=null)});let c=async()=>{let{LidarControl:e}=await import(`maplibre-gl-lidar`);s.value=new e(i.options||r),o.value.addControl(s.value,i.position),X.forEach(e=>{s.value.on(e,t=>{a(e,t)})}),i.defaultUrl&&s.value.loadPointCloud(i.defaultUrl)};return t({loadPointCloud:(e,t)=>s.value?.loadPointCloud(e,t),loadPointCloudStreaming:(e,t)=>s.value?.loadPointCloudStreaming(e,t),loadPointCloudEptStreaming:(e,t)=>s.value?.loadPointCloudEptStreaming(e,t),unloadPointCloud:e=>s.value?.unloadPointCloud(e),flyToPointCloud:e=>s.value?.flyToPointCloud(e),setPointSize:e=>s.value?.setPointSize(e),setColorScheme:e=>s.value?.setColorScheme(e),setColormap:e=>s.value?.setColormap(e),getColormap:()=>s.value?.getColormap(),setColorRange:e=>s.value?.setColorRange(e),getColorRange:()=>s.value?.getColorRange(),setOpacity:e=>s.value?.setOpacity(e),setPickable:e=>s.value?.setPickable(e),setUsePercentile:e=>s.value?.setUsePercentile(e),getUsePercentile:()=>s.value?.getUsePercentile(),setElevationRange:(e,t)=>s.value?.setElevationRange(e,t),clearElevationRange:()=>s.value?.clearElevationRange(),setPointBudget:e=>s.value?.setPointBudget(e),setZOffset:e=>s.value?.setZOffset(e),setZOffsetEnabled:e=>s.value?.setZOffsetEnabled(e),getZOffset:()=>s.value?.getZOffset(),setTerrain:e=>s.value?.setTerrain(e),getTerrain:()=>s.value?.getTerrain(),setPickInfoFields:e=>s.value?.setPickInfoFields(e),getPickInfoFields:()=>s.value?.getPickInfoFields(),setClassificationVisibility:(e,t)=>s.value?.setClassificationVisibility(e,t),showAllClassifications:()=>s.value?.showAllClassifications(),hideAllClassifications:()=>s.value?.hideAllClassifications(),getHiddenClassifications:()=>s.value?.getHiddenClassifications(),getAvailableClassifications:()=>s.value?.getAvailableClassifications(),toggle:()=>s.value?.toggle(),expand:()=>s.value?.expand(),collapse:()=>s.value?.collapse(),getState:()=>s.value?.getState(),getPointClouds:()=>s.value?.getPointClouds(),stopStreaming:e=>s.value?.stopStreaming(e),isStreaming:e=>s.value?.isStreaming(e),getStreamingProgress:()=>s.value?.getStreamingProgress(),getMap:()=>s.value?.getMap(),getPanelElement:()=>s.value?.getPanelElement(),getControl:()=>s.value}),()=>{}}});function Z(e,t,n){let r=null,i=!1,a=()=>{i&&t.value&&!t.value.classList.contains(`maplibregl-ctrl`)&&t.value.classList.add(`maplibregl-ctrl`)};p(()=>{!e.value||!t.value||(r={onAdd:()=>(t.value?.classList.add(`maplibregl-ctrl`),t.value),onRemove:()=>{}},e.value.addControl(r,n),i=!0)}),h(()=>{a()}),m(()=>{if(e.value&&r)try{e.value.removeControl(r)}catch{}})}const Be={class:`v-layer-control-header`},Ve={class:`v-layer-control-title`},He=[`aria-pressed`,`title`],Ue={key:0,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},We={key:1,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},Ge={class:`v-layer-control-slider-row`},Ke=[`value`,`disabled`],qe={class:`v-layer-control-value`},Je=o({__name:`VControlLayer`,props:{layerId:{},position:{default:`top-right`},visible:{type:Boolean,default:!0},opacity:{default:1},title:{default:`Layer Control`},layerType:{default:void 0}},emits:[`visibility-change`,`opacity-change`,`update:visible`,`update:opacity`],setup(e,{emit:t}){let n=e,r=t,o=U(q),c=s(G,null),l=v(null),d=v(n.visible),f=v(n.opacity);Z(o,l,n.position);let m=()=>n.layerType?n.layerType:o.value?o.value.getLayer(n.layerId)?`maplibre`:c&&c.getLayers().find(e=>e.id===n.layerId)?`deckgl`:null:null,h=()=>{if(!o.value||m()!==`maplibre`)return null;let e=o.value.getLayer(n.layerId);if(!e)return null;switch(e.type){case`fill`:return`fill-opacity`;case`line`:return`line-opacity`;case`circle`:return`circle-opacity`;case`symbol`:return`icon-opacity`;default:return null}},_=e=>{let t=m();if(t===`maplibre`){if(!o.value)return;if(!o.value.getLayer(n.layerId)){console.warn(`MapLibre layer not found: ${n.layerId}`);return}o.value.setLayoutProperty(n.layerId,`visibility`,e?`visible`:`none`)}else if(t===`deckgl`){if(!c){console.warn(`deck.gl overlay not available for layer: ${n.layerId}`);return}let t=c.getLayers().find(e=>e.id===n.layerId);if(!t){console.warn(`deck.gl layer not found: ${n.layerId}`);return}if(typeof t.clone==`function`){let r=t.clone({visible:e});c.updateLayer(n.layerId,r)}}else{console.warn(`Layer not found in MapLibre or deck.gl: ${n.layerId}`);return}r(`visibility-change`,e),r(`update:visible`,e)},y=e=>{let t=m();if(t===`maplibre`){let t=h();if(!o.value||!t)return;if(!o.value.getLayer(n.layerId)){console.warn(`MapLibre layer not found: ${n.layerId}`);return}o.value.setPaintProperty(n.layerId,t,e)}else if(t===`deckgl`){if(!c){console.warn(`deck.gl overlay not available for layer: ${n.layerId}`);return}let t=c.getLayers().find(e=>e.id===n.layerId);if(!t){console.warn(`deck.gl layer not found: ${n.layerId}`);return}if(typeof t.clone==`function`){let r=t.clone({opacity:e});c.updateLayer(n.layerId,r)}}else{console.warn(`Layer not found in MapLibre or deck.gl: ${n.layerId}`);return}r(`opacity-change`,e),r(`update:opacity`,e)},x=()=>{d.value=!d.value},C=e=>{let t=e.target;f.value=Number(t.value)/100};return T(d,e=>{_(e)}),T(f,e=>{y(e)}),T(()=>n.visible,e=>{d.value=e}),T(()=>n.opacity,e=>{f.value=e}),p(()=>{let e=!1,t=()=>e?!0:m()?(e=!0,_(d.value),y(f.value),!0):!1;if(t())return;let n=[100,200,300,500,500,1e3,1e3,1e3,2e3,3e3],r=0,i=()=>{t()||r>=n.length||setTimeout(()=>{r++,i()},n[r])};i()}),(t,n)=>(g(),i(`div`,{ref_key:`containerRef`,ref:l,class:`v-layer-control`},[a(`div`,Be,[a(`span`,Ve,S(e.title),1),a(`button`,{type:`button`,class:u([`v-layer-control-toggle`,{"is-hidden":!d.value}]),"aria-pressed":d.value,title:d.value?`Hide layer`:`Show layer`,onClick:x},[d.value?(g(),i(`svg`,Ue,[...n[0]||(n[0]=[a(`path`,{d:`M8 3C4.5 3 1.5 5.5 0.5 8C1.5 10.5 4.5 13 8 13C11.5 13 14.5 10.5 15.5 8C14.5 5.5 11.5 3 8 3Z`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1),a(`circle`,{cx:`8`,cy:`8`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1.25`},null,-1)])])):(g(),i(`svg`,We,[...n[1]||(n[1]=[a(`path`,{d:`M2 2L14 14M6.5 6.5C5.9 7.1 5.5 7.9 5.5 8.8C5.5 10.4 6.9 11.5 8 11.5C8.9 11.5 9.7 11.1 10.3 10.5M8 3C4.5 3 1.5 5.5 0.5 8C1 9.2 1.8 10.3 2.8 11.2M13.2 11.2C14.2 10.3 15 9.2 15.5 8C14.5 5.5 11.5 3 8 3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])]))],10,He)]),a(`div`,Ge,[a(`input`,{type:`range`,min:`0`,max:`100`,value:Math.round(f.value*100),class:`v-layer-control-slider`,disabled:!d.value,onInput:C},null,40,Ke),a(`span`,qe,S(Math.round(f.value*100))+`%`,1)]),b(t.$slots,`default`)],512))}}),Ye={class:`v-layer-group-title`},Xe={key:1,class:`v-layer-group-header is-static`},Ze={class:`v-layer-group-title`},Qe={key:2,class:`v-layer-group-content`},$e={class:`v-layer-group-item-header`},et={class:`v-layer-group-item-title`},tt=[`aria-pressed`,`title`,`onClick`],nt={key:0,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},rt={key:1,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},it={class:`v-layer-group-slider-row`},at=[`value`,`disabled`,`onInput`],ot={class:`v-layer-group-value`},st=o({__name:`VControlLayerGroup`,props:{layers:{},position:{default:`top-right`},title:{default:`Layers`},collapsible:{type:Boolean,default:!0},collapsed:{type:Boolean,default:!1}},emits:[`visibility-change`,`opacity-change`,`update:layers`],setup(t,{emit:n}){let o=t,c=n,l=U(q),d=s(G,null),f=v(null),m=v(o.collapsed),h=v(new Map);Z(l,f,o.position);let _=()=>{for(let e of o.layers)h.value.set(e.id,{visible:e.visible??!0,opacity:e.opacity??1})},x=(e,t)=>t||(l.value?l.value.getLayer(e)?`maplibre`:d&&d.getLayers().find(t=>t.id===e)?`deckgl`:null:null),C=e=>{if(!l.value)return null;let t=l.value.getLayer(e);if(!t)return null;switch(t.type){case`fill`:return`fill-opacity`;case`line`:return`line-opacity`;case`circle`:return`circle-opacity`;case`symbol`:return`icon-opacity`;case`raster`:return`raster-opacity`;default:return null}},w=(e,t,n)=>{let r=x(e,n);if(r===`maplibre`){if(!l.value)return;if(!l.value.getLayer(e)){console.warn(`[VControlLayerGroup] MapLibre layer not found: ${e}`);return}l.value.setLayoutProperty(e,`visibility`,t?`visible`:`none`)}else if(r===`deckgl`){if(!d){console.warn(`[VControlLayerGroup] deck.gl overlay not available for layer: ${e}`);return}let n=d.getLayers().find(t=>t.id===e);if(!n){console.warn(`[VControlLayerGroup] deck.gl layer not found: ${e}`);return}if(typeof n.clone==`function`){let r=n.clone({visible:t});d.updateLayer(e,r)}}else{console.warn(`[VControlLayerGroup] Layer not found: ${e}`);return}c(`visibility-change`,{layerId:e,visible:t})},E=(e,t,n)=>{let r=x(e,n);if(r===`maplibre`){let n=C(e);if(!l.value||!n)return;if(!l.value.getLayer(e)){console.warn(`[VControlLayerGroup] MapLibre layer not found: ${e}`);return}l.value.setPaintProperty(e,n,t)}else if(r===`deckgl`){if(!d){console.warn(`[VControlLayerGroup] deck.gl overlay not available for layer: ${e}`);return}let n=d.getLayers().find(t=>t.id===e);if(!n){console.warn(`[VControlLayerGroup] deck.gl layer not found: ${e}`);return}if(typeof n.clone==`function`){let r=n.clone({opacity:t});d.updateLayer(e,r)}}else{console.warn(`[VControlLayerGroup] Layer not found: ${e}`);return}c(`opacity-change`,{layerId:e,opacity:t})},D=e=>{let t=h.value.get(e.id);if(!t)return;let n=!t.visible;t.visible=n,w(e.id,n,e.type)},O=(e,t)=>{let n=t.target,r=Number(n.value)/100,i=h.value.get(e.id);i&&(i.opacity=r,E(e.id,r,e.type))},k=e=>h.value.get(e)??{visible:!0,opacity:1},A=()=>{o.collapsible&&(m.value=!m.value)};return T(()=>o.layers,()=>{_()},{deep:!0}),T(()=>o.collapsed,e=>{m.value=e}),p(()=>{_();for(let e of o.layers){let t=k(e.id);w(e.id,t.visible,e.type),E(e.id,t.opacity,e.type)}}),(n,o)=>(g(),i(`div`,{ref_key:`containerRef`,ref:f,class:u([`v-layer-group maplibregl-ctrl`,{"is-collapsed":m.value}])},[t.collapsible?(g(),i(`button`,{key:0,type:`button`,class:`v-layer-group-header`,onClick:A},[a(`span`,Ye,S(t.title),1),(g(),i(`svg`,{class:u([`v-layer-group-chevron`,{"is-collapsed":m.value}]),width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`},[...o[0]||(o[0]=[a(`path`,{d:`M3 5L7 9L11 5`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])],2))])):(g(),i(`div`,Xe,[a(`span`,Ze,S(t.title),1)])),m.value?r(`v-if`,!0):(g(),i(`div`,Qe,[(g(!0),i(e,null,y(t.layers,e=>(g(),i(`div`,{key:e.id,class:`v-layer-group-item`},[a(`div`,$e,[a(`span`,et,S(e.title),1),a(`button`,{type:`button`,class:u([`v-layer-group-toggle`,{"is-hidden":!k(e.id).visible}]),"aria-pressed":k(e.id).visible,title:k(e.id).visible?`Hide layer`:`Show layer`,onClick:t=>D(e)},[k(e.id).visible?(g(),i(`svg`,nt,[...o[1]||(o[1]=[a(`path`,{d:`M8 3C4.5 3 1.5 5.5 0.5 8C1.5 10.5 4.5 13 8 13C11.5 13 14.5 10.5 15.5 8C14.5 5.5 11.5 3 8 3Z`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1),a(`circle`,{cx:`8`,cy:`8`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1.25`},null,-1)])])):(g(),i(`svg`,rt,[...o[2]||(o[2]=[a(`path`,{d:`M2 2L14 14M6.5 6.5C5.9 7.1 5.5 7.9 5.5 8.8C5.5 10.4 6.9 11.5 8 11.5C8.9 11.5 9.7 11.1 10.3 10.5M8 3C4.5 3 1.5 5.5 0.5 8C1 9.2 1.8 10.3 2.8 11.2M13.2 11.2C14.2 10.3 15 9.2 15.5 8C14.5 5.5 11.5 3 8 3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])]))],10,tt)]),a(`div`,it,[a(`input`,{type:`range`,min:`0`,max:`100`,value:Math.round(k(e.id).opacity*100),class:`v-layer-group-slider`,disabled:!k(e.id).visible,onInput:t=>O(e,t)},null,40,at),a(`span`,ot,S(Math.round(k(e.id).opacity*100))+`%`,1)])]))),128))])),b(n.$slots,`default`)],2))}}),ct={class:`v-legend-control-title`},lt={key:0,class:`v-legend-control-content`},ut=[`disabled`,`onClick`],dt={class:`v-legend-control-label`},ft={key:0,class:`v-legend-control-count`},pt={class:`v-legend-control-gradient-labels`},mt={class:`v-legend-control-size-circle-wrap`},ht={class:`v-legend-control-label`},gt={key:3,class:`v-legend-control-table`},_t=[`title`],vt={class:`v-legend-control-table-label`},yt={class:`v-legend-control-table-value`},bt=o({__name:`VControlLegend`,props:{layerIds:{},type:{default:`category`},items:{},position:{default:`top-right`},property:{},autoGenerate:{type:Boolean,default:!1},title:{default:`Legend`},collapsed:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0}},emits:[`item-click`,`filter-change`,`update:filter`],setup(n,{emit:o}){let c=n,l=o,f=U(q),m=s(G,null),h=v(null),_=v(c.collapsed),x=v(new Map),C=v([]);Z(f,h,c.position);let w=e=>{let t=[],n=e[e.length-1];for(let n=2;n<e.length-1;n+=2){let r=e[n],i=e[n+1];if(Array.isArray(r))for(let e of r)t.push({value:e,label:String(e),color:i,visible:!0});else t.push({value:r,label:String(r),color:i,visible:!0})}return t.length>0&&n&&typeof n==`string`&&t.push({value:`__default__`,label:`Other`,color:n,visible:!0}),t},E=e=>{let t=[],n=[],r=e[2];t.push(r);for(let r=3;r<e.length;r+=2){let i=e[r],a=e[r+1];n.push(i),t.push(a)}return n.length===0?null:{min:n[0],max:n[n.length-1],colors:t,stops:n}},D=e=>{let t=[],n=[];e[1]&&Array.isArray(e[1]);for(let r=3;r<e.length;r+=2){let i=e[r],a=e[r+1];n.push(i),t.push(a)}return n.length<2?null:{min:n[0],max:n[n.length-1],colors:t,stops:n}},O=()=>{if(!c.autoGenerate||!c.property||!f.value)return[];let e=c.layerIds[0];if(!e)return[];if(!f.value.getLayer(e))return console.warn(`[VControlLegend] Layer not found: ${e}`),[];let t=f.value.getPaintProperty(e,c.property);if(!t||!Array.isArray(t))return console.warn(`[VControlLegend] Paint property "${c.property}" not found or not an expression`),[];let n=t[0];if(n===`match`)return w(t);if(n===`step`){let e=E(t);return e?[e]:[]}if(n===`interpolate`||n===`interpolate-hcl`||n===`interpolate-lab`){let e=D(t);return e?[e]:[]}return console.warn(`[VControlLegend] Unsupported expression type: ${n}`),[]},k=t(()=>c.items&&c.items.length>0?c.items:C.value),A=t(()=>c.type===`category`?k.value.filter(e=>`value`in e&&`color`in e&&`label`in e):[]),j=t(()=>{if(c.type!==`gradient`)return null;let e=k.value;if(e.length===0)return null;let t=e[0];return`min`in t&&`max`in t&&`colors`in t?t:null}),M=t(()=>c.type===`size`?k.value.filter(e=>`size`in e&&`value`in e):[]),N=t(()=>c.type===`table`?k.value.filter(e=>`label`in e&&`color`in e&&`value`in e&&!(`size`in e)&&!(`visible`in e)).sort((e,t)=>t.value-e.value):[]),P=e=>e.formattedValue?e.formattedValue:`${e.value}${e.unit??``}`,F=t(()=>({visibleValues:Array.from(x.value.entries()).filter(([,e])=>e).map(([e])=>e)})),I=t(()=>j.value?`linear-gradient(to right, ${j.value.colors.join(`, `)})`:``),L=()=>{if(c.type===`category`)for(let e of A.value)x.value.set(e.value,e.visible??!0)},R=()=>{if(!f.value||!c.property||c.type!==`category`)return;let e=F.value.visibleValues.filter(e=>e!==`__default__`),t=A.value.map(e=>e.value).filter(e=>e!==`__default__`),n=e.length===t.length;for(let t of c.layerIds)if(f.value.getLayer(t))if(n)f.value.setFilter(t,null);else if(e.length===0)f.value.setFilter(t,[`==`,[`get`,`_never_match_`],!0]);else{let n=f.value.getPaintProperty(t,c.property);if(!n||!Array.isArray(n))continue;let r=n[1],i=null;Array.isArray(r)&&r[0]===`get`&&(i=r[1]),i&&f.value.setFilter(t,[`in`,[`get`,i],[`literal`,e]])}},z=()=>{if(!m||c.type!==`category`)return;let e=F.value.visibleValues.filter(e=>e!==`__default__`),t=A.value.map(e=>e.value).filter(e=>e!==`__default__`),n=e.length===t.length,r=m.getLayers();for(let t of c.layerIds){if(f.value?.getLayer(t))continue;let i=r.find(e=>e.id===t);if(i){if(!i.props?.extensions?.some(e=>e?.constructor?.name===`DataFilterExtension`)){console.warn(`[VControlLegend] deck.gl layer "${t}" requires DataFilterExtension for filtering. Add DataFilterExtension to layer extensions and configure getFilterValue accessor.`);continue}if(typeof i.clone==`function`)if(n){let e=i.clone({filterRange:[-1/0,1/0]});m.updateLayer(t,e)}else if(e.length===0){let e=i.clone({filterRange:[1/0,1/0]});m.updateLayer(t,e)}else{let n=e.map(e=>A.value.findIndex(t=>t.value===e)).filter(e=>e>=0);if(n.length>0){let e=Math.min(...n),r=Math.max(...n),a=i.clone({filterRange:[e-.5,r+.5]});m.updateLayer(t,a)}}}}},B=(e,t)=>{if(!c.interactive)return;let n=!(x.value.get(e.value)??!0);x.value.set(e.value,n),R(),z(),l(`item-click`,{item:e,index:t,visible:n}),l(`filter-change`,{filter:F.value,layerIds:c.layerIds}),l(`update:filter`,F.value)},V=e=>x.value.get(e.value)??!0,H=()=>{_.value=!_.value};return T(()=>c.items,()=>{L()},{deep:!0}),T(()=>c.collapsed,e=>{_.value=e}),p(()=>{c.autoGenerate&&(C.value=O()),L()}),(t,o)=>(g(),i(`div`,{ref_key:`containerRef`,ref:h,class:u([`v-legend-control`,{"is-collapsed":_.value}])},[a(`button`,{type:`button`,class:`v-legend-control-header`,onClick:H},[a(`span`,ct,S(n.title),1),(g(),i(`svg`,{class:u([`v-legend-control-chevron`,{"is-collapsed":_.value}]),width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`},[...o[0]||(o[0]=[a(`path`,{d:`M3 5L7 9L11 5`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])],2))]),_.value?r(`v-if`,!0):(g(),i(`div`,lt,[n.type===`category`?(g(!0),i(e,{key:0},y(A.value,(e,t)=>(g(),i(`button`,{key:e.value,type:`button`,class:u([`v-legend-control-item`,{"is-interactive":n.interactive,"is-hidden":!V(e)}]),disabled:!n.interactive,onClick:n=>B(e,t)},[a(`span`,{class:`v-legend-control-swatch`,style:d({backgroundColor:e.color})},null,4),a(`span`,dt,S(e.label),1),e.count===void 0?r(`v-if`,!0):(g(),i(`span`,ft,S(e.count),1))],10,ut))),128)):n.type===`gradient`&&j.value?(g(),i(e,{key:1},[a(`div`,{class:`v-legend-control-gradient`,style:d({background:I.value})},null,4),a(`div`,pt,[a(`span`,null,S(j.value.minLabel??j.value.min),1),a(`span`,null,S(j.value.maxLabel??j.value.max),1)])],64)):n.type===`size`?(g(!0),i(e,{key:2},y(M.value,e=>(g(),i(`div`,{key:e.value,class:`v-legend-control-size-item`},[a(`div`,mt,[a(`div`,{class:`v-legend-control-size-circle`,style:d({width:`${Math.min(e.size,20)}px`,height:`${Math.min(e.size,20)}px`})},null,4)]),a(`span`,ht,S(e.label),1)]))),128)):n.type===`table`?(g(),i(`div`,gt,[(g(!0),i(e,null,y(N.value,e=>(g(),i(`div`,{key:e.label,class:`v-legend-control-table-row`,title:e.description},[a(`span`,{class:`v-legend-control-swatch`,style:d({backgroundColor:e.color})},null,4),a(`span`,vt,S(e.label),1),a(`span`,yt,S(P(e)),1)],8,_t))),128))])):r(`v-if`,!0)])),b(t.$slots,`default`)],2))}}),xt=o({__name:`VLayerMaplibreCanvas`,props:{source:{},layer:{},sourceId:{default:`maplibre.gl-canvas-source`},layerId:{default:`maplibre.gl-canvas-layer`},before:{default:``}},setup(e){let t=e,n=U(q),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Canvas layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}catch(e){console.error(`Error updating Canvas source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Canvas layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Canvas layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),St=o({__name:`VLayerMaplibreGeojson`,props:{sourceId:{default:`maplibre-gl-geojson-source`},layerId:{default:`maplibre-gl-geojson-layer`},source:{},layer:{},before:{default:``}},emits:[`on-click`],setup(e,{emit:t}){let n=e,r=t,i=U(q),a=v(!1),o=e=>!e||typeof e==`string`?!1:e&&typeof e==`object`&&`type`in e?e.type===`FeatureCollection`&&`features`in e?e.features.length>0:e.type===`Feature`||e.type===`Point`||e.type===`LineString`||e.type===`Polygon`||e.type===`MultiPoint`||e.type===`MultiLineString`||e.type===`MultiPolygon`:!1,s=()=>i.value||null,c=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?a.value=!0:(a.value=!1,setTimeout(t,200))};t()})},u=()=>{let e=s();if(!(!e||!e.isStyleLoaded())){if(!o(n.source.data)){console.log(`[${n.layerId}] Waiting for valid data before adding layer`);return}try{if(e.getSource(n.sourceId)||e.addSource(n.sourceId,n.source),!e.getLayer(n.layerId)){let t={...n.layer,id:n.layerId,source:n.sourceId};e.addLayer(t,n.before)}}catch(e){console.error(`Error adding GeoJSON layer:`,e)}}},d=()=>{let e=s();if(e)try{let t=e.getSource(n.sourceId);if(t&&`setData`in t){let r=e.getStyle().layers.filter(e=>e.type!==`background`&&`source`in e&&e.source===n.sourceId);(r.length===0||r[0]?.id===n.layerId)&&t.setData(n.source.data)}else t||u()}catch(e){console.error(`Error updating GeoJSON source:`,e)}},m=()=>{let e=s();if(e)try{e.getLayer(n.layerId)?(Object.entries(n.layer.paint||{}).forEach(([t,r])=>{e.setPaintProperty(n.layerId,t,r)}),Object.entries(n.layer.layout||{}).forEach(([t,r])=>{e.setLayoutProperty(n.layerId,t,r)})):u()}catch(e){console.error(`Error updating GeoJSON layer:`,e)}},h=e=>{if(e)try{e.on(`click`,n.layerId,e=>{e.features&&e.features.length>0&&r(`on-click`,{features:e.features,coordinates:e.lngLat})}),e.on(`mouseenter`,n.layerId,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,n.layerId,()=>{e.getCanvas().style.cursor=``})}catch(e){console.error(`Error in setupLayerEvents:`,e)}},g=v(!1),_=async()=>{if(g.value)return;let e=s();!e||!e.isStyleLoaded()||o(n.source.data)&&(await l(),!g.value&&e.isStyleLoaded()&&(u(),h(e),g.value=!0))};return T(a,e=>{e&&_()}),T(i,e=>{e&&(c(e),e.isStyleLoaded()&&(a.value=!0,_()))},{immediate:!0}),T(()=>n.source,(e,t)=>{if(o(e?.data)&&JSON.stringify(e.data)!==JSON.stringify(t?.data)){let e=s();e?.isStyleLoaded()&&(e.getSource(n.sourceId)?d():(u(),g.value||(h(e),g.value=!0)))}},{deep:!0}),T(()=>n.layer,m,{deep:!0}),T(()=>n.layer.layout?.visibility,e=>{let t=s();if(!t||!t.isStyleLoaded())return;let r=t.getLayer(n.layerId);if(!r&&e===`visible`)o(n.source.data)&&u();else if(r)try{t.setLayoutProperty(n.layerId,`visibility`,e)}catch(e){console.error(`Error updating visibility for ${n.layerId}:`,e)}},{immediate:!0}),p(()=>{l(()=>{_()})}),f(()=>{let e=s();if(e)try{e.getLayer(n.layerId)&&e.removeLayer(n.layerId),e.getStyle().layers.filter(e=>e.type!==`background`&&`source`in e&&e.source===n.sourceId).length===0&&e.getSource(n.sourceId)&&e.removeSource(n.sourceId)}catch(e){console.error(`Error cleaning up GeoJSON layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Ct=o({__name:`VLayerMaplibreImage`,props:{sourceId:{type:String,default:`maplibre.gl-image-source`,required:!0},layerId:{type:String,default:`maplibre.gl-image-layer`,required:!0},source:{type:Object,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,n=U(q),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Image layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n)if(n.updateImage)n.updateImage({url:t.source.url,coordinates:t.source.coordinates});else{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error updating Image source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Image layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Image layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Q=o({__name:`VLayerMaplibreRaster`,props:{sourceId:{},source:{},layerId:{},layer:{},before:{}},setup(e){let t=e,n=U(q),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),e.getLayer(t.layerId)||(e.addLayer(t.layer,t.before),t.layer.layout?.visibility&&e.setLayoutProperty(t.layerId,`visibility`,t.layer.layout.visibility))}catch(e){console.error(`[${t.layerId}] Error setting up layer:`,e)}},s=()=>{let e=i();if(e)try{let n=t.before;e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let r={...t.layer,id:t.layerId,type:`raster`,source:t.sourceId};n&&e.getLayer(n)?e.addLayer(r,n):e.addLayer(r)}catch(e){console.error(`Error updating Raster source:`,e)}};return T(()=>t.source.tiles?.[0],(e,t)=>{e!==t&&s()}),T(()=>t.layer,()=>{let e=i();if(e)try{if(e.getLayer(t.layerId)){let n=t.layer.paint||{};Object.entries(n).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)});let r=t.layer.layout||{};Object.entries(r).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)})}}catch(e){console.error(`Error updating Raster layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),T(()=>t.layer.layout?.visibility,e=>{let n=i();if(n)if(n.getLayer(t.layerId))try{n.setLayoutProperty(t.layerId,`visibility`,e),e===`visible`&&t.before&&n.moveLayer(t.layerId,t.before)}catch(e){console.error(`[${t.layerId}] Error updating visibility:`,e)}else try{n.addLayer(t.layer,t.before)}catch(e){console.error(`[${t.layerId}] Error adding layer:`,e)}},{immediate:!0}),T(()=>t.before,e=>{let n=i();if(!(!n||!n.getLayer(t.layerId))&&t.layer.layout?.visibility===`visible`)try{console.log(`[${t.layerId}] Moving layer before:`,e),n.moveLayer(t.layerId,e)}catch(e){console.error(`[${t.layerId}] Error moving layer:`,e)}}),p(()=>{if(i())try{o()}catch(e){console.error(`[${t.layerId}] Error setting up layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),$=[`click`,`dblclick`,`mousedown`,`mouseup`,`mousemove`,`mouseenter`,`mouseleave`,`mouseover`,`mouseout`,`contextmenu`,`touchstart`,`touchend`,`touchcancel`],wt=`error.load.idle.remove.render.resize.webglcontextlost.webglcontextrestored.dataloading.data.tiledataloading.sourcedataloading.styledataloading.sourcedata.styledata.boxzoomcancel.boxzoomstart.boxzoomend.touchcancel.touchmove.touchend.touchstart.click.contextmenu.dblclick.mousemove.mouseup.mousedown.mouseout.mouseover.movestart.move.moveend.zoomstart.zoom.zoomend.rotatestart.rotate.rotateend.dragstart.drag.dragend.pitchstart.pitch.pitchend.wheel`.split(`.`),Tt=[`dragstart`,`drag`,`dragend`],Et=[`click`,`mouseenter`,`mouseleave`],Dt=[`open`,`close`],Ot=o({__name:`VLayerMaplibreVector`,props:{sourceId:{},source:{},layerId:{},layer:{},before:{}},emits:[...$],setup(e,{emit:t}){let n=e,r=t,i=U(q),a=v(!1),o=()=>i.value||null,s=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?a.value=!0:(a.value=!1,setTimeout(t,200))};t()})},c=()=>{let e=o();if(e)try{e.getSource(n.sourceId)||e.addSource(n.sourceId,n.source),e.getLayer(n.layerId)||(n.layer.layout?.visibility===`visible`?e.addLayer(n.layer,n.before):e.addLayer(n.layer))}catch(e){console.error(`[${n.layerId}] Error setting up layer:`,e)}},l=()=>{let e=o();if(e)try{let t=e.getSource(n.sourceId);if(t&&JSON.stringify(t.serialize())!==JSON.stringify(n.source)){e.getLayer(n.layerId)&&e.removeLayer(n.layerId),e.removeSource(n.sourceId),e.addSource(n.sourceId,n.source);let t={...n.layer,id:n.layerId,source:n.sourceId};e.addLayer(t,n.before)}}catch(e){console.error(`Error updating vector source:`,e)}},u=()=>{let e=o();if(e)try{if(e.getLayer(n.layerId)){let t=e.getLayer(n.layerId),r=t?.paint||{},i=t?.layout||{};Object.entries(n.layer.paint||{}).forEach(([t,i])=>{JSON.stringify(r[t])!==JSON.stringify(i)&&e.setPaintProperty(n.layerId,t,i)}),Object.entries(n.layer.layout||{}).forEach(([t,r])=>{JSON.stringify(i[t])!==JSON.stringify(r)&&e.setLayoutProperty(n.layerId,t,r)})}}catch(e){console.error(`Error updating vector layer:`,e)}},d=e=>{if(e)try{$.forEach(t=>{e.on(t,n.layerId,n=>{t===`mousemove`&&(e.getCanvas().style.cursor=`pointer`),t===`mouseleave`&&(e.getCanvas().style.cursor=``),r(t,n)})})}catch(e){console.error(`Error setting up layer events:`,e)}};return T(i,(e,t)=>{e&&e!==t&&s(e)},{immediate:!0}),T(a,e=>{if(e){let e=o();if(!e)return;c(),d(e)}}),T(()=>JSON.stringify(n.source.tiles),(e,t)=>{e!==t&&l()}),T(()=>({paint:n.layer.paint,layout:n.layer.layout?{...n.layer.layout,visibility:void 0}:void 0}),(e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&u()},{deep:!0}),T(()=>n.layer.layout?.visibility,e=>{let t=o();if(t)if(t.getLayer(n.layerId))try{t.setLayoutProperty(n.layerId,`visibility`,e),e===`visible`&&n.before&&setTimeout(()=>{t.moveLayer(n.layerId,n.before)},0)}catch(e){console.error(`[${n.layerId}] Error updating visibility:`,e)}else try{t.getSource(n.sourceId)||t.addSource(n.sourceId,n.source),t.addLayer(n.layer,n.before)}catch(e){console.error(`[${n.layerId}] Error adding layer:`,e)}},{immediate:!0}),T(()=>n.before,e=>{let t=o();if(!(!t||!t.getLayer(n.layerId))&&n.layer.layout?.visibility===`visible`)try{t.moveLayer(n.layerId,e)}catch(e){console.error(`Error reordering vector layer ${n.layerId}:`,e)}}),T(()=>n.layer.layout?.visibility,e=>{let t=o();if(t)if(t.getLayer(n.layerId))try{t.setLayoutProperty(n.layerId,`visibility`,e)}catch(e){console.error(`[${n.layerId}] Error updating visibility:`,e)}else try{t.getSource(n.sourceId)||t.addSource(n.sourceId,n.source),t.addLayer(n.layer,n.before)}catch(e){console.error(`[${n.layerId}] Error adding layer:`,e)}},{immediate:!0}),p(()=>{if(o())try{c()}catch(e){console.error(`[${n.layerId}] Error setting up layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),kt=o({__name:`VLayerMaplibreVideo`,props:{sourceId:{type:String,default:`maplibre.gl-video-source`,required:!0},layerId:{type:String,default:`maplibre.gl-video-layer`,required:!0},source:{type:Object,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,n=U(q),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Video layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n){e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let r={...t.layer,id:t.layerId,source:t.sourceId};if(e.addLayer(r,t.before),n.getVideo){let e=n.getVideo();e&&e.play().catch(e=>{console.error(`Error playing video:`,e)})}}}catch(e){console.error(`Error updating Video source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Video layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n?.getVideo){let e=n.getVideo();e&&(e.pause(),e.remove())}e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Video layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),At=o({__name:`VLayerMaplibrePmtile`,props:{sourceId:{type:String,default:`maplibre.gl-pmtile-source`,required:!0},layerId:{type:String,default:`maplibre.gl-pmtile-layer`,required:!0},url:{type:String,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,r=s(J);if(!r)throw Error(`Protocol not provided`);let i=v({type:`raster`,url:`pmtiles://${t.url}`,tileSize:512,volatile:!0});return p(async()=>{let e=new I(t.url);r.add(e)}),(t,r)=>(g(),n(Q,{"source-id":e.sourceId,"layer-id":e.layerId,source:i.value,layer:{...e.layer,type:`raster`},before:e.before},null,8,[`source-id`,`layer-id`,`source`,`layer`,`before`]))}}),jt=o({__name:`VLayerMaplibreCluster`,props:{sourceId:{default:`cluster-source`},baseLayerId:{default:`cluster`},source:{},visibility:{type:Boolean,default:!0},clusterPaint:{default:()=>({colors:[`#51bbd6`,`#f1f075`,`#f28cb1`],radii:[20,30,40],breakpoints:[100,750]})},unclusteredPaint:{default:()=>({color:`#51bbd6`,radius:6})},textPaint:{default:()=>({color:`#ffffff`,font:[`DIN Offc Pro Medium`,`Arial Unicode MS Bold`],size:12})}},emits:[`cluster-click`,`point-click`],setup(e,{emit:n}){let r=e,i=n,a=U(q),o=v(!1),s=t(()=>`${r.baseLayerId}-clusters`),c=t(()=>`${r.baseLayerId}-cluster-count`),l=t(()=>`${r.baseLayerId}-unclustered-point`),u=()=>a.value||null,d=e=>typeof e==`string`?!1:e&&typeof e==`object`&&`type`in e&&e.type===`FeatureCollection`&&`features`in e?e.features.length>0:!1,m=()=>{let e=u();if(!(!e||!e.isStyleLoaded()))try{if(!e.getSource(r.sourceId))console.log(`Adding clustered source: ${r.sourceId}`),e.addSource(r.sourceId,{...r.source,cluster:!0,clusterMaxZoom:14,clusterRadius:50});else{let t=e.getSource(r.sourceId);t&&`setData`in t&&t.setData(r.source.data)}e.getLayer(s.value)||(console.log(`Adding clusters layer: ${s.value}`),e.addLayer({id:s.value,type:`circle`,source:r.sourceId,filter:[`has`,`point_count`],paint:{"circle-color":[`step`,[`get`,`point_count`],r.clusterPaint.colors[0],r.clusterPaint.breakpoints[0],r.clusterPaint.colors[1],r.clusterPaint.breakpoints[1],r.clusterPaint.colors[2]],"circle-radius":[`step`,[`get`,`point_count`],r.clusterPaint.radii[0],r.clusterPaint.breakpoints[0],r.clusterPaint.radii[1],r.clusterPaint.breakpoints[1],r.clusterPaint.radii[2]],"circle-stroke-width":2,"circle-stroke-color":`#ffffff`,"circle-opacity":.9},layout:{visibility:r.visibility?`visible`:`none`}})),e.getLayer(c.value)||(console.log(`Adding cluster count layer: ${c.value}`),e.addLayer({id:c.value,type:`symbol`,source:r.sourceId,filter:[`has`,`point_count`],layout:{"text-field":`{point_count_abbreviated}`,"text-font":r.textPaint.font,"text-size":r.textPaint.size,visibility:r.visibility?`visible`:`none`},paint:{"text-color":r.textPaint.color}})),e.getLayer(l.value)||(console.log(`Adding unclustered points layer: ${l.value}`),e.addLayer({id:l.value,type:`circle`,source:r.sourceId,filter:[`!`,[`has`,`point_count`]],paint:{"circle-color":r.unclusteredPaint.color,"circle-radius":r.unclusteredPaint.radius,"circle-stroke-width":2,"circle-stroke-color":`#ffffff`,"circle-opacity":.95},layout:{visibility:r.visibility?`visible`:`none`}})),console.log(`All cluster layers added for ${r.baseLayerId}`),_(e)}catch(e){console.error(`Error adding cluster layers:`,e)}},h=()=>{let e=u();if(e)try{let t=e.getSource(r.sourceId);t&&`setData`in t?(console.log(`Updating source ${r.sourceId} with data`),t.setData(r.source.data),setTimeout(()=>{m()},100)):t||m()}catch(e){console.error(`Error updating source:`,e)}},g=e=>{let t=u();if(!t)return;let n=e?`visible`:`none`;[s.value,c.value,l.value].forEach(e=>{t.getLayer(e)&&t.setLayoutProperty(e,`visibility`,n)})},_=e=>{if(e)try{e.on(`click`,s.value,e=>{e.features&&e.features.length>0&&i(`cluster-click`,{features:e.features,coordinates:e.lngLat})}),e.on(`click`,l.value,e=>{e.features&&e.features.length>0&&i(`point-click`,{features:e.features,coordinates:e.lngLat})}),[s.value,l.value].forEach(t=>{e.on(`mouseenter`,t,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,t,()=>{e.getCanvas().style.cursor=``})})}catch(e){console.error(`Error setting up layer events:`,e)}},y=e=>{e&&(e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?(o.value=!0,d(r.source.data)&&m()):(o.value=!1,setTimeout(t,200))};t()}),e.isStyleLoaded()&&(o.value=!0,d(r.source.data)&&m()))};return T(()=>r.source.data,e=>{if(d(e)){let e=u();e?.isStyleLoaded()&&(e.getSource(r.sourceId)?h():m())}},{deep:!0,immediate:!0}),T(()=>r.visibility,g),T(a,e=>{e&&y(e)},{immediate:!0}),p(()=>{u()?.isStyleLoaded()&&d(r.source.data)&&m()}),f(()=>{let e=u();if(e)try{[s.value,l.value].forEach(t=>{e.off(`click`,t,()=>{}),e.off(`mouseenter`,t,()=>{}),e.off(`mouseleave`,t,()=>{})}),[s.value,c.value,l.value].forEach(t=>{e.getLayer(t)&&e.removeLayer(t)}),e.getSource(r.sourceId)&&e.removeSource(r.sourceId)}catch(e){console.error(`Error cleaning up cluster layers:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Mt=o({__name:`VLayerMaplibreRoute`,props:{id:{default:()=>`route-${Math.random().toString(36).slice(2,9)}`},coordinates:{},color:{default:`#4285F4`},width:{default:4},opacity:{default:1},lineCap:{default:`round`},lineJoin:{default:`round`},visible:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},before:{default:``},dashArray:{},blur:{default:0}},emits:[`click`,`mouseenter`,`mouseleave`],setup(e,{emit:n}){let r=e,i=n,a=U(q),o=v(!1),s=t(()=>`${r.id}-source`),c=t(()=>`${r.id}-layer`),l=t(()=>({type:`FeatureCollection`,features:r.coordinates.length>=2?[{type:`Feature`,properties:{},geometry:{type:`LineString`,coordinates:r.coordinates}}]:[]})),u=()=>a.value||null,d=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?o.value=!0:(o.value=!1,setTimeout(t,200))};t()})},m=()=>{let e=u();if(!(!e||!e.isStyleLoaded())&&!(r.coordinates.length<2))try{if(e.getSource(s.value)||e.addSource(s.value,{type:`geojson`,data:l.value}),!e.getLayer(c.value)){let t={id:c.value,type:`line`,source:s.value,layout:{"line-cap":r.lineCap,"line-join":r.lineJoin,visibility:r.visible?`visible`:`none`},paint:{"line-color":r.color,"line-width":r.width,"line-opacity":r.opacity,...r.blur>0&&{"line-blur":r.blur},...r.dashArray&&{"line-dasharray":r.dashArray}}};e.addLayer(t,r.before||void 0)}}catch(e){console.error(`Error adding route layer:`,e)}},h=()=>{let e=u();if(e)try{let t=e.getSource(s.value);t&&`setData`in t?t.setData(l.value):!t&&r.coordinates.length>=2&&m()}catch(e){console.error(`Error updating route source:`,e)}},g=()=>{let e=u();if(!(!e||!e.getLayer(c.value)))try{e.setPaintProperty(c.value,`line-color`,r.color),e.setPaintProperty(c.value,`line-width`,r.width),e.setPaintProperty(c.value,`line-opacity`,r.opacity),r.blur>0&&e.setPaintProperty(c.value,`line-blur`,r.blur),r.dashArray&&e.setPaintProperty(c.value,`line-dasharray`,r.dashArray),e.setLayoutProperty(c.value,`line-cap`,r.lineCap),e.setLayoutProperty(c.value,`line-join`,r.lineJoin),e.setLayoutProperty(c.value,`visibility`,r.visible?`visible`:`none`)}catch(e){console.error(`Error updating route layer style:`,e)}},_=e=>{if(!(!e||!r.interactive))try{e.on(`click`,c.value,e=>{i(`click`,{coordinates:e.lngLat})}),e.on(`mouseenter`,c.value,()=>{e.getCanvas().style.cursor=`pointer`,i(`mouseenter`)}),e.on(`mouseleave`,c.value,()=>{e.getCanvas().style.cursor=``,i(`mouseleave`)})}catch(e){console.error(`Error setting up route layer events:`,e)}};return T(()=>r.coordinates,()=>{let e=u();e?.isStyleLoaded()&&(e.getSource(s.value)?h():m())},{deep:!0}),T(()=>[r.color,r.width,r.opacity,r.lineCap,r.lineJoin,r.visible,r.blur,r.dashArray],()=>g(),{deep:!0}),T(a,e=>{e&&(d(e),e.isStyleLoaded()&&(o.value=!0))},{immediate:!0}),T(o,e=>{if(e&&r.coordinates.length>=2){let e=u();e&&(m(),_(e))}}),p(()=>{try{let e=u();e?.isStyleLoaded()&&r.coordinates.length>=2&&(m(),_(e))}catch(e){console.error(`Error mounting route layer:`,e)}}),f(()=>{let e=u();if(e)try{e.getLayer(c.value)&&e.removeLayer(c.value),e.getSource(s.value)&&e.removeSource(s.value)}catch(e){console.error(`Error cleaning up route layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Nt=o({__name:`VLayerMaplibreIsochrone`,props:{id:{default:()=>`isochrone-${Math.random().toString(36).slice(2,9)}`},data:{},fillOpacity:{default:.4},lineWidth:{default:2},lineOpacity:{default:.8},visible:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},before:{default:``},reverseOrder:{type:Boolean,default:!0}},emits:[`click`,`mouseenter`,`mouseleave`],setup(e,{emit:n}){let r=e,i=n,a=U(q),o=v(!1),s=v(!1),c=t(()=>`${r.id}-source`),u=t(()=>`${r.id}-fill`),d=t(()=>`${r.id}-line`),m=t(()=>!r.data||!r.data.features||r.data.features.length===0?null:{type:`FeatureCollection`,features:(r.reverseOrder?[...r.data.features].reverse():r.data.features).map(e=>({...e,properties:{...e.properties,fillColor:e.properties.color.startsWith(`#`)?e.properties.color:`#${e.properties.color}`}}))}),h=()=>a.value||null,g=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?o.value=!0:(o.value=!1,setTimeout(t,200))};t()})},_=()=>{let e=h();if(!e||!e.isStyleLoaded())return;let t=m.value;if(t)try{if(e.getSource(c.value)||e.addSource(c.value,{type:`geojson`,data:t}),!e.getLayer(u.value)){let t={id:u.value,type:`fill`,source:c.value,layout:{visibility:r.visible?`visible`:`none`},paint:{"fill-color":[`get`,`fillColor`],"fill-opacity":r.fillOpacity}};e.addLayer(t,r.before||void 0)}if(!e.getLayer(d.value)){let t={id:d.value,type:`line`,source:c.value,layout:{visibility:r.visible?`visible`:`none`},paint:{"line-color":[`get`,`fillColor`],"line-width":r.lineWidth,"line-opacity":r.lineOpacity}};e.addLayer(t,r.before||void 0)}}catch(e){console.error(`Error adding isochrone layers:`,e)}},y=()=>{let e=h();if(e)try{let t=e.getSource(c.value),n=m.value;t&&`setData`in t?n&&t.setData(n):!t&&n&&_()}catch(e){console.error(`Error updating isochrone source:`,e)}},x=()=>{let e=h();if(e)try{e.getLayer(u.value)&&(e.setPaintProperty(u.value,`fill-opacity`,r.fillOpacity),e.setLayoutProperty(u.value,`visibility`,r.visible?`visible`:`none`)),e.getLayer(d.value)&&(e.setPaintProperty(d.value,`line-width`,r.lineWidth),e.setPaintProperty(d.value,`line-opacity`,r.lineOpacity),e.setLayoutProperty(d.value,`visibility`,r.visible?`visible`:`none`))}catch(e){console.error(`Error updating isochrone layer style:`,e)}},S=e=>{if(!(!e||!r.interactive))try{e.on(`click`,u.value,e=>{e.features&&e.features.length>0&&i(`click`,{feature:e.features[0],coordinates:e.lngLat})}),e.on(`mouseenter`,u.value,t=>{e.getCanvas().style.cursor=`pointer`,t.features&&t.features.length>0&&i(`mouseenter`,t.features[0])}),e.on(`mouseleave`,u.value,()=>{e.getCanvas().style.cursor=``,i(`mouseleave`)})}catch(e){console.error(`Error setting up isochrone layer events:`,e)}},C=async()=>{if(s.value)return;let e=h();!e||!e.isStyleLoaded()||m.value&&(await l(),!s.value&&(_(),S(e),s.value=!0))};return T(()=>r.data,()=>{let e=h();e?.isStyleLoaded()&&(e.getSource(c.value)?y():_())},{deep:!0}),T(()=>[r.fillOpacity,r.lineWidth,r.lineOpacity,r.visible],()=>x(),{deep:!0}),T(o,e=>{e&&C()}),T(a,e=>{e&&(g(e),e.isStyleLoaded()&&(o.value=!0,C()))},{immediate:!0}),p(()=>{l(()=>{C()})}),f(()=>{let e=h();if(e)try{e.getLayer(d.value)&&e.removeLayer(d.value),e.getLayer(u.value)&&e.removeLayer(u.value),e.getSource(c.value)&&e.removeSource(c.value)}catch(e){console.error(`Error cleaning up isochrone layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Pt=o({__name:`VLayerMaplibreStarfield`,props:{id:{default:`starfield`},starCount:{default:4e3},starSize:{default:2},starColor:{default:16777215},galaxyTextureUrl:{},galaxyBrightness:{default:.35},before:{},sunEnabled:{type:Boolean,default:!1},sunAzimuth:{default:180},sunAltitude:{default:45},sunSize:{default:100},sunColor:{default:16772778},sunIntensity:{default:1.5},autoFadeStars:{type:Boolean,default:!0},fadeAltitude:{}},setup(e){let t=e,n=U(q),r=v(!1),i=null,a=()=>n.value||null,o=()=>{let e=a();if(!(!e||!e.isStyleLoaded()))try{e.getLayer(t.id)&&e.removeLayer(t.id),i=new R({id:t.id,starCount:t.starCount,starSize:t.starSize,starColor:t.starColor,galaxyTextureUrl:t.galaxyTextureUrl,galaxyBrightness:t.galaxyBrightness,sunEnabled:t.sunEnabled,sunAzimuth:t.sunAzimuth,sunAltitude:t.sunAltitude,sunSize:t.sunSize,sunColor:t.sunColor,sunIntensity:t.sunIntensity,autoFadeStars:t.autoFadeStars,fadeAltitude:t.fadeAltitude}),e.addLayer(i,t.before||void 0)}catch(e){console.error(`Error adding starfield layer:`,e)}},s=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})};return T(n,e=>{e&&(s(e),e.isStyleLoaded()&&(r.value=!0))},{immediate:!0}),T(r,e=>{e&&o()}),T(()=>[t.sunAzimuth,t.sunAltitude,t.fadeAltitude],([e,t,n])=>{i?.setSunPosition(e,t,n)}),T(()=>t.fadeAltitude,e=>{i?.setFadeAltitude(e)}),T(()=>t.sunEnabled,e=>{i?.setSunEnabled(e)}),T(()=>t.sunIntensity,e=>{i?.setSunIntensity(e)}),T(()=>t.sunSize,e=>{i?.setSunSize(e)}),f(()=>{let e=a();if(e){try{e.getLayer(t.id)&&e.removeLayer(t.id)}catch(e){console.error(`Error cleaning up starfield layer:`,e)}i=null}}),(e,t)=>b(e.$slots,`default`)}}),Ft=o({__name:`VLayerDeckglScatterplot`,props:{id:{},data:{},getPosition:{},getRadius:{},getFillColor:{},getLineColor:{},getLineWidth:{},radiusUnits:{default:`meters`},radiusScale:{default:1},radiusMinPixels:{default:0},radiusMaxPixels:{default:2**53-1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},stroked:{type:Boolean,default:!1},filled:{type:Boolean,default:!0},billboard:{type:Boolean,default:!1},antialiasing:{type:Boolean,default:!0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new oe({id:n.id,data:n.data,getPosition:n.getPosition,getRadius:n.getRadius??1,getFillColor:n.getFillColor??[255,140,0],getLineColor:n.getLineColor??[0,0,0],getLineWidth:n.getLineWidth??1,radiusUnits:n.radiusUnits,radiusScale:n.radiusScale,radiusMinPixels:n.radiusMinPixels,radiusMaxPixels:n.radiusMaxPixels,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,stroked:n.stroked,filled:n.filled,billboard:n.billboard,antialiasing:n.antialiasing,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getRadius,n.getFillColor,n.getLineColor,n.radiusScale,n.opacity,n.visible,n.stroked,n.filled],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),It=o({__name:`VLayerDeckglArc`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getSourceColor:{},getTargetColor:{},getWidth:{},getHeight:{},getTilt:{},greatCircle:{type:Boolean,default:!1},numSegments:{default:50},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new z({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getSourceColor:n.getSourceColor??[255,140,0],getTargetColor:n.getTargetColor??[0,200,255],getWidth:n.getWidth??1,getHeight:n.getHeight??1,getTilt:n.getTilt??0,greatCircle:n.greatCircle,numSegments:n.numSegments,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getSourceColor,n.getTargetColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Lt=o({__name:`VLayerDeckglGeojson`,props:{id:{},data:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},getText:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},pointType:{default:`circle`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},lineJointRounded:{type:Boolean,default:!1},lineCapRounded:{type:Boolean,default:!1},lineMiterLimit:{default:4},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},elevationScale:{default:1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new H({id:n.id,data:n.data,getFillColor:n.getFillColor??[200,200,200,200],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getPointRadius:n.getPointRadius??1,getElevation:n.getElevation??1e3,getText:n.getText,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,pointType:n.pointType,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,lineJointRounded:n.lineJointRounded,lineCapRounded:n.lineCapRounded,lineMiterLimit:n.lineMiterLimit,pointRadiusUnits:n.pointRadiusUnits,pointRadiusScale:n.pointRadiusScale,pointRadiusMinPixels:n.pointRadiusMinPixels,pointRadiusMaxPixels:n.pointRadiusMaxPixels,elevationScale:n.elevationScale,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getFillColor,n.getLineColor,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Rt=o({__name:`VLayerDeckglPath`,props:{id:{},data:{},getPath:{},getColor:{},getWidth:{},widthUnits:{default:`meters`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},capRounded:{type:Boolean,default:!1},jointRounded:{type:Boolean,default:!1},billboard:{type:Boolean,default:!1},miterLimit:{default:4},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new re({id:n.id,data:n.data,getPath:n.getPath,getColor:n.getColor??[0,0,0,255],getWidth:n.getWidth??1,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,capRounded:n.capRounded,jointRounded:n.jointRounded,billboard:n.billboard,miterLimit:n.miterLimit,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPath,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),zt=o({__name:`VLayerDeckglLine`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getColor:{},getWidth:{},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ne({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getColor:n.getColor??[0,0,0,255],getWidth:n.getWidth??1,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Bt=o({__name:`VLayerDeckglPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getLineWidth:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},lineJointRounded:{type:Boolean,default:!1},lineMiterLimit:{default:4},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ae({id:n.id,data:n.data,getPolygon:n.getPolygon,getFillColor:n.getFillColor??[200,200,200,200],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,lineJointRounded:n.lineJointRounded,lineMiterLimit:n.lineMiterLimit,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPolygon,n.getFillColor,n.getLineColor,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Vt=o({__name:`VLayerDeckglSolidPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new se({id:n.id,data:n.data,getPolygon:n.getPolygon,getFillColor:n.getFillColor??[0,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPolygon,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Ht=o({__name:`VLayerDeckglIcon`,props:{id:{},data:{},getPosition:{},getIcon:{},getSize:{},getColor:{},getAngle:{},iconAtlas:{},iconMapping:{},sizeScale:{default:1},sizeUnits:{default:`pixels`},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},billboard:{type:Boolean,default:!0},alphaCutoff:{default:.05},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new te({id:n.id,data:n.data,getPosition:n.getPosition,getIcon:n.getIcon??`marker`,getSize:n.getSize??1,getColor:n.getColor??[255,255,255,255],getAngle:n.getAngle??0,iconAtlas:n.iconAtlas,iconMapping:n.iconMapping,sizeScale:n.sizeScale,sizeUnits:n.sizeUnits,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,billboard:n.billboard,alphaCutoff:n.alphaCutoff,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getIcon,n.getSize,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Ut=o({__name:`VLayerDeckglText`,props:{id:{},data:{},getPosition:{},getText:{},getSize:{},getColor:{},getAngle:{},getTextAnchor:{},getAlignmentBaseline:{},getPixelOffset:{},getBackgroundColor:{},getBorderColor:{},getBorderWidth:{},background:{type:Boolean,default:!1},backgroundPadding:{},billboard:{type:Boolean,default:!0},sizeScale:{default:1},sizeUnits:{default:`pixels`},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},characterSet:{default:`auto`},fontFamily:{default:`Monaco, monospace`},fontWeight:{default:`normal`},lineHeight:{default:1},fontSettings:{default:()=>({sdf:!0})},wordBreak:{default:`break-word`},maxWidth:{default:-1},outlineWidth:{default:0},outlineColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ce({id:n.id,data:n.data,getPosition:n.getPosition,getText:n.getText,getSize:n.getSize??32,getColor:n.getColor??[0,0,0,255],getAngle:n.getAngle??0,getTextAnchor:n.getTextAnchor??`middle`,getAlignmentBaseline:n.getAlignmentBaseline??`center`,getPixelOffset:n.getPixelOffset??[0,0],getBackgroundColor:n.getBackgroundColor,getBorderColor:n.getBorderColor,getBorderWidth:n.getBorderWidth,background:n.background,backgroundPadding:n.backgroundPadding,billboard:n.billboard,sizeScale:n.sizeScale,sizeUnits:n.sizeUnits,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,characterSet:n.characterSet,fontFamily:n.fontFamily,fontWeight:n.fontWeight,lineHeight:n.lineHeight,fontSettings:n.fontSettings,wordBreak:n.wordBreak,maxWidth:n.maxWidth,outlineWidth:n.outlineWidth,outlineColor:n.outlineColor,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getText,n.getSize,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Wt=o({__name:`VLayerDeckglColumn`,props:{id:{},data:{},getPosition:{},getFillColor:{},getLineColor:{},getElevation:{},diskResolution:{default:20},radius:{default:1e3},angle:{default:0},vertices:{},offset:{},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!1},extruded:{type:Boolean,default:!0},wireframe:{type:Boolean,default:!1},flatShading:{type:Boolean,default:!1},radiusUnits:{default:`meters`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new V({id:n.id,data:n.data,getPosition:n.getPosition,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,diskResolution:n.diskResolution,radius:n.radius,angle:n.angle,vertices:n.vertices,offset:n.offset,coverage:n.coverage,elevationScale:n.elevationScale,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,flatShading:n.flatShading,radiusUnits:n.radiusUnits,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getFillColor,n.getElevation,n.radius,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Gt=o({__name:`VLayerDeckglBitmap`,props:{id:{},image:{},bounds:{},loadOptions:{},textureParameters:{},desaturate:{default:0},transparentColor:{},tintColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new B({id:n.id,image:n.image,bounds:n.bounds,loadOptions:n.loadOptions,textureParameters:n.textureParameters,desaturate:n.desaturate,transparentColor:n.transparentColor??[0,0,0,0],tintColor:n.tintColor??[255,255,255],opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.image,n.bounds,n.desaturate,n.tintColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Kt=o({__name:`VLayerDeckglGridCell`,props:{id:{},data:{},getPosition:{},getFillColor:{},getElevation:{},cellSize:{default:1e3},coverage:{default:1},elevationScale:{default:1},extruded:{type:Boolean,default:!0},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ee({id:n.id,data:n.data,getPosition:n.getPosition,getFillColor:n.getFillColor??[255,0,0,255],getElevation:n.getElevation??1e3,cellSize:n.cellSize,coverage:n.coverage,elevationScale:n.elevationScale,extruded:n.extruded,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getFillColor,n.getElevation,n.cellSize,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),qt=o({__name:`VLayerDeckglPointCloud`,props:{id:{},data:{},getPosition:{},getColor:{},getNormal:{},sizeUnits:{default:`pixels`},pointSize:{default:10},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ie({id:n.id,data:n.data,getPosition:n.getPosition,getColor:n.getColor??[0,0,0,255],getNormal:n.getNormal??[0,0,1],sizeUnits:n.sizeUnits,pointSize:n.pointSize,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getColor,n.pointSize,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Jt=o({__name:`VLayerDeckglHeatmap`,props:{id:{},data:{},getPosition:{},getWeight:{},intensity:{default:1},radiusPixels:{default:30},colorRange:{},threshold:{default:.05},colorDomain:{},aggregation:{default:`SUM`},weightsTextureSize:{default:2048},debounceTimeout:{default:500},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new de({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,intensity:n.intensity,radiusPixels:n.radiusPixels,colorRange:n.colorRange,threshold:n.threshold,colorDomain:n.colorDomain,aggregation:n.aggregation,weightsTextureSize:n.weightsTextureSize,debounceTimeout:n.debounceTimeout,opacity:n.opacity,visible:n.visible,pickable:n.pickable,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getWeight,n.intensity,n.radiusPixels,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Yt=o({__name:`VLayerDeckglHexagon`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},gpuAggregation:{type:Boolean,default:!1},radius:{default:1e3},elevationScale:{default:1},elevationRange:{},colorRange:{},colorDomain:{},coverage:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},material:{type:[Boolean,Object]},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new fe({id:n.id,data:n.data,getPosition:n.getPosition,getColorWeight:n.getColorWeight,getElevationWeight:n.getElevationWeight,gpuAggregation:n.gpuAggregation,radius:n.radius,elevationScale:n.elevationScale,elevationRange:n.elevationRange,colorRange:n.colorRange,colorDomain:n.colorDomain,coverage:n.coverage,extruded:n.extruded,upperPercentile:n.upperPercentile,lowerPercentile:n.lowerPercentile,elevationUpperPercentile:n.elevationUpperPercentile,elevationLowerPercentile:n.elevationLowerPercentile,colorScaleType:n.colorScaleType,material:n.material,colorAggregation:n.colorAggregation,elevationAggregation:n.elevationAggregation,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.radius,n.elevationScale,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Xt=o({__name:`VLayerDeckglGrid`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},cellSize:{default:1e3},colorRange:{},coverage:{default:1},elevationDomain:{},elevationRange:{},elevationScale:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},gpuAggregation:{type:Boolean,default:!1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ue({id:n.id,data:n.data,getPosition:n.getPosition,getColorWeight:n.getColorWeight??1,getElevationWeight:n.getElevationWeight??1,cellSize:n.cellSize,colorRange:n.colorRange,coverage:n.coverage,elevationDomain:n.elevationDomain,elevationRange:n.elevationRange,elevationScale:n.elevationScale,extruded:n.extruded,upperPercentile:n.upperPercentile,lowerPercentile:n.lowerPercentile,elevationUpperPercentile:n.elevationUpperPercentile,elevationLowerPercentile:n.elevationLowerPercentile,colorScaleType:n.colorScaleType,colorAggregation:n.colorAggregation,elevationAggregation:n.elevationAggregation,gpuAggregation:n.gpuAggregation,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSize,n.colorRange,n.elevationScale,n.extruded,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Zt=o({__name:`VLayerDeckglContour`,props:{id:{},data:{},getPosition:{},getWeight:{},cellSize:{default:1e3},contours:{},gpuAggregation:{type:Boolean,default:!1},aggregation:{default:`SUM`},zOffset:{default:.005},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new le({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,cellSize:n.cellSize,contours:n.contours,gpuAggregation:n.gpuAggregation,aggregation:n.aggregation,zOffset:n.zOffset,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSize,n.contours,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Qt=o({__name:`VLayerDeckglScreenGrid`,props:{id:{},data:{},getPosition:{},getWeight:{},cellSizePixels:{default:100},cellMarginPixels:{default:2},colorRange:{},colorDomain:{},gpuAggregation:{type:Boolean,default:!1},aggregation:{default:`SUM`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new pe({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,cellSizePixels:n.cellSizePixels,cellMarginPixels:n.cellMarginPixels,colorRange:n.colorRange,colorDomain:n.colorDomain,gpuAggregation:n.gpuAggregation,aggregation:n.aggregation,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSizePixels,n.colorRange,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),$t=o({__name:`VLayerDeckglTrips`,props:{id:{},data:{},getPath:{},getTimestamps:{},getColor:{},getWidth:{},currentTime:{default:0},trailLength:{default:120},fadeTrail:{type:Boolean,default:!0},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},capRounded:{type:Boolean,default:!1},jointRounded:{type:Boolean,default:!1},billboard:{type:Boolean,default:!1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new we({id:n.id,data:n.data,getPath:n.getPath,getTimestamps:n.getTimestamps,getColor:n.getColor??[253,128,93],getWidth:n.getWidth??1,currentTime:n.currentTime,trailLength:n.trailLength,fadeTrail:n.fadeTrail,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,capRounded:n.capRounded,jointRounded:n.jointRounded,billboard:n.billboard,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPath,n.currentTime,n.trailLength,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),en=o({__name:`VLayerDeckglH3Hexagon`,props:{id:{},data:{},getHexagon:{},getFillColor:{},getLineColor:{},getElevation:{},highPrecision:{type:[Boolean,String],default:`auto`},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new _e({id:n.id,data:n.data,getHexagon:n.getHexagon,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,highPrecision:n.highPrecision,coverage:n.coverage,elevationScale:n.elevationScale,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getHexagon,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),tn=o({__name:`VLayerDeckglH3Cluster`,props:{id:{},data:{},getHexagons:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ge({id:n.id,data:n.data,getHexagons:n.getHexagons,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getHexagons,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),nn=o({__name:`VLayerDeckglMVT`,props:{id:{},data:{},minZoom:{default:0},maxZoom:{default:23},uniqueIdProperty:{},highlightedFeatureId:{},binary:{type:Boolean,default:!0},loadOptions:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},stroked:{type:Boolean,default:!0},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},pointType:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`,`tileLoad`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ve({id:n.id,data:n.data,minZoom:n.minZoom,maxZoom:n.maxZoom,uniqueIdProperty:n.uniqueIdProperty,highlightedFeatureId:n.highlightedFeatureId,binary:n.binary,loadOptions:n.loadOptions,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getPointRadius:n.getPointRadius??1,getElevation:n.getElevation??1e3,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,pointRadiusUnits:n.pointRadiusUnits,pointRadiusScale:n.pointRadiusScale,pointRadiusMinPixels:n.pointRadiusMinPixels,pointRadiusMaxPixels:n.pointRadiusMaxPixels,stroked:n.stroked,filled:n.filled,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,pointType:n.pointType,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onTileLoad:e=>r(`tileLoad`,e),onTileError:(e,t)=>r(`tileError`,e,t)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getFillColor,n.getLineColor,n.highlightedFeatureId,n.extruded,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),rn=o({__name:`VLayerDeckglTile`,props:{id:{},data:{},getTileData:{},renderSubLayers:{},tileSize:{default:512},maxZoom:{},minZoom:{default:0},maxCacheSize:{},maxCacheByteSize:{},refinementStrategy:{default:`best-available`},zRange:{},maxRequests:{default:6},extent:{},loadOptions:{},zoomOffset:{default:0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`,`viewportLoad`,`tileLoad`,`tileUnload`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new Ce({id:n.id,data:n.data,getTileData:n.getTileData,renderSubLayers:n.renderSubLayers,tileSize:n.tileSize,maxZoom:n.maxZoom,minZoom:n.minZoom,maxCacheSize:n.maxCacheSize,maxCacheByteSize:n.maxCacheByteSize,refinementStrategy:n.refinementStrategy,zRange:n.zRange,maxRequests:n.maxRequests,extent:n.extent,loadOptions:n.loadOptions,zoomOffset:n.zoomOffset,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onViewportLoad:e=>r(`viewportLoad`,e),onTileLoad:e=>r(`tileLoad`,e),onTileUnload:e=>r(`tileUnload`,e),onTileError:(e,t)=>r(`tileError`,e,t)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.tileSize,n.maxZoom,n.minZoom,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),an=o({__name:`VLayerDeckglTile3D`,props:{id:{},data:{},loader:{},loadOptions:{},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pointSize:{default:1},getPointColor:{},beforeId:{}},emits:[`click`,`hover`,`tilesetLoad`,`tileLoad`,`tileUnload`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new Se({id:n.id,data:n.data,pointSize:n.pointSize,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onTilesetLoad:e=>r(`tilesetLoad`,e),onTileLoad:e=>r(`tileLoad`,e),onTileUnload:e=>r(`tileUnload`,e),onTileError:(e,t,n)=>r(`tileError`,e,t,n),...n.loader!==void 0&&{loader:n.loader},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.getPointColor!==void 0&&{getPointColor:n.getPointColor}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.pointSize,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),on=o({__name:`VLayerDeckglTerrain`,props:{id:{},elevationData:{},texture:{},meshMaxError:{default:4},elevationDecoder:{},bounds:{},loadOptions:{},workerUrl:{},color:{},wireframe:{type:Boolean,default:!1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new xe({id:n.id,elevationData:n.elevationData,texture:n.texture,meshMaxError:n.meshMaxError,elevationDecoder:n.elevationDecoder,bounds:n.bounds,loadOptions:n.loadOptions,workerUrl:n.workerUrl,color:n.color??[255,255,255],wireframe:n.wireframe,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.elevationData,n.texture,n.meshMaxError,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),sn=o({__name:`VLayerDeckglGreatCircle`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getSourceColor:{},getTargetColor:{},getWidth:{},getHeight:{},getTilt:{},numSegments:{default:50},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new he({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getSourceColor:n.getSourceColor??[0,0,255],getTargetColor:n.getTargetColor??[0,255,0],getWidth:n.getWidth??1,getHeight:n.getHeight??1,getTilt:n.getTilt??0,numSegments:n.numSegments,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getSourceColor,n.getTargetColor,n.getWidth,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),cn=o({__name:`VLayerDeckglS2`,props:{id:{},data:{},getS2Token:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new be({id:n.id,data:n.data,getS2Token:n.getS2Token,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getS2Token,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),ln=o({__name:`VLayerDeckglGeohash`,props:{id:{},data:{},getGeohash:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new me({id:n.id,data:n.data,getGeohash:n.getGeohash,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getGeohash,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),un=o({__name:`VLayerDeckglQuadkey`,props:{id:{},data:{},getQuadkey:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new ye({id:n.id,data:n.data,getQuadkey:n.getQuadkey,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getQuadkey,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),dn=o({__name:`VLayerDeckglWMS`,props:{id:{},data:{},serviceType:{default:`wms`},layers:{},srs:{default:`EPSG:4326`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new Te({id:n.id,data:n.data,serviceType:n.serviceType,layers:n.layers,srs:n.srs,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.layers,n.srs,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),fn=o({__name:`VLayerDeckglSimpleMesh`,props:{id:{},data:{},mesh:{},getPosition:{},getColor:{},getOrientation:{},getScale:{},getTranslation:{},getTransformMatrix:{},texture:{},sizeScale:{default:1},wireframe:{type:Boolean,default:!1},material:{type:[Boolean,Object]},loaders:{},loadOptions:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new De({id:n.id,data:n.data,mesh:n.mesh,getPosition:n.getPosition,getColor:n.getColor??[255,255,255,255],getOrientation:n.getOrientation??[0,0,0],getScale:n.getScale??[1,1,1],getTranslation:n.getTranslation??[0,0,0],sizeScale:n.sizeScale,wireframe:n.wireframe,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),...n.getTransformMatrix!==void 0&&{getTransformMatrix:n.getTransformMatrix},...n.texture!==void 0&&{texture:n.texture},...n.material!==void 0&&{material:n.material},...n.loaders!==void 0&&{loaders:n.loaders},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.beforeId!==void 0&&{beforeId:n.beforeId}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.mesh,n.getPosition,n.getColor,n.getOrientation,n.getScale,n.sizeScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),pn=o({__name:`VLayerDeckglScenegraph`,props:{id:{},data:{},scenegraph:{},getPosition:{},getColor:{},getOrientation:{},getScale:{},getTranslation:{},getTransformMatrix:{},sizeScale:{default:1},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},animator:{},loaders:{},loadOptions:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{},_animations:{},_lighting:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),c=()=>new Ee({id:n.id,data:n.data,scenegraph:n.scenegraph,getPosition:n.getPosition,getColor:n.getColor??[255,255,255,255],getOrientation:n.getOrientation??[0,0,0],getScale:n.getScale??[1,1,1],getTranslation:n.getTranslation??[0,0,0],sizeScale:n.sizeScale,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),...n.getTransformMatrix!==void 0&&{getTransformMatrix:n.getTransformMatrix},...n.animator!==void 0&&{animator:n.animator},...n.loaders!==void 0&&{loaders:n.loaders},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.beforeId!==void 0&&{beforeId:n.beforeId},...n._animations!==void 0&&{_animations:n._animations},...n._lighting!==void 0&&{_lighting:n._lighting}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.scenegraph,n.getPosition,n.getColor,n.getOrientation,n.getScale,n.sizeScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),mn=o({__name:`VLayerDeckglCOG`,props:{id:{},geotiff:{},tileSize:{default:256},maxZoom:{},minZoom:{default:0},maxCacheSize:{},refinementStrategy:{default:`best-available`},maxRequests:{default:6},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.25}},emits:[`click`,`hover`,`geotiffLoad`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),l=x(null),u=x(null),d=()=>{if(!l.value)return null;let e={id:C(n.id),geotiff:C(n.geotiff),opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable),autoHighlight:C(n.autoHighlight),debug:C(n.debug),debugOpacity:C(n.debugOpacity)};return u.value&&(e.epsgResolver=u.value),e.onGeoTIFFLoad=(e,t)=>{r(`geotiffLoad`,e,t)},n.tileSize!==256&&(e.tileSize=C(n.tileSize)),n.maxZoom!==void 0&&(e.maxZoom=C(n.maxZoom)),n.minZoom!==0&&(e.minZoom=C(n.minZoom)),n.maxCacheSize!==void 0&&(e.maxCacheSize=C(n.maxCacheSize)),n.refinementStrategy!==`best-available`&&(e.refinementStrategy=C(n.refinementStrategy)),n.maxRequests!==6&&(e.maxRequests=C(n.maxRequests)),n.highlightColor!==void 0&&(e.highlightColor=C(n.highlightColor)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),c(new l.value(e))},m=async()=>{try{let[e,t]=await Promise.all([import(`@developmentseed/deck.gl-geotiff`),import(`@developmentseed/proj`)]);l.value=c(e.COGLayer),u.value=t.epsgResolver;let n=d();n&&a(n)}catch(e){console.error(`[deck.gl-raster] Error loading COGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff is installed`)}};return p(()=>{i.value?.isStyleLoaded()?m():i.value?.once(`style.load`,m)}),T(()=>[n.geotiff,n.tileSize,n.maxZoom,n.minZoom,n.opacity,n.visible,n.debug,n.debugOpacity],()=>{let e=d();e&&s(n.id,e)},{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),hn=o({__name:`VLayerDeckglMosaic`,props:{id:{},sources:{},renderMode:{default:`trueColor`},customRenderModules:{},colormapData:{},maxCacheSize:{default:1/0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},ndviRange:{default:()=>[-1,1]},beforeId:{}},emits:[`click`,`hover`,`sourceLoad`,`error`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o}=K(i),s=``,l=x(null),u={name:`set-alpha-1`,inject:{"fs:DECKGL_FILTER_COLOR":`color = vec4(color.rgb, 1.0);`}},d={name:`false-color-infrared`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
1
|
+
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,defineComponent as o,inject as s,markRaw as c,nextTick as l,normalizeClass as u,normalizeStyle as d,onBeforeUnmount as f,onMounted as p,onUnmounted as m,onUpdated as h,openBlock as g,provide as _,ref as v,renderList as y,renderSlot as b,shallowRef as x,toDisplayString as S,toRaw as C,useSlots as w,watch as T,withCtx as E}from"vue";import D,{AttributionControl as O,FullscreenControl as k,GeolocateControl as A,Map as j,Marker as M,NavigationControl as N,Popup as ee,ScaleControl as P}from"maplibre-gl";import{PMTiles as F,Protocol as I}from"pmtiles";import{MaplibreStarfieldLayer as L}from"@geoql/maplibre-gl-starfield";import{ArcLayer as R,BitmapLayer as z,ColumnLayer as te,GeoJsonLayer as ne,GridCellLayer as re,IconLayer as ie,LineLayer as ae,PathLayer as oe,PointCloudLayer as se,PolygonLayer as ce,ScatterplotLayer as le,SolidPolygonLayer as ue,TextLayer as de}from"@deck.gl/layers";import{ContourLayer as fe,GridLayer as pe,HeatmapLayer as me,HexagonLayer as he,ScreenGridLayer as ge}from"@deck.gl/aggregation-layers";import{GeohashLayer as _e,GreatCircleLayer as ve,H3ClusterLayer as ye,H3HexagonLayer as be,MVTLayer as xe,QuadkeyLayer as Se,S2Layer as Ce,TerrainLayer as we,Tile3DLayer as Te,TileLayer as Ee,TripsLayer as De,_WMSLayer as Oe}from"@deck.gl/geo-layers";import{ScenegraphLayer as ke,SimpleMeshLayer as Ae}from"@deck.gl/mesh-layers";import{WindParticleLayer as je,WindParticleLayer as Me,createWindDataFromOpenWeatherMap as Ne,generateWindTexture as Pe,generateWindTexture as Fe}from"maplibre-gl-wind";function B(e,t){let n=s(e,t);if(!n)throw Error(`Could not resolve ${e.description}`);return n}async function V(e,t,n){try{return await t()}catch(t){let r=n??`pnpm add ${e}`,i=t instanceof Error?t.message:String(t),a=Error(`[@geoql/v-maplibre] Missing optional peer dependency "${e}". Install it with: ${r}\nOriginal error: ${i}`);throw t instanceof Error&&t.stack&&(a.stack=`${a.message}\nCaused by: ${t.stack}`),a}}const H=Symbol(`DeckOverlay`),U=Symbol(`DeckLayers`);function W(e,t={}){let{interleaved:n=!1}=t,r=s(H,null),i=s(U,null);if(r&&i)return{overlay:r,isInitialized:v(!0),layers:v([]),initOverlay:()=>Promise.resolve(),...i};let a=x(null),o=v([]),c=v(!1),l=null,u=null;function d(e){u=e=>{if(!a.value)return;let t=a.value.pickObject({x:e.point.x,y:e.point.y,radius:5});if(!t?.layer)return;let n=t.layer.props.onClick;n&&n(t,e)},e.on(`click`,u)}function f(e){u&&e&&e.off(`click`,u),u=null}let p=()=>{let t=e.value;return!t||a.value?Promise.resolve():l||(l=V(`@deck.gl/mapbox`,()=>import(`@deck.gl/mapbox`),`pnpm add @deck.gl/core @deck.gl/mapbox`).then(({MapboxOverlay:e})=>{a.value||(a.value=new e({interleaved:n,layers:[]}),t.addControl(a.value),d(t),c.value=!0)}).catch(e=>{console.error(`[deck.gl] Error initializing overlay:`,e),l=null}),l)},h=e=>e.id,g=()=>{a.value&&a.value.setProps({layers:o.value})},y=e=>{let t=h(e),n=o.value.findIndex(e=>h(e)===t);n>=0?o.value=[...o.value.slice(0,n),e,...o.value.slice(n+1)]:o.value=[...o.value,e],a.value?g():p().then(g)},b=e=>{o.value=o.value.filter(t=>h(t)!==e),g()},S=(e,t)=>{let n=o.value.findIndex(t=>h(t)===e);n>=0?(o.value=[...o.value.slice(0,n),t,...o.value.slice(n+1)],g()):y(t)},C=()=>[...o.value];return T(e,e=>{e&&!a.value&&(e.isStyleLoaded()?p():e.once(`style.load`,()=>{p()}))},{immediate:!0}),_(H,a),_(U,{addLayer:y,removeLayer:b,updateLayer:S,getLayers:C}),m(()=>{if(f(e.value),a.value&&e.value)try{e.value.removeControl(a.value),a.value.finalize()}catch(e){console.error(`[deck.gl] Error cleaning up overlay:`,e)}a.value=null,o.value=[],c.value=!1,l=null}),{overlay:a,layers:o,isInitialized:c,initOverlay:p,addLayer:y,removeLayer:b,updateLayer:S,getLayers:C}}function Ie(){let e=s(U,null),t=s(H,null);if(!e)throw Error(`[deck.gl] useDeckLayers must be used within a component that has initialized useDeckOverlay`);return{...e,overlay:t}}const G=Symbol(`Map`),K=Symbol(`Protocol`),Le=o({__name:`VControlAttribution`,props:{options:{default:void 0},position:{default:`bottom-right`}},setup(e){let t={compact:!1,customAttribution:void 0},n=e,r=w(),i=B(G);p(()=>{a()});let a=()=>{let e=t;n.options&&(e={...n.options}),r&&r.default?.()&&(e.customAttribution=r.default()[0].children);let a=new O(e);i.value.addControl(a,n.position)};return(e,t)=>b(e.$slots,`default`)}}),Re=o({__name:`VControlFullscreen`,props:{options:{default:void 0},position:{default:`top-left`}},setup(e){let t={container:void 0},n=e,r=B(G);p(()=>{i()});let i=()=>{let e=new k(n.options||t);r.value.addControl(e,n.position)};return()=>{}}}),q=[`geolocate`,`error`,`outofmaxbounds`,`trackuserlocationstart`,`trackuserlocationend`],ze=o({__name:`VControlGeolocate`,props:{options:{default:void 0},position:{default:`top-left`}},emits:q,setup(e,{emit:t}){let n={fitBoundsOptions:{linear:!1,offset:[0,0],maxZoom:22},positionOptions:{enableHighAccuracy:!0,maximumAge:0,timeout:6e3},trackUserLocation:!0,showAccuracyCircle:!0,showUserLocation:!0},r=e,i=t,a=B(G);p(()=>{o()});let o=()=>{let e=new A(r.options||n);a.value.addControl(e,r.position),q.forEach(t=>{e.on(t,()=>{i(t)})})};return()=>{}}}),Be=o({__name:`VControlNavigation`,props:{options:{default:void 0},position:{default:`top-left`}},setup(e){let t={showCompass:!0,showZoom:!0,visualizePitch:!0},n=e,r=s(G);p(()=>{i()});let i=()=>{let e=new N(n.options||t);r.value.addControl(e,n.position)};return()=>{}}}),Ve=o({__name:`VControlScale`,props:{options:{default:void 0},position:{default:`bottom-left`}},setup(e){let t={maxWidth:100,unit:`metric`},n=e,r=s(G);p(()=>{i()});let i=()=>{let e=new P(n.options||t);r?.value.addControl(e,n.position)};return(e,t)=>b(e.$slots,`default`)}}),J=[`load`,`loadstart`,`loaderror`,`unload`,`statechange`,`stylechange`,`collapse`,`expand`,`streamingstart`,`streamingstop`,`streamingprogress`,`budgetreached`],He=o({__name:`VControlLidar`,props:{options:{default:void 0},position:{default:`top-right`},defaultUrl:{default:void 0}},emits:J,setup(e,{expose:t,emit:n}){let r={collapsed:!0,pointSize:2,colorScheme:`elevation`,pickable:!1,autoZoom:!0},i=e,a=n,o=B(G),s=v(null);p(async()=>{await c()}),m(()=>{s.value&&o.value&&(o.value.removeControl(s.value),s.value=null)});let c=async()=>{let{LidarControl:e}=await V(`maplibre-gl-lidar`,()=>import(`maplibre-gl-lidar`));s.value=new e(i.options||r),o.value.addControl(s.value,i.position),J.forEach(e=>{s.value.on(e,t=>{a(e,t)})}),i.defaultUrl&&s.value.loadPointCloud(i.defaultUrl)};return t({loadPointCloud:(e,t)=>s.value?.loadPointCloud(e,t),loadPointCloudStreaming:(e,t)=>s.value?.loadPointCloudStreaming(e,t),loadPointCloudEptStreaming:(e,t)=>s.value?.loadPointCloudEptStreaming(e,t),unloadPointCloud:e=>s.value?.unloadPointCloud(e),flyToPointCloud:e=>s.value?.flyToPointCloud(e),setPointSize:e=>s.value?.setPointSize(e),setColorScheme:e=>s.value?.setColorScheme(e),setColormap:e=>s.value?.setColormap(e),getColormap:()=>s.value?.getColormap(),setColorRange:e=>s.value?.setColorRange(e),getColorRange:()=>s.value?.getColorRange(),setOpacity:e=>s.value?.setOpacity(e),setPickable:e=>s.value?.setPickable(e),setUsePercentile:e=>s.value?.setUsePercentile(e),getUsePercentile:()=>s.value?.getUsePercentile(),setElevationRange:(e,t)=>s.value?.setElevationRange(e,t),clearElevationRange:()=>s.value?.clearElevationRange(),setPointBudget:e=>s.value?.setPointBudget(e),setZOffset:e=>s.value?.setZOffset(e),setZOffsetEnabled:e=>s.value?.setZOffsetEnabled(e),getZOffset:()=>s.value?.getZOffset(),setTerrain:e=>s.value?.setTerrain(e),getTerrain:()=>s.value?.getTerrain(),setPickInfoFields:e=>s.value?.setPickInfoFields(e),getPickInfoFields:()=>s.value?.getPickInfoFields(),setClassificationVisibility:(e,t)=>s.value?.setClassificationVisibility(e,t),showAllClassifications:()=>s.value?.showAllClassifications(),hideAllClassifications:()=>s.value?.hideAllClassifications(),getHiddenClassifications:()=>s.value?.getHiddenClassifications(),getAvailableClassifications:()=>s.value?.getAvailableClassifications(),toggle:()=>s.value?.toggle(),expand:()=>s.value?.expand(),collapse:()=>s.value?.collapse(),getState:()=>s.value?.getState(),getPointClouds:()=>s.value?.getPointClouds(),stopStreaming:e=>s.value?.stopStreaming(e),isStreaming:e=>s.value?.isStreaming(e),getStreamingProgress:()=>s.value?.getStreamingProgress(),getMap:()=>s.value?.getMap(),getPanelElement:()=>s.value?.getPanelElement(),getControl:()=>s.value}),()=>{}}});function Y(e,t,n){let r=null,i=!1,a=()=>{i&&t.value&&!t.value.classList.contains(`maplibregl-ctrl`)&&t.value.classList.add(`maplibregl-ctrl`)};p(()=>{!e.value||!t.value||(r={onAdd:()=>(t.value?.classList.add(`maplibregl-ctrl`),t.value),onRemove:()=>{}},e.value.addControl(r,n),i=!0)}),h(()=>{a()}),m(()=>{if(e.value&&r)try{e.value.removeControl(r)}catch{}})}const Ue={class:`v-layer-control-header`},We={class:`v-layer-control-title`},Ge=[`aria-pressed`,`title`],Ke={key:0,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},qe={key:1,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},Je={class:`v-layer-control-slider-row`},Ye=[`value`,`disabled`],Xe={class:`v-layer-control-value`},Ze=o({__name:`VControlLayer`,props:{layerId:{},position:{default:`top-right`},visible:{type:Boolean,default:!0},opacity:{default:1},title:{default:`Layer Control`},layerType:{default:void 0}},emits:[`visibility-change`,`opacity-change`,`update:visible`,`update:opacity`],setup(e,{emit:t}){let n=e,r=t,o=B(G),c=s(U,null),l=v(null),d=v(n.visible),f=v(n.opacity);Y(o,l,n.position);let m=()=>n.layerType?n.layerType:o.value?o.value.getLayer(n.layerId)?`maplibre`:c&&c.getLayers().find(e=>e.id===n.layerId)?`deckgl`:null:null,h=()=>{if(!o.value||m()!==`maplibre`)return null;let e=o.value.getLayer(n.layerId);if(!e)return null;switch(e.type){case`fill`:return`fill-opacity`;case`line`:return`line-opacity`;case`circle`:return`circle-opacity`;case`symbol`:return`icon-opacity`;default:return null}},_=e=>{let t=m();if(t===`maplibre`){if(!o.value)return;if(!o.value.getLayer(n.layerId)){console.warn(`MapLibre layer not found: ${n.layerId}`);return}o.value.setLayoutProperty(n.layerId,`visibility`,e?`visible`:`none`)}else if(t===`deckgl`){if(!c){console.warn(`deck.gl overlay not available for layer: ${n.layerId}`);return}let t=c.getLayers().find(e=>e.id===n.layerId);if(!t){console.warn(`deck.gl layer not found: ${n.layerId}`);return}if(typeof t.clone==`function`){let r=t.clone({visible:e});c.updateLayer(n.layerId,r)}}else{console.warn(`Layer not found in MapLibre or deck.gl: ${n.layerId}`);return}r(`visibility-change`,e),r(`update:visible`,e)},y=e=>{let t=m();if(t===`maplibre`){let t=h();if(!o.value||!t)return;if(!o.value.getLayer(n.layerId)){console.warn(`MapLibre layer not found: ${n.layerId}`);return}o.value.setPaintProperty(n.layerId,t,e)}else if(t===`deckgl`){if(!c){console.warn(`deck.gl overlay not available for layer: ${n.layerId}`);return}let t=c.getLayers().find(e=>e.id===n.layerId);if(!t){console.warn(`deck.gl layer not found: ${n.layerId}`);return}if(typeof t.clone==`function`){let r=t.clone({opacity:e});c.updateLayer(n.layerId,r)}}else{console.warn(`Layer not found in MapLibre or deck.gl: ${n.layerId}`);return}r(`opacity-change`,e),r(`update:opacity`,e)},x=()=>{d.value=!d.value},C=e=>{let t=e.target;f.value=Number(t.value)/100};return T(d,e=>{_(e)}),T(f,e=>{y(e)}),T(()=>n.visible,e=>{d.value=e}),T(()=>n.opacity,e=>{f.value=e}),p(()=>{let e=!1,t=()=>e?!0:m()?(e=!0,_(d.value),y(f.value),!0):!1;if(t())return;let n=[100,200,300,500,500,1e3,1e3,1e3,2e3,3e3],r=0,i=()=>{t()||r>=n.length||setTimeout(()=>{r++,i()},n[r])};i()}),(t,n)=>(g(),i(`div`,{ref_key:`containerRef`,ref:l,class:`v-layer-control`},[a(`div`,Ue,[a(`span`,We,S(e.title),1),a(`button`,{type:`button`,class:u([`v-layer-control-toggle`,{"is-hidden":!d.value}]),"aria-pressed":d.value,title:d.value?`Hide layer`:`Show layer`,onClick:x},[d.value?(g(),i(`svg`,Ke,[...n[0]||(n[0]=[a(`path`,{d:`M8 3C4.5 3 1.5 5.5 0.5 8C1.5 10.5 4.5 13 8 13C11.5 13 14.5 10.5 15.5 8C14.5 5.5 11.5 3 8 3Z`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1),a(`circle`,{cx:`8`,cy:`8`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1.25`},null,-1)])])):(g(),i(`svg`,qe,[...n[1]||(n[1]=[a(`path`,{d:`M2 2L14 14M6.5 6.5C5.9 7.1 5.5 7.9 5.5 8.8C5.5 10.4 6.9 11.5 8 11.5C8.9 11.5 9.7 11.1 10.3 10.5M8 3C4.5 3 1.5 5.5 0.5 8C1 9.2 1.8 10.3 2.8 11.2M13.2 11.2C14.2 10.3 15 9.2 15.5 8C14.5 5.5 11.5 3 8 3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])]))],10,Ge)]),a(`div`,Je,[a(`input`,{type:`range`,min:`0`,max:`100`,value:Math.round(f.value*100),class:`v-layer-control-slider`,disabled:!d.value,onInput:C},null,40,Ye),a(`span`,Xe,S(Math.round(f.value*100))+`%`,1)]),b(t.$slots,`default`)],512))}}),Qe={class:`v-layer-group-title`},$e={key:1,class:`v-layer-group-header is-static`},et={class:`v-layer-group-title`},tt={key:2,class:`v-layer-group-content`},nt={class:`v-layer-group-item-header`},rt={class:`v-layer-group-item-title`},it=[`aria-pressed`,`title`,`onClick`],at={key:0,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},ot={key:1,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},st={class:`v-layer-group-slider-row`},ct=[`value`,`disabled`,`onInput`],lt={class:`v-layer-group-value`},ut=o({__name:`VControlLayerGroup`,props:{layers:{},position:{default:`top-right`},title:{default:`Layers`},collapsible:{type:Boolean,default:!0},collapsed:{type:Boolean,default:!1}},emits:[`visibility-change`,`opacity-change`,`update:layers`],setup(t,{emit:n}){let o=t,c=n,l=B(G),d=s(U,null),f=v(null),m=v(o.collapsed),h=v(new Map);Y(l,f,o.position);let _=()=>{for(let e of o.layers)h.value.set(e.id,{visible:e.visible??!0,opacity:e.opacity??1})},x=(e,t)=>t||(l.value?l.value.getLayer(e)?`maplibre`:d&&d.getLayers().find(t=>t.id===e)?`deckgl`:null:null),C=e=>{if(!l.value)return null;let t=l.value.getLayer(e);if(!t)return null;switch(t.type){case`fill`:return`fill-opacity`;case`line`:return`line-opacity`;case`circle`:return`circle-opacity`;case`symbol`:return`icon-opacity`;case`raster`:return`raster-opacity`;default:return null}},w=(e,t,n)=>{let r=x(e,n);if(r===`maplibre`){if(!l.value)return;if(!l.value.getLayer(e)){console.warn(`[VControlLayerGroup] MapLibre layer not found: ${e}`);return}l.value.setLayoutProperty(e,`visibility`,t?`visible`:`none`)}else if(r===`deckgl`){if(!d){console.warn(`[VControlLayerGroup] deck.gl overlay not available for layer: ${e}`);return}let n=d.getLayers().find(t=>t.id===e);if(!n){console.warn(`[VControlLayerGroup] deck.gl layer not found: ${e}`);return}if(typeof n.clone==`function`){let r=n.clone({visible:t});d.updateLayer(e,r)}}else{console.warn(`[VControlLayerGroup] Layer not found: ${e}`);return}c(`visibility-change`,{layerId:e,visible:t})},E=(e,t,n)=>{let r=x(e,n);if(r===`maplibre`){let n=C(e);if(!l.value||!n)return;if(!l.value.getLayer(e)){console.warn(`[VControlLayerGroup] MapLibre layer not found: ${e}`);return}l.value.setPaintProperty(e,n,t)}else if(r===`deckgl`){if(!d){console.warn(`[VControlLayerGroup] deck.gl overlay not available for layer: ${e}`);return}let n=d.getLayers().find(t=>t.id===e);if(!n){console.warn(`[VControlLayerGroup] deck.gl layer not found: ${e}`);return}if(typeof n.clone==`function`){let r=n.clone({opacity:t});d.updateLayer(e,r)}}else{console.warn(`[VControlLayerGroup] Layer not found: ${e}`);return}c(`opacity-change`,{layerId:e,opacity:t})},D=e=>{let t=h.value.get(e.id);if(!t)return;let n=!t.visible;t.visible=n,w(e.id,n,e.type)},O=(e,t)=>{let n=t.target,r=Number(n.value)/100,i=h.value.get(e.id);i&&(i.opacity=r,E(e.id,r,e.type))},k=e=>h.value.get(e)??{visible:!0,opacity:1},A=()=>{o.collapsible&&(m.value=!m.value)};return T(()=>o.layers,()=>{_()},{deep:!0}),T(()=>o.collapsed,e=>{m.value=e}),p(()=>{_();for(let e of o.layers){let t=k(e.id);w(e.id,t.visible,e.type),E(e.id,t.opacity,e.type)}}),(n,o)=>(g(),i(`div`,{ref_key:`containerRef`,ref:f,class:u([`v-layer-group maplibregl-ctrl`,{"is-collapsed":m.value}])},[t.collapsible?(g(),i(`button`,{key:0,type:`button`,class:`v-layer-group-header`,onClick:A},[a(`span`,Qe,S(t.title),1),(g(),i(`svg`,{class:u([`v-layer-group-chevron`,{"is-collapsed":m.value}]),width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`},[...o[0]||(o[0]=[a(`path`,{d:`M3 5L7 9L11 5`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])],2))])):(g(),i(`div`,$e,[a(`span`,et,S(t.title),1)])),m.value?r(`v-if`,!0):(g(),i(`div`,tt,[(g(!0),i(e,null,y(t.layers,e=>(g(),i(`div`,{key:e.id,class:`v-layer-group-item`},[a(`div`,nt,[a(`span`,rt,S(e.title),1),a(`button`,{type:`button`,class:u([`v-layer-group-toggle`,{"is-hidden":!k(e.id).visible}]),"aria-pressed":k(e.id).visible,title:k(e.id).visible?`Hide layer`:`Show layer`,onClick:t=>D(e)},[k(e.id).visible?(g(),i(`svg`,at,[...o[1]||(o[1]=[a(`path`,{d:`M8 3C4.5 3 1.5 5.5 0.5 8C1.5 10.5 4.5 13 8 13C11.5 13 14.5 10.5 15.5 8C14.5 5.5 11.5 3 8 3Z`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1),a(`circle`,{cx:`8`,cy:`8`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1.25`},null,-1)])])):(g(),i(`svg`,ot,[...o[2]||(o[2]=[a(`path`,{d:`M2 2L14 14M6.5 6.5C5.9 7.1 5.5 7.9 5.5 8.8C5.5 10.4 6.9 11.5 8 11.5C8.9 11.5 9.7 11.1 10.3 10.5M8 3C4.5 3 1.5 5.5 0.5 8C1 9.2 1.8 10.3 2.8 11.2M13.2 11.2C14.2 10.3 15 9.2 15.5 8C14.5 5.5 11.5 3 8 3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])]))],10,it)]),a(`div`,st,[a(`input`,{type:`range`,min:`0`,max:`100`,value:Math.round(k(e.id).opacity*100),class:`v-layer-group-slider`,disabled:!k(e.id).visible,onInput:t=>O(e,t)},null,40,ct),a(`span`,lt,S(Math.round(k(e.id).opacity*100))+`%`,1)])]))),128))])),b(n.$slots,`default`)],2))}}),dt={class:`v-legend-control-title`},ft={key:0,class:`v-legend-control-content`},pt=[`disabled`,`onClick`],mt={class:`v-legend-control-label`},ht={key:0,class:`v-legend-control-count`},gt={class:`v-legend-control-gradient-labels`},_t={class:`v-legend-control-size-circle-wrap`},vt={class:`v-legend-control-label`},yt={key:3,class:`v-legend-control-table`},bt=[`title`],xt={class:`v-legend-control-table-label`},St={class:`v-legend-control-table-value`},Ct=o({__name:`VControlLegend`,props:{layerIds:{},type:{default:`category`},items:{},position:{default:`top-right`},property:{},autoGenerate:{type:Boolean,default:!1},title:{default:`Legend`},collapsed:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0}},emits:[`item-click`,`filter-change`,`update:filter`],setup(n,{emit:o}){let c=n,l=o,f=B(G),m=s(U,null),h=v(null),_=v(c.collapsed),x=v(new Map),C=v([]);Y(f,h,c.position);let w=e=>{let t=[],n=e[e.length-1];for(let n=2;n<e.length-1;n+=2){let r=e[n],i=e[n+1];if(Array.isArray(r))for(let e of r)t.push({value:e,label:String(e),color:i,visible:!0});else t.push({value:r,label:String(r),color:i,visible:!0})}return t.length>0&&n&&typeof n==`string`&&t.push({value:`__default__`,label:`Other`,color:n,visible:!0}),t},E=e=>{let t=[],n=[],r=e[2];t.push(r);for(let r=3;r<e.length;r+=2){let i=e[r],a=e[r+1];n.push(i),t.push(a)}return n.length===0?null:{min:n[0],max:n[n.length-1],colors:t,stops:n}},D=e=>{let t=[],n=[];e[1]&&Array.isArray(e[1]);for(let r=3;r<e.length;r+=2){let i=e[r],a=e[r+1];n.push(i),t.push(a)}return n.length<2?null:{min:n[0],max:n[n.length-1],colors:t,stops:n}},O=()=>{if(!c.autoGenerate||!c.property||!f.value)return[];let e=c.layerIds[0];if(!e)return[];if(!f.value.getLayer(e))return console.warn(`[VControlLegend] Layer not found: ${e}`),[];let t=f.value.getPaintProperty(e,c.property);if(!t||!Array.isArray(t))return console.warn(`[VControlLegend] Paint property "${c.property}" not found or not an expression`),[];let n=t[0];if(n===`match`)return w(t);if(n===`step`){let e=E(t);return e?[e]:[]}if(n===`interpolate`||n===`interpolate-hcl`||n===`interpolate-lab`){let e=D(t);return e?[e]:[]}return console.warn(`[VControlLegend] Unsupported expression type: ${n}`),[]},k=t(()=>c.items&&c.items.length>0?c.items:C.value),A=t(()=>c.type===`category`?k.value.filter(e=>`value`in e&&`color`in e&&`label`in e):[]),j=t(()=>{if(c.type!==`gradient`)return null;let e=k.value;if(e.length===0)return null;let t=e[0];return`min`in t&&`max`in t&&`colors`in t?t:null}),M=t(()=>c.type===`size`?k.value.filter(e=>`size`in e&&`value`in e):[]),N=t(()=>c.type===`table`?k.value.filter(e=>`label`in e&&`color`in e&&`value`in e&&!(`size`in e)&&!(`visible`in e)).sort((e,t)=>t.value-e.value):[]),ee=e=>e.formattedValue?e.formattedValue:`${e.value}${e.unit??``}`,P=t(()=>({visibleValues:Array.from(x.value.entries()).filter(([,e])=>e).map(([e])=>e)})),F=t(()=>j.value?`linear-gradient(to right, ${j.value.colors.join(`, `)})`:``),I=()=>{if(c.type===`category`)for(let e of A.value)x.value.set(e.value,e.visible??!0)},L=()=>{if(!f.value||!c.property||c.type!==`category`)return;let e=P.value.visibleValues.filter(e=>e!==`__default__`),t=A.value.map(e=>e.value).filter(e=>e!==`__default__`),n=e.length===t.length;for(let t of c.layerIds)if(f.value.getLayer(t))if(n)f.value.setFilter(t,null);else if(e.length===0)f.value.setFilter(t,[`==`,[`get`,`_never_match_`],!0]);else{let n=f.value.getPaintProperty(t,c.property);if(!n||!Array.isArray(n))continue;let r=n[1],i=null;Array.isArray(r)&&r[0]===`get`&&(i=r[1]),i&&f.value.setFilter(t,[`in`,[`get`,i],[`literal`,e]])}},R=()=>{if(!m||c.type!==`category`)return;let e=P.value.visibleValues.filter(e=>e!==`__default__`),t=A.value.map(e=>e.value).filter(e=>e!==`__default__`),n=e.length===t.length,r=m.getLayers();for(let t of c.layerIds){if(f.value?.getLayer(t))continue;let i=r.find(e=>e.id===t);if(i){if(!i.props?.extensions?.some(e=>e?.constructor?.name===`DataFilterExtension`)){console.warn(`[VControlLegend] deck.gl layer "${t}" requires DataFilterExtension for filtering. Add DataFilterExtension to layer extensions and configure getFilterValue accessor.`);continue}if(typeof i.clone==`function`)if(n){let e=i.clone({filterRange:[-1/0,1/0]});m.updateLayer(t,e)}else if(e.length===0){let e=i.clone({filterRange:[1/0,1/0]});m.updateLayer(t,e)}else{let n=e.map(e=>A.value.findIndex(t=>t.value===e)).filter(e=>e>=0);if(n.length>0){let e=Math.min(...n),r=Math.max(...n),a=i.clone({filterRange:[e-.5,r+.5]});m.updateLayer(t,a)}}}}},z=(e,t)=>{if(!c.interactive)return;let n=!(x.value.get(e.value)??!0);x.value.set(e.value,n),L(),R(),l(`item-click`,{item:e,index:t,visible:n}),l(`filter-change`,{filter:P.value,layerIds:c.layerIds}),l(`update:filter`,P.value)},te=e=>x.value.get(e.value)??!0,ne=()=>{_.value=!_.value};return T(()=>c.items,()=>{I()},{deep:!0}),T(()=>c.collapsed,e=>{_.value=e}),p(()=>{c.autoGenerate&&(C.value=O()),I()}),(t,o)=>(g(),i(`div`,{ref_key:`containerRef`,ref:h,class:u([`v-legend-control`,{"is-collapsed":_.value}])},[a(`button`,{type:`button`,class:`v-legend-control-header`,onClick:ne},[a(`span`,dt,S(n.title),1),(g(),i(`svg`,{class:u([`v-legend-control-chevron`,{"is-collapsed":_.value}]),width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`},[...o[0]||(o[0]=[a(`path`,{d:`M3 5L7 9L11 5`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)])],2))]),_.value?r(`v-if`,!0):(g(),i(`div`,ft,[n.type===`category`?(g(!0),i(e,{key:0},y(A.value,(e,t)=>(g(),i(`button`,{key:e.value,type:`button`,class:u([`v-legend-control-item`,{"is-interactive":n.interactive,"is-hidden":!te(e)}]),disabled:!n.interactive,onClick:n=>z(e,t)},[a(`span`,{class:`v-legend-control-swatch`,style:d({backgroundColor:e.color})},null,4),a(`span`,mt,S(e.label),1),e.count===void 0?r(`v-if`,!0):(g(),i(`span`,ht,S(e.count),1))],10,pt))),128)):n.type===`gradient`&&j.value?(g(),i(e,{key:1},[a(`div`,{class:`v-legend-control-gradient`,style:d({background:F.value})},null,4),a(`div`,gt,[a(`span`,null,S(j.value.minLabel??j.value.min),1),a(`span`,null,S(j.value.maxLabel??j.value.max),1)])],64)):n.type===`size`?(g(!0),i(e,{key:2},y(M.value,e=>(g(),i(`div`,{key:e.value,class:`v-legend-control-size-item`},[a(`div`,_t,[a(`div`,{class:`v-legend-control-size-circle`,style:d({width:`${Math.min(e.size,20)}px`,height:`${Math.min(e.size,20)}px`})},null,4)]),a(`span`,vt,S(e.label),1)]))),128)):n.type===`table`?(g(),i(`div`,yt,[(g(!0),i(e,null,y(N.value,e=>(g(),i(`div`,{key:e.label,class:`v-legend-control-table-row`,title:e.description},[a(`span`,{class:`v-legend-control-swatch`,style:d({backgroundColor:e.color})},null,4),a(`span`,xt,S(e.label),1),a(`span`,St,S(ee(e)),1)],8,bt))),128))])):r(`v-if`,!0)])),b(t.$slots,`default`)],2))}}),wt=o({__name:`VLayerMaplibreCanvas`,props:{source:{},layer:{},sourceId:{default:`maplibre.gl-canvas-source`},layerId:{default:`maplibre.gl-canvas-layer`},before:{default:``}},setup(e){let t=e,n=B(G),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Canvas layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}catch(e){console.error(`Error updating Canvas source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Canvas layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Canvas layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Tt=o({__name:`VLayerMaplibreGeojson`,props:{sourceId:{default:`maplibre-gl-geojson-source`},layerId:{default:`maplibre-gl-geojson-layer`},source:{},layer:{},before:{default:``}},emits:[`on-click`],setup(e,{emit:t}){let n=e,r=t,i=B(G),a=v(!1),o=e=>!e||typeof e==`string`?!1:e&&typeof e==`object`&&`type`in e?e.type===`FeatureCollection`&&`features`in e?e.features.length>0:e.type===`Feature`||e.type===`Point`||e.type===`LineString`||e.type===`Polygon`||e.type===`MultiPoint`||e.type===`MultiLineString`||e.type===`MultiPolygon`:!1,s=()=>i.value||null,c=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?a.value=!0:(a.value=!1,setTimeout(t,200))};t()})},u=()=>{let e=s();if(!(!e||!e.isStyleLoaded())){if(!o(n.source.data)){console.log(`[${n.layerId}] Waiting for valid data before adding layer`);return}try{if(e.getSource(n.sourceId)||e.addSource(n.sourceId,n.source),!e.getLayer(n.layerId)){let t={...n.layer,id:n.layerId,source:n.sourceId};e.addLayer(t,n.before)}}catch(e){console.error(`Error adding GeoJSON layer:`,e)}}},d=()=>{let e=s();if(e)try{let t=e.getSource(n.sourceId);if(t&&`setData`in t){let r=e.getStyle().layers.filter(e=>e.type!==`background`&&`source`in e&&e.source===n.sourceId);(r.length===0||r[0]?.id===n.layerId)&&t.setData(n.source.data)}else t||u()}catch(e){console.error(`Error updating GeoJSON source:`,e)}},m=()=>{let e=s();if(e)try{e.getLayer(n.layerId)?(Object.entries(n.layer.paint||{}).forEach(([t,r])=>{e.setPaintProperty(n.layerId,t,r)}),Object.entries(n.layer.layout||{}).forEach(([t,r])=>{e.setLayoutProperty(n.layerId,t,r)})):u()}catch(e){console.error(`Error updating GeoJSON layer:`,e)}},h=e=>{if(e)try{e.on(`click`,n.layerId,e=>{e.features&&e.features.length>0&&r(`on-click`,{features:e.features,coordinates:e.lngLat})}),e.on(`mouseenter`,n.layerId,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,n.layerId,()=>{e.getCanvas().style.cursor=``})}catch(e){console.error(`Error in setupLayerEvents:`,e)}},g=v(!1),_=async()=>{if(g.value)return;let e=s();!e||!e.isStyleLoaded()||o(n.source.data)&&(await l(),!g.value&&e.isStyleLoaded()&&(u(),h(e),g.value=!0))};return T(a,e=>{e&&_()}),T(i,e=>{e&&(c(e),e.isStyleLoaded()&&(a.value=!0,_()))},{immediate:!0}),T(()=>n.source,(e,t)=>{if(o(e?.data)&&JSON.stringify(e.data)!==JSON.stringify(t?.data)){let e=s();e?.isStyleLoaded()&&(e.getSource(n.sourceId)?d():(u(),g.value||(h(e),g.value=!0)))}},{deep:!0}),T(()=>n.layer,m,{deep:!0}),T(()=>n.layer.layout?.visibility,e=>{let t=s();if(!t||!t.isStyleLoaded())return;let r=t.getLayer(n.layerId);if(!r&&e===`visible`)o(n.source.data)&&u();else if(r)try{t.setLayoutProperty(n.layerId,`visibility`,e)}catch(e){console.error(`Error updating visibility for ${n.layerId}:`,e)}},{immediate:!0}),p(()=>{l(()=>{_()})}),f(()=>{let e=s();if(e)try{e.getLayer(n.layerId)&&e.removeLayer(n.layerId),e.getStyle().layers.filter(e=>e.type!==`background`&&`source`in e&&e.source===n.sourceId).length===0&&e.getSource(n.sourceId)&&e.removeSource(n.sourceId)}catch(e){console.error(`Error cleaning up GeoJSON layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Et=o({__name:`VLayerMaplibreImage`,props:{sourceId:{type:String,default:`maplibre.gl-image-source`,required:!0},layerId:{type:String,default:`maplibre.gl-image-layer`,required:!0},source:{type:Object,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,n=B(G),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Image layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n)if(n.updateImage)n.updateImage({url:t.source.url,coordinates:t.source.coordinates});else{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error updating Image source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Image layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Image layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),X=o({__name:`VLayerMaplibreRaster`,props:{sourceId:{},source:{},layerId:{},layer:{},before:{}},setup(e){let t=e,n=B(G),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),e.getLayer(t.layerId)||(e.addLayer(t.layer,t.before),t.layer.layout?.visibility&&e.setLayoutProperty(t.layerId,`visibility`,t.layer.layout.visibility))}catch(e){console.error(`[${t.layerId}] Error setting up layer:`,e)}},s=()=>{let e=i();if(e)try{let n=t.before;e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let r={...t.layer,id:t.layerId,type:`raster`,source:t.sourceId};n&&e.getLayer(n)?e.addLayer(r,n):e.addLayer(r)}catch(e){console.error(`Error updating Raster source:`,e)}};return T(()=>t.source.tiles?.[0],(e,t)=>{e!==t&&s()}),T(()=>t.layer,()=>{let e=i();if(e)try{if(e.getLayer(t.layerId)){let n=t.layer.paint||{};Object.entries(n).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)});let r=t.layer.layout||{};Object.entries(r).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)})}}catch(e){console.error(`Error updating Raster layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),T(()=>t.layer.layout?.visibility,e=>{let n=i();if(n)if(n.getLayer(t.layerId))try{n.setLayoutProperty(t.layerId,`visibility`,e),e===`visible`&&t.before&&n.moveLayer(t.layerId,t.before)}catch(e){console.error(`[${t.layerId}] Error updating visibility:`,e)}else try{n.addLayer(t.layer,t.before)}catch(e){console.error(`[${t.layerId}] Error adding layer:`,e)}},{immediate:!0}),T(()=>t.before,e=>{let n=i();if(!(!n||!n.getLayer(t.layerId))&&t.layer.layout?.visibility===`visible`)try{console.log(`[${t.layerId}] Moving layer before:`,e),n.moveLayer(t.layerId,e)}catch(e){console.error(`[${t.layerId}] Error moving layer:`,e)}}),p(()=>{if(i())try{o()}catch(e){console.error(`[${t.layerId}] Error setting up layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Z=[`click`,`dblclick`,`mousedown`,`mouseup`,`mousemove`,`mouseenter`,`mouseleave`,`mouseover`,`mouseout`,`contextmenu`,`touchstart`,`touchend`,`touchcancel`],Dt=`error.load.idle.remove.render.resize.webglcontextlost.webglcontextrestored.dataloading.data.tiledataloading.sourcedataloading.styledataloading.sourcedata.styledata.boxzoomcancel.boxzoomstart.boxzoomend.touchcancel.touchmove.touchend.touchstart.click.contextmenu.dblclick.mousemove.mouseup.mousedown.mouseout.mouseover.movestart.move.moveend.zoomstart.zoom.zoomend.rotatestart.rotate.rotateend.dragstart.drag.dragend.pitchstart.pitch.pitchend.wheel`.split(`.`),Ot=[`dragstart`,`drag`,`dragend`],kt=[`click`,`mouseenter`,`mouseleave`],At=[`open`,`close`],jt=o({__name:`VLayerMaplibreVector`,props:{sourceId:{},source:{},layerId:{},layer:{},before:{}},emits:[...Z],setup(e,{emit:t}){let n=e,r=t,i=B(G),a=v(!1),o=()=>i.value||null,s=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?a.value=!0:(a.value=!1,setTimeout(t,200))};t()})},c=()=>{let e=o();if(e)try{e.getSource(n.sourceId)||e.addSource(n.sourceId,n.source),e.getLayer(n.layerId)||(n.layer.layout?.visibility===`visible`?e.addLayer(n.layer,n.before):e.addLayer(n.layer))}catch(e){console.error(`[${n.layerId}] Error setting up layer:`,e)}},l=()=>{let e=o();if(e)try{let t=e.getSource(n.sourceId);if(t&&JSON.stringify(t.serialize())!==JSON.stringify(n.source)){e.getLayer(n.layerId)&&e.removeLayer(n.layerId),e.removeSource(n.sourceId),e.addSource(n.sourceId,n.source);let t={...n.layer,id:n.layerId,source:n.sourceId};e.addLayer(t,n.before)}}catch(e){console.error(`Error updating vector source:`,e)}},u=()=>{let e=o();if(e)try{if(e.getLayer(n.layerId)){let t=e.getLayer(n.layerId),r=t?.paint||{},i=t?.layout||{};Object.entries(n.layer.paint||{}).forEach(([t,i])=>{JSON.stringify(r[t])!==JSON.stringify(i)&&e.setPaintProperty(n.layerId,t,i)}),Object.entries(n.layer.layout||{}).forEach(([t,r])=>{JSON.stringify(i[t])!==JSON.stringify(r)&&e.setLayoutProperty(n.layerId,t,r)})}}catch(e){console.error(`Error updating vector layer:`,e)}},d=e=>{if(e)try{Z.forEach(t=>{e.on(t,n.layerId,n=>{t===`mousemove`&&(e.getCanvas().style.cursor=`pointer`),t===`mouseleave`&&(e.getCanvas().style.cursor=``),r(t,n)})})}catch(e){console.error(`Error setting up layer events:`,e)}};return T(i,(e,t)=>{e&&e!==t&&s(e)},{immediate:!0}),T(a,e=>{if(e){let e=o();if(!e)return;c(),d(e)}}),T(()=>JSON.stringify(n.source.tiles),(e,t)=>{e!==t&&l()}),T(()=>({paint:n.layer.paint,layout:n.layer.layout?{...n.layer.layout,visibility:void 0}:void 0}),(e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&u()},{deep:!0}),T(()=>n.layer.layout?.visibility,e=>{let t=o();if(t)if(t.getLayer(n.layerId))try{t.setLayoutProperty(n.layerId,`visibility`,e),e===`visible`&&n.before&&setTimeout(()=>{t.moveLayer(n.layerId,n.before)},0)}catch(e){console.error(`[${n.layerId}] Error updating visibility:`,e)}else try{t.getSource(n.sourceId)||t.addSource(n.sourceId,n.source),t.addLayer(n.layer,n.before)}catch(e){console.error(`[${n.layerId}] Error adding layer:`,e)}},{immediate:!0}),T(()=>n.before,e=>{let t=o();if(!(!t||!t.getLayer(n.layerId))&&n.layer.layout?.visibility===`visible`)try{t.moveLayer(n.layerId,e)}catch(e){console.error(`Error reordering vector layer ${n.layerId}:`,e)}}),T(()=>n.layer.layout?.visibility,e=>{let t=o();if(t)if(t.getLayer(n.layerId))try{t.setLayoutProperty(n.layerId,`visibility`,e)}catch(e){console.error(`[${n.layerId}] Error updating visibility:`,e)}else try{t.getSource(n.sourceId)||t.addSource(n.sourceId,n.source),t.addLayer(n.layer,n.before)}catch(e){console.error(`[${n.layerId}] Error adding layer:`,e)}},{immediate:!0}),p(()=>{if(o())try{c()}catch(e){console.error(`[${n.layerId}] Error setting up layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Mt=o({__name:`VLayerMaplibreVideo`,props:{sourceId:{type:String,default:`maplibre.gl-video-source`,required:!0},layerId:{type:String,default:`maplibre.gl-video-layer`,required:!0},source:{type:Object,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,n=B(G),r=v(!1),i=()=>n.value||null,a=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})},o=()=>{let e=i();if(e)try{if(e.getSource(t.sourceId)||e.addSource(t.sourceId,t.source),!e.getLayer(t.layerId)){let n={...t.layer,id:t.layerId,source:t.sourceId};e.addLayer(n,t.before)}}catch(e){console.error(`Error adding Video layer:`,e)}};return T(()=>t.source,()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n){e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId),e.addSource(t.sourceId,t.source);let r={...t.layer,id:t.layerId,source:t.sourceId};if(e.addLayer(r,t.before),n.getVideo){let e=n.getVideo();e&&e.play().catch(e=>{console.error(`Error playing video:`,e)})}}}catch(e){console.error(`Error updating Video source:`,e)}},{deep:!0}),T(()=>t.layer,()=>{let e=i();if(e)try{e.getLayer(t.layerId)&&(Object.entries(t.layer.paint||{}).forEach(([n,r])=>{e.setPaintProperty(t.layerId,n,r)}),Object.entries(t.layer.layout||{}).forEach(([n,r])=>{e.setLayoutProperty(t.layerId,n,r)}))}catch(e){console.error(`Error updating Video layer:`,e)}},{deep:!0}),T(n,e=>{e&&a(e)},{immediate:!0}),T(r,e=>{e&&o()}),p(()=>{i()?.isStyleLoaded()&&o()}),f(()=>{let e=i();if(e)try{let n=e.getSource(t.sourceId);if(n?.getVideo){let e=n.getVideo();e&&(e.pause(),e.remove())}e.getLayer(t.layerId)&&e.removeLayer(t.layerId),e.getSource(t.sourceId)&&e.removeSource(t.sourceId)}catch(e){console.error(`Error cleaning up Video layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Nt=o({__name:`VLayerMaplibrePmtile`,props:{sourceId:{type:String,default:`maplibre.gl-pmtile-source`,required:!0},layerId:{type:String,default:`maplibre.gl-pmtile-layer`,required:!0},url:{type:String,required:!0},layer:{type:Object,default:()=>({}),required:!0},before:{type:String,default:``,required:!1}},setup(e){let t=e,r=s(K);if(!r)throw Error(`Protocol not provided`);let i=v({type:`raster`,url:`pmtiles://${t.url}`,tileSize:512,volatile:!0});return p(async()=>{let e=new F(t.url);r.add(e)}),(t,r)=>(g(),n(X,{"source-id":e.sourceId,"layer-id":e.layerId,source:i.value,layer:{...e.layer,type:`raster`},before:e.before},null,8,[`source-id`,`layer-id`,`source`,`layer`,`before`]))}}),Pt=o({__name:`VLayerMaplibreCluster`,props:{sourceId:{default:`cluster-source`},baseLayerId:{default:`cluster`},source:{},visibility:{type:Boolean,default:!0},clusterPaint:{default:()=>({colors:[`#51bbd6`,`#f1f075`,`#f28cb1`],radii:[20,30,40],breakpoints:[100,750]})},unclusteredPaint:{default:()=>({color:`#51bbd6`,radius:6})},textPaint:{default:()=>({color:`#ffffff`,font:[`DIN Offc Pro Medium`,`Arial Unicode MS Bold`],size:12})}},emits:[`cluster-click`,`point-click`],setup(e,{emit:n}){let r=e,i=n,a=B(G),o=v(!1),s=t(()=>`${r.baseLayerId}-clusters`),c=t(()=>`${r.baseLayerId}-cluster-count`),l=t(()=>`${r.baseLayerId}-unclustered-point`),u=()=>a.value||null,d=e=>typeof e==`string`?!1:e&&typeof e==`object`&&`type`in e&&e.type===`FeatureCollection`&&`features`in e?e.features.length>0:!1,m=()=>{let e=u();if(!(!e||!e.isStyleLoaded()))try{if(!e.getSource(r.sourceId))console.log(`Adding clustered source: ${r.sourceId}`),e.addSource(r.sourceId,{...r.source,cluster:!0,clusterMaxZoom:14,clusterRadius:50});else{let t=e.getSource(r.sourceId);t&&`setData`in t&&t.setData(r.source.data)}e.getLayer(s.value)||(console.log(`Adding clusters layer: ${s.value}`),e.addLayer({id:s.value,type:`circle`,source:r.sourceId,filter:[`has`,`point_count`],paint:{"circle-color":[`step`,[`get`,`point_count`],r.clusterPaint.colors[0],r.clusterPaint.breakpoints[0],r.clusterPaint.colors[1],r.clusterPaint.breakpoints[1],r.clusterPaint.colors[2]],"circle-radius":[`step`,[`get`,`point_count`],r.clusterPaint.radii[0],r.clusterPaint.breakpoints[0],r.clusterPaint.radii[1],r.clusterPaint.breakpoints[1],r.clusterPaint.radii[2]],"circle-stroke-width":2,"circle-stroke-color":`#ffffff`,"circle-opacity":.9},layout:{visibility:r.visibility?`visible`:`none`}})),e.getLayer(c.value)||(console.log(`Adding cluster count layer: ${c.value}`),e.addLayer({id:c.value,type:`symbol`,source:r.sourceId,filter:[`has`,`point_count`],layout:{"text-field":`{point_count_abbreviated}`,"text-font":r.textPaint.font,"text-size":r.textPaint.size,visibility:r.visibility?`visible`:`none`},paint:{"text-color":r.textPaint.color}})),e.getLayer(l.value)||(console.log(`Adding unclustered points layer: ${l.value}`),e.addLayer({id:l.value,type:`circle`,source:r.sourceId,filter:[`!`,[`has`,`point_count`]],paint:{"circle-color":r.unclusteredPaint.color,"circle-radius":r.unclusteredPaint.radius,"circle-stroke-width":2,"circle-stroke-color":`#ffffff`,"circle-opacity":.95},layout:{visibility:r.visibility?`visible`:`none`}})),console.log(`All cluster layers added for ${r.baseLayerId}`),_(e)}catch(e){console.error(`Error adding cluster layers:`,e)}},h=()=>{let e=u();if(e)try{let t=e.getSource(r.sourceId);t&&`setData`in t?(console.log(`Updating source ${r.sourceId} with data`),t.setData(r.source.data),setTimeout(()=>{m()},100)):t||m()}catch(e){console.error(`Error updating source:`,e)}},g=e=>{let t=u();if(!t)return;let n=e?`visible`:`none`;[s.value,c.value,l.value].forEach(e=>{t.getLayer(e)&&t.setLayoutProperty(e,`visibility`,n)})},_=e=>{if(e)try{e.on(`click`,s.value,e=>{e.features&&e.features.length>0&&i(`cluster-click`,{features:e.features,coordinates:e.lngLat})}),e.on(`click`,l.value,e=>{e.features&&e.features.length>0&&i(`point-click`,{features:e.features,coordinates:e.lngLat})}),[s.value,l.value].forEach(t=>{e.on(`mouseenter`,t,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,t,()=>{e.getCanvas().style.cursor=``})})}catch(e){console.error(`Error setting up layer events:`,e)}},y=e=>{e&&(e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?(o.value=!0,d(r.source.data)&&m()):(o.value=!1,setTimeout(t,200))};t()}),e.isStyleLoaded()&&(o.value=!0,d(r.source.data)&&m()))};return T(()=>r.source.data,e=>{if(d(e)){let e=u();e?.isStyleLoaded()&&(e.getSource(r.sourceId)?h():m())}},{deep:!0,immediate:!0}),T(()=>r.visibility,g),T(a,e=>{e&&y(e)},{immediate:!0}),p(()=>{u()?.isStyleLoaded()&&d(r.source.data)&&m()}),f(()=>{let e=u();if(e)try{[s.value,l.value].forEach(t=>{e.off(`click`,t,()=>{}),e.off(`mouseenter`,t,()=>{}),e.off(`mouseleave`,t,()=>{})}),[s.value,c.value,l.value].forEach(t=>{e.getLayer(t)&&e.removeLayer(t)}),e.getSource(r.sourceId)&&e.removeSource(r.sourceId)}catch(e){console.error(`Error cleaning up cluster layers:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Ft=o({__name:`VLayerMaplibreRoute`,props:{id:{default:()=>`route-${Math.random().toString(36).slice(2,9)}`},coordinates:{},color:{default:`#4285F4`},width:{default:4},opacity:{default:1},lineCap:{default:`round`},lineJoin:{default:`round`},visible:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},before:{default:``},dashArray:{},blur:{default:0}},emits:[`click`,`mouseenter`,`mouseleave`],setup(e,{emit:n}){let r=e,i=n,a=B(G),o=v(!1),s=t(()=>`${r.id}-source`),c=t(()=>`${r.id}-layer`),l=t(()=>({type:`FeatureCollection`,features:r.coordinates.length>=2?[{type:`Feature`,properties:{},geometry:{type:`LineString`,coordinates:r.coordinates}}]:[]})),u=()=>a.value||null,d=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?o.value=!0:(o.value=!1,setTimeout(t,200))};t()})},m=()=>{let e=u();if(!(!e||!e.isStyleLoaded())&&!(r.coordinates.length<2))try{if(e.getSource(s.value)||e.addSource(s.value,{type:`geojson`,data:l.value}),!e.getLayer(c.value)){let t={id:c.value,type:`line`,source:s.value,layout:{"line-cap":r.lineCap,"line-join":r.lineJoin,visibility:r.visible?`visible`:`none`},paint:{"line-color":r.color,"line-width":r.width,"line-opacity":r.opacity,...r.blur>0&&{"line-blur":r.blur},...r.dashArray&&{"line-dasharray":r.dashArray}}};e.addLayer(t,r.before||void 0)}}catch(e){console.error(`Error adding route layer:`,e)}},h=()=>{let e=u();if(e)try{let t=e.getSource(s.value);t&&`setData`in t?t.setData(l.value):!t&&r.coordinates.length>=2&&m()}catch(e){console.error(`Error updating route source:`,e)}},g=()=>{let e=u();if(!(!e||!e.getLayer(c.value)))try{e.setPaintProperty(c.value,`line-color`,r.color),e.setPaintProperty(c.value,`line-width`,r.width),e.setPaintProperty(c.value,`line-opacity`,r.opacity),r.blur>0&&e.setPaintProperty(c.value,`line-blur`,r.blur),r.dashArray&&e.setPaintProperty(c.value,`line-dasharray`,r.dashArray),e.setLayoutProperty(c.value,`line-cap`,r.lineCap),e.setLayoutProperty(c.value,`line-join`,r.lineJoin),e.setLayoutProperty(c.value,`visibility`,r.visible?`visible`:`none`)}catch(e){console.error(`Error updating route layer style:`,e)}},_=e=>{if(!(!e||!r.interactive))try{e.on(`click`,c.value,e=>{i(`click`,{coordinates:e.lngLat})}),e.on(`mouseenter`,c.value,()=>{e.getCanvas().style.cursor=`pointer`,i(`mouseenter`)}),e.on(`mouseleave`,c.value,()=>{e.getCanvas().style.cursor=``,i(`mouseleave`)})}catch(e){console.error(`Error setting up route layer events:`,e)}};return T(()=>r.coordinates,()=>{let e=u();e?.isStyleLoaded()&&(e.getSource(s.value)?h():m())},{deep:!0}),T(()=>[r.color,r.width,r.opacity,r.lineCap,r.lineJoin,r.visible,r.blur,r.dashArray],()=>g(),{deep:!0}),T(a,e=>{e&&(d(e),e.isStyleLoaded()&&(o.value=!0))},{immediate:!0}),T(o,e=>{if(e&&r.coordinates.length>=2){let e=u();e&&(m(),_(e))}}),p(()=>{try{let e=u();e?.isStyleLoaded()&&r.coordinates.length>=2&&(m(),_(e))}catch(e){console.error(`Error mounting route layer:`,e)}}),f(()=>{let e=u();if(e)try{e.getLayer(c.value)&&e.removeLayer(c.value),e.getSource(s.value)&&e.removeSource(s.value)}catch(e){console.error(`Error cleaning up route layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),It=o({__name:`VLayerMaplibreIsochrone`,props:{id:{default:()=>`isochrone-${Math.random().toString(36).slice(2,9)}`},data:{},fillOpacity:{default:.4},lineWidth:{default:2},lineOpacity:{default:.8},visible:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},before:{default:``},reverseOrder:{type:Boolean,default:!0}},emits:[`click`,`mouseenter`,`mouseleave`],setup(e,{emit:n}){let r=e,i=n,a=B(G),o=v(!1),s=v(!1),c=t(()=>`${r.id}-source`),u=t(()=>`${r.id}-fill`),d=t(()=>`${r.id}-line`),m=t(()=>!r.data||!r.data.features||r.data.features.length===0?null:{type:`FeatureCollection`,features:(r.reverseOrder?[...r.data.features].reverse():r.data.features).map(e=>({...e,properties:{...e.properties,fillColor:e.properties.color.startsWith(`#`)?e.properties.color:`#${e.properties.color}`}}))}),h=()=>a.value||null,g=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?o.value=!0:(o.value=!1,setTimeout(t,200))};t()})},_=()=>{let e=h();if(!e||!e.isStyleLoaded())return;let t=m.value;if(t)try{if(e.getSource(c.value)||e.addSource(c.value,{type:`geojson`,data:t}),!e.getLayer(u.value)){let t={id:u.value,type:`fill`,source:c.value,layout:{visibility:r.visible?`visible`:`none`},paint:{"fill-color":[`get`,`fillColor`],"fill-opacity":r.fillOpacity}};e.addLayer(t,r.before||void 0)}if(!e.getLayer(d.value)){let t={id:d.value,type:`line`,source:c.value,layout:{visibility:r.visible?`visible`:`none`},paint:{"line-color":[`get`,`fillColor`],"line-width":r.lineWidth,"line-opacity":r.lineOpacity}};e.addLayer(t,r.before||void 0)}}catch(e){console.error(`Error adding isochrone layers:`,e)}},y=()=>{let e=h();if(e)try{let t=e.getSource(c.value),n=m.value;t&&`setData`in t?n&&t.setData(n):!t&&n&&_()}catch(e){console.error(`Error updating isochrone source:`,e)}},x=()=>{let e=h();if(e)try{e.getLayer(u.value)&&(e.setPaintProperty(u.value,`fill-opacity`,r.fillOpacity),e.setLayoutProperty(u.value,`visibility`,r.visible?`visible`:`none`)),e.getLayer(d.value)&&(e.setPaintProperty(d.value,`line-width`,r.lineWidth),e.setPaintProperty(d.value,`line-opacity`,r.lineOpacity),e.setLayoutProperty(d.value,`visibility`,r.visible?`visible`:`none`))}catch(e){console.error(`Error updating isochrone layer style:`,e)}},S=e=>{if(!(!e||!r.interactive))try{e.on(`click`,u.value,e=>{e.features&&e.features.length>0&&i(`click`,{feature:e.features[0],coordinates:e.lngLat})}),e.on(`mouseenter`,u.value,t=>{e.getCanvas().style.cursor=`pointer`,t.features&&t.features.length>0&&i(`mouseenter`,t.features[0])}),e.on(`mouseleave`,u.value,()=>{e.getCanvas().style.cursor=``,i(`mouseleave`)})}catch(e){console.error(`Error setting up isochrone layer events:`,e)}},C=async()=>{if(s.value)return;let e=h();!e||!e.isStyleLoaded()||m.value&&(await l(),!s.value&&(_(),S(e),s.value=!0))};return T(()=>r.data,()=>{let e=h();e?.isStyleLoaded()&&(e.getSource(c.value)?y():_())},{deep:!0}),T(()=>[r.fillOpacity,r.lineWidth,r.lineOpacity,r.visible],()=>x(),{deep:!0}),T(o,e=>{e&&C()}),T(a,e=>{e&&(g(e),e.isStyleLoaded()&&(o.value=!0,C()))},{immediate:!0}),p(()=>{l(()=>{C()})}),f(()=>{let e=h();if(e)try{e.getLayer(d.value)&&e.removeLayer(d.value),e.getLayer(u.value)&&e.removeLayer(u.value),e.getSource(c.value)&&e.removeSource(c.value)}catch(e){console.error(`Error cleaning up isochrone layer:`,e)}}),(e,t)=>b(e.$slots,`default`)}}),Lt=o({__name:`VLayerMaplibreStarfield`,props:{id:{default:`starfield`},starCount:{default:4e3},starSize:{default:2},starColor:{default:16777215},galaxyTextureUrl:{},galaxyBrightness:{default:.35},before:{},sunEnabled:{type:Boolean,default:!1},sunAzimuth:{default:180},sunAltitude:{default:45},sunSize:{default:100},sunColor:{default:16772778},sunIntensity:{default:1.5},autoFadeStars:{type:Boolean,default:!0},fadeAltitude:{}},setup(e){let t=e,n=B(G),r=v(!1),i=null,a=()=>n.value||null,o=()=>{let e=a();if(!(!e||!e.isStyleLoaded()))try{e.getLayer(t.id)&&e.removeLayer(t.id),i=new L({id:t.id,starCount:t.starCount,starSize:t.starSize,starColor:t.starColor,galaxyTextureUrl:t.galaxyTextureUrl,galaxyBrightness:t.galaxyBrightness,sunEnabled:t.sunEnabled,sunAzimuth:t.sunAzimuth,sunAltitude:t.sunAltitude,sunSize:t.sunSize,sunColor:t.sunColor,sunIntensity:t.sunIntensity,autoFadeStars:t.autoFadeStars,fadeAltitude:t.fadeAltitude}),e.addLayer(i,t.before||void 0)}catch(e){console.error(`Error adding starfield layer:`,e)}},s=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?r.value=!0:(r.value=!1,setTimeout(t,200))};t()})};return T(n,e=>{e&&(s(e),e.isStyleLoaded()&&(r.value=!0))},{immediate:!0}),T(r,e=>{e&&o()}),T(()=>[t.sunAzimuth,t.sunAltitude,t.fadeAltitude],([e,t,n])=>{i?.setSunPosition(e,t,n)}),T(()=>t.fadeAltitude,e=>{i?.setFadeAltitude(e)}),T(()=>t.sunEnabled,e=>{i?.setSunEnabled(e)}),T(()=>t.sunIntensity,e=>{i?.setSunIntensity(e)}),T(()=>t.sunSize,e=>{i?.setSunSize(e)}),f(()=>{let e=a();if(e){try{e.getLayer(t.id)&&e.removeLayer(t.id)}catch(e){console.error(`Error cleaning up starfield layer:`,e)}i=null}}),(e,t)=>b(e.$slots,`default`)}}),Rt=o({__name:`VLayerDeckglScatterplot`,props:{id:{},data:{},getPosition:{},getRadius:{},getFillColor:{},getLineColor:{},getLineWidth:{},radiusUnits:{default:`meters`},radiusScale:{default:1},radiusMinPixels:{default:0},radiusMaxPixels:{default:2**53-1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},stroked:{type:Boolean,default:!1},filled:{type:Boolean,default:!0},billboard:{type:Boolean,default:!1},antialiasing:{type:Boolean,default:!0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new le({id:n.id,data:n.data,getPosition:n.getPosition,getRadius:n.getRadius??1,getFillColor:n.getFillColor??[255,140,0],getLineColor:n.getLineColor??[0,0,0],getLineWidth:n.getLineWidth??1,radiusUnits:n.radiusUnits,radiusScale:n.radiusScale,radiusMinPixels:n.radiusMinPixels,radiusMaxPixels:n.radiusMaxPixels,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,stroked:n.stroked,filled:n.filled,billboard:n.billboard,antialiasing:n.antialiasing,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getRadius,n.getFillColor,n.getLineColor,n.radiusScale,n.opacity,n.visible,n.stroked,n.filled],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),zt=o({__name:`VLayerDeckglArc`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getSourceColor:{},getTargetColor:{},getWidth:{},getHeight:{},getTilt:{},greatCircle:{type:Boolean,default:!1},numSegments:{default:50},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new R({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getSourceColor:n.getSourceColor??[255,140,0],getTargetColor:n.getTargetColor??[0,200,255],getWidth:n.getWidth??1,getHeight:n.getHeight??1,getTilt:n.getTilt??0,greatCircle:n.greatCircle,numSegments:n.numSegments,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getSourceColor,n.getTargetColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Bt=o({__name:`VLayerDeckglGeojson`,props:{id:{},data:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},getText:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},pointType:{default:`circle`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},lineJointRounded:{type:Boolean,default:!1},lineCapRounded:{type:Boolean,default:!1},lineMiterLimit:{default:4},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},elevationScale:{default:1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ne({id:n.id,data:n.data,getFillColor:n.getFillColor??[200,200,200,200],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getPointRadius:n.getPointRadius??1,getElevation:n.getElevation??1e3,getText:n.getText,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,pointType:n.pointType,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,lineJointRounded:n.lineJointRounded,lineCapRounded:n.lineCapRounded,lineMiterLimit:n.lineMiterLimit,pointRadiusUnits:n.pointRadiusUnits,pointRadiusScale:n.pointRadiusScale,pointRadiusMinPixels:n.pointRadiusMinPixels,pointRadiusMaxPixels:n.pointRadiusMaxPixels,elevationScale:n.elevationScale,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getFillColor,n.getLineColor,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Vt=o({__name:`VLayerDeckglPath`,props:{id:{},data:{},getPath:{},getColor:{},getWidth:{},widthUnits:{default:`meters`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},capRounded:{type:Boolean,default:!1},jointRounded:{type:Boolean,default:!1},billboard:{type:Boolean,default:!1},miterLimit:{default:4},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new oe({id:n.id,data:n.data,getPath:n.getPath,getColor:n.getColor??[0,0,0,255],getWidth:n.getWidth??1,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,capRounded:n.capRounded,jointRounded:n.jointRounded,billboard:n.billboard,miterLimit:n.miterLimit,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPath,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Ht=o({__name:`VLayerDeckglLine`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getColor:{},getWidth:{},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ae({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getColor:n.getColor??[0,0,0,255],getWidth:n.getWidth??1,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Ut=o({__name:`VLayerDeckglPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getLineWidth:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},lineJointRounded:{type:Boolean,default:!1},lineMiterLimit:{default:4},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ce({id:n.id,data:n.data,getPolygon:n.getPolygon,getFillColor:n.getFillColor??[200,200,200,200],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,lineJointRounded:n.lineJointRounded,lineMiterLimit:n.lineMiterLimit,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPolygon,n.getFillColor,n.getLineColor,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Wt=o({__name:`VLayerDeckglSolidPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ue({id:n.id,data:n.data,getPolygon:n.getPolygon,getFillColor:n.getFillColor??[0,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPolygon,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Gt=o({__name:`VLayerDeckglIcon`,props:{id:{},data:{},getPosition:{},getIcon:{},getSize:{},getColor:{},getAngle:{},iconAtlas:{},iconMapping:{},sizeScale:{default:1},sizeUnits:{default:`pixels`},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},billboard:{type:Boolean,default:!0},alphaCutoff:{default:.05},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ie({id:n.id,data:n.data,getPosition:n.getPosition,getIcon:n.getIcon??`marker`,getSize:n.getSize??1,getColor:n.getColor??[255,255,255,255],getAngle:n.getAngle??0,iconAtlas:n.iconAtlas,iconMapping:n.iconMapping,sizeScale:n.sizeScale,sizeUnits:n.sizeUnits,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,billboard:n.billboard,alphaCutoff:n.alphaCutoff,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getIcon,n.getSize,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Kt=o({__name:`VLayerDeckglText`,props:{id:{},data:{},getPosition:{},getText:{},getSize:{},getColor:{},getAngle:{},getTextAnchor:{},getAlignmentBaseline:{},getPixelOffset:{},getBackgroundColor:{},getBorderColor:{},getBorderWidth:{},background:{type:Boolean,default:!1},backgroundPadding:{},billboard:{type:Boolean,default:!0},sizeScale:{default:1},sizeUnits:{default:`pixels`},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},characterSet:{default:`auto`},fontFamily:{default:`Monaco, monospace`},fontWeight:{default:`normal`},lineHeight:{default:1},fontSettings:{default:()=>({sdf:!0})},wordBreak:{default:`break-word`},maxWidth:{default:-1},outlineWidth:{default:0},outlineColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new de({id:n.id,data:n.data,getPosition:n.getPosition,getText:n.getText,getSize:n.getSize??32,getColor:n.getColor??[0,0,0,255],getAngle:n.getAngle??0,getTextAnchor:n.getTextAnchor??`middle`,getAlignmentBaseline:n.getAlignmentBaseline??`center`,getPixelOffset:n.getPixelOffset??[0,0],getBackgroundColor:n.getBackgroundColor,getBorderColor:n.getBorderColor,getBorderWidth:n.getBorderWidth,background:n.background,backgroundPadding:n.backgroundPadding,billboard:n.billboard,sizeScale:n.sizeScale,sizeUnits:n.sizeUnits,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,characterSet:n.characterSet,fontFamily:n.fontFamily,fontWeight:n.fontWeight,lineHeight:n.lineHeight,fontSettings:n.fontSettings,wordBreak:n.wordBreak,maxWidth:n.maxWidth,outlineWidth:n.outlineWidth,outlineColor:n.outlineColor,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getText,n.getSize,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),qt=o({__name:`VLayerDeckglColumn`,props:{id:{},data:{},getPosition:{},getFillColor:{},getLineColor:{},getElevation:{},diskResolution:{default:20},radius:{default:1e3},angle:{default:0},vertices:{},offset:{},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!1},extruded:{type:Boolean,default:!0},wireframe:{type:Boolean,default:!1},flatShading:{type:Boolean,default:!1},radiusUnits:{default:`meters`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new te({id:n.id,data:n.data,getPosition:n.getPosition,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,diskResolution:n.diskResolution,radius:n.radius,angle:n.angle,vertices:n.vertices,offset:n.offset,coverage:n.coverage,elevationScale:n.elevationScale,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,flatShading:n.flatShading,radiusUnits:n.radiusUnits,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getFillColor,n.getElevation,n.radius,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Jt=o({__name:`VLayerDeckglBitmap`,props:{id:{},image:{},bounds:{},loadOptions:{},textureParameters:{},desaturate:{default:0},transparentColor:{},tintColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new z({id:n.id,image:n.image,bounds:n.bounds,loadOptions:n.loadOptions,textureParameters:n.textureParameters,desaturate:n.desaturate,transparentColor:n.transparentColor??[0,0,0,0],tintColor:n.tintColor??[255,255,255],opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.image,n.bounds,n.desaturate,n.tintColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Yt=o({__name:`VLayerDeckglGridCell`,props:{id:{},data:{},getPosition:{},getFillColor:{},getElevation:{},cellSize:{default:1e3},coverage:{default:1},elevationScale:{default:1},extruded:{type:Boolean,default:!0},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new re({id:n.id,data:n.data,getPosition:n.getPosition,getFillColor:n.getFillColor??[255,0,0,255],getElevation:n.getElevation??1e3,cellSize:n.cellSize,coverage:n.coverage,elevationScale:n.elevationScale,extruded:n.extruded,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getFillColor,n.getElevation,n.cellSize,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Xt=o({__name:`VLayerDeckglPointCloud`,props:{id:{},data:{},getPosition:{},getColor:{},getNormal:{},sizeUnits:{default:`pixels`},pointSize:{default:10},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new se({id:n.id,data:n.data,getPosition:n.getPosition,getColor:n.getColor??[0,0,0,255],getNormal:n.getNormal??[0,0,1],sizeUnits:n.sizeUnits,pointSize:n.pointSize,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getColor,n.pointSize,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Zt=o({__name:`VLayerDeckglHeatmap`,props:{id:{},data:{},getPosition:{},getWeight:{},intensity:{default:1},radiusPixels:{default:30},colorRange:{},threshold:{default:.05},colorDomain:{},aggregation:{default:`SUM`},weightsTextureSize:{default:2048},debounceTimeout:{default:500},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new me({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,intensity:n.intensity,radiusPixels:n.radiusPixels,colorRange:n.colorRange,threshold:n.threshold,colorDomain:n.colorDomain,aggregation:n.aggregation,weightsTextureSize:n.weightsTextureSize,debounceTimeout:n.debounceTimeout,opacity:n.opacity,visible:n.visible,pickable:n.pickable,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.getWeight,n.intensity,n.radiusPixels,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Qt=o({__name:`VLayerDeckglHexagon`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},gpuAggregation:{type:Boolean,default:!1},radius:{default:1e3},elevationScale:{default:1},elevationRange:{},colorRange:{},colorDomain:{},coverage:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},material:{type:[Boolean,Object]},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new he({id:n.id,data:n.data,getPosition:n.getPosition,getColorWeight:n.getColorWeight,getElevationWeight:n.getElevationWeight,gpuAggregation:n.gpuAggregation,radius:n.radius,elevationScale:n.elevationScale,elevationRange:n.elevationRange,colorRange:n.colorRange,colorDomain:n.colorDomain,coverage:n.coverage,extruded:n.extruded,upperPercentile:n.upperPercentile,lowerPercentile:n.lowerPercentile,elevationUpperPercentile:n.elevationUpperPercentile,elevationLowerPercentile:n.elevationLowerPercentile,colorScaleType:n.colorScaleType,material:n.material,colorAggregation:n.colorAggregation,elevationAggregation:n.elevationAggregation,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.radius,n.elevationScale,n.opacity,n.visible,n.extruded],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),$t=o({__name:`VLayerDeckglGrid`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},cellSize:{default:1e3},colorRange:{},coverage:{default:1},elevationDomain:{},elevationRange:{},elevationScale:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},gpuAggregation:{type:Boolean,default:!1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new pe({id:n.id,data:n.data,getPosition:n.getPosition,getColorWeight:n.getColorWeight??1,getElevationWeight:n.getElevationWeight??1,cellSize:n.cellSize,colorRange:n.colorRange,coverage:n.coverage,elevationDomain:n.elevationDomain,elevationRange:n.elevationRange,elevationScale:n.elevationScale,extruded:n.extruded,upperPercentile:n.upperPercentile,lowerPercentile:n.lowerPercentile,elevationUpperPercentile:n.elevationUpperPercentile,elevationLowerPercentile:n.elevationLowerPercentile,colorScaleType:n.colorScaleType,colorAggregation:n.colorAggregation,elevationAggregation:n.elevationAggregation,gpuAggregation:n.gpuAggregation,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSize,n.colorRange,n.elevationScale,n.extruded,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),en=o({__name:`VLayerDeckglContour`,props:{id:{},data:{},getPosition:{},getWeight:{},cellSize:{default:1e3},contours:{},gpuAggregation:{type:Boolean,default:!1},aggregation:{default:`SUM`},zOffset:{default:.005},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new fe({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,cellSize:n.cellSize,contours:n.contours,gpuAggregation:n.gpuAggregation,aggregation:n.aggregation,zOffset:n.zOffset,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSize,n.contours,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),tn=o({__name:`VLayerDeckglScreenGrid`,props:{id:{},data:{},getPosition:{},getWeight:{},cellSizePixels:{default:100},cellMarginPixels:{default:2},colorRange:{},colorDomain:{},gpuAggregation:{type:Boolean,default:!1},aggregation:{default:`SUM`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ge({id:n.id,data:n.data,getPosition:n.getPosition,getWeight:n.getWeight??1,cellSizePixels:n.cellSizePixels,cellMarginPixels:n.cellMarginPixels,colorRange:n.colorRange,colorDomain:n.colorDomain,gpuAggregation:n.gpuAggregation,aggregation:n.aggregation,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPosition,n.cellSizePixels,n.colorRange,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),nn=o({__name:`VLayerDeckglTrips`,props:{id:{},data:{},getPath:{},getTimestamps:{},getColor:{},getWidth:{},currentTime:{default:0},trailLength:{default:120},fadeTrail:{type:Boolean,default:!0},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},capRounded:{type:Boolean,default:!1},jointRounded:{type:Boolean,default:!1},billboard:{type:Boolean,default:!1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new De({id:n.id,data:n.data,getPath:n.getPath,getTimestamps:n.getTimestamps,getColor:n.getColor??[253,128,93],getWidth:n.getWidth??1,currentTime:n.currentTime,trailLength:n.trailLength,fadeTrail:n.fadeTrail,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,capRounded:n.capRounded,jointRounded:n.jointRounded,billboard:n.billboard,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getPath,n.currentTime,n.trailLength,n.getColor,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),rn=o({__name:`VLayerDeckglH3Hexagon`,props:{id:{},data:{},getHexagon:{},getFillColor:{},getLineColor:{},getElevation:{},highPrecision:{type:[Boolean,String],default:`auto`},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new be({id:n.id,data:n.data,getHexagon:n.getHexagon,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,highPrecision:n.highPrecision,coverage:n.coverage,elevationScale:n.elevationScale,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getHexagon,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),an=o({__name:`VLayerDeckglH3Cluster`,props:{id:{},data:{},getHexagons:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ye({id:n.id,data:n.data,getHexagons:n.getHexagons,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getHexagons,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),on=o({__name:`VLayerDeckglMVT`,props:{id:{},data:{},minZoom:{default:0},maxZoom:{default:23},uniqueIdProperty:{},highlightedFeatureId:{},binary:{type:Boolean,default:!0},loadOptions:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},stroked:{type:Boolean,default:!0},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},pointType:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`,`tileLoad`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new xe({id:n.id,data:n.data,minZoom:n.minZoom,maxZoom:n.maxZoom,uniqueIdProperty:n.uniqueIdProperty,highlightedFeatureId:n.highlightedFeatureId,binary:n.binary,loadOptions:n.loadOptions,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getLineWidth:n.getLineWidth??1,getPointRadius:n.getPointRadius??1,getElevation:n.getElevation??1e3,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,pointRadiusUnits:n.pointRadiusUnits,pointRadiusScale:n.pointRadiusScale,pointRadiusMinPixels:n.pointRadiusMinPixels,pointRadiusMaxPixels:n.pointRadiusMaxPixels,stroked:n.stroked,filled:n.filled,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,pointType:n.pointType,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onTileLoad:e=>r(`tileLoad`,e),onTileError:(e,t)=>r(`tileError`,e,t)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getFillColor,n.getLineColor,n.highlightedFeatureId,n.extruded,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),sn=o({__name:`VLayerDeckglTile`,props:{id:{},data:{},getTileData:{},renderSubLayers:{},tileSize:{default:512},maxZoom:{},minZoom:{default:0},maxCacheSize:{},maxCacheByteSize:{},refinementStrategy:{default:`best-available`},zRange:{},maxRequests:{default:6},extent:{},loadOptions:{},zoomOffset:{default:0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`,`viewportLoad`,`tileLoad`,`tileUnload`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Ee({id:n.id,data:n.data,getTileData:n.getTileData,renderSubLayers:n.renderSubLayers,tileSize:n.tileSize,maxZoom:n.maxZoom,minZoom:n.minZoom,maxCacheSize:n.maxCacheSize,maxCacheByteSize:n.maxCacheByteSize,refinementStrategy:n.refinementStrategy,zRange:n.zRange,maxRequests:n.maxRequests,extent:n.extent,loadOptions:n.loadOptions,zoomOffset:n.zoomOffset,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onViewportLoad:e=>r(`viewportLoad`,e),onTileLoad:e=>r(`tileLoad`,e),onTileUnload:e=>r(`tileUnload`,e),onTileError:(e,t)=>r(`tileError`,e,t)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.tileSize,n.maxZoom,n.minZoom,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),cn=o({__name:`VLayerDeckglTile3D`,props:{id:{},data:{},loader:{},loadOptions:{},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pointSize:{default:1},getPointColor:{},beforeId:{}},emits:[`click`,`hover`,`tilesetLoad`,`tileLoad`,`tileUnload`,`tileError`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Te({id:n.id,data:n.data,pointSize:n.pointSize,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),onTilesetLoad:e=>r(`tilesetLoad`,e),onTileLoad:e=>r(`tileLoad`,e),onTileUnload:e=>r(`tileUnload`,e),onTileError:(e,t,n)=>r(`tileError`,e,t,n),...n.loader!==void 0&&{loader:n.loader},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.getPointColor!==void 0&&{getPointColor:n.getPointColor}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.pointSize,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),ln=o({__name:`VLayerDeckglTerrain`,props:{id:{},elevationData:{},texture:{},meshMaxError:{default:4},elevationDecoder:{},bounds:{},loadOptions:{},workerUrl:{},color:{},wireframe:{type:Boolean,default:!1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new we({id:n.id,elevationData:n.elevationData,texture:n.texture,meshMaxError:n.meshMaxError,elevationDecoder:n.elevationDecoder,bounds:n.bounds,loadOptions:n.loadOptions,workerUrl:n.workerUrl,color:n.color??[255,255,255],wireframe:n.wireframe,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.elevationData,n.texture,n.meshMaxError,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),un=o({__name:`VLayerDeckglGreatCircle`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getSourceColor:{},getTargetColor:{},getWidth:{},getHeight:{},getTilt:{},numSegments:{default:50},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ve({id:n.id,data:n.data,getSourcePosition:n.getSourcePosition,getTargetPosition:n.getTargetPosition,getSourceColor:n.getSourceColor??[0,0,255],getTargetColor:n.getTargetColor??[0,255,0],getWidth:n.getWidth??1,getHeight:n.getHeight??1,getTilt:n.getTilt??0,numSegments:n.numSegments,widthUnits:n.widthUnits,widthScale:n.widthScale,widthMinPixels:n.widthMinPixels,widthMaxPixels:n.widthMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getSourcePosition,n.getTargetPosition,n.getSourceColor,n.getTargetColor,n.getWidth,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),dn=o({__name:`VLayerDeckglS2`,props:{id:{},data:{},getS2Token:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Ce({id:n.id,data:n.data,getS2Token:n.getS2Token,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getS2Token,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),fn=o({__name:`VLayerDeckglGeohash`,props:{id:{},data:{},getGeohash:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new _e({id:n.id,data:n.data,getGeohash:n.getGeohash,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getGeohash,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),pn=o({__name:`VLayerDeckglQuadkey`,props:{id:{},data:{},getQuadkey:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Se({id:n.id,data:n.data,getQuadkey:n.getQuadkey,getFillColor:n.getFillColor??[255,0,0,255],getLineColor:n.getLineColor??[0,0,0,255],getElevation:n.getElevation??1e3,filled:n.filled,stroked:n.stroked,extruded:n.extruded,wireframe:n.wireframe,elevationScale:n.elevationScale,lineWidthUnits:n.lineWidthUnits,lineWidthScale:n.lineWidthScale,lineWidthMinPixels:n.lineWidthMinPixels,lineWidthMaxPixels:n.lineWidthMaxPixels,material:n.material,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.getQuadkey,n.getFillColor,n.getElevation,n.extruded,n.elevationScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),mn=o({__name:`VLayerDeckglWMS`,props:{id:{},data:{},serviceType:{default:`wms`},layers:{},srs:{default:`EPSG:4326`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Oe({id:n.id,data:n.data,serviceType:n.serviceType,layers:n.layers,srs:n.srs,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,highlightColor:n.highlightColor,beforeId:n.beforeId,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e)}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.layers,n.srs,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),hn=o({__name:`VLayerDeckglSimpleMesh`,props:{id:{},data:{},mesh:{},getPosition:{},getColor:{},getOrientation:{},getScale:{},getTranslation:{},getTransformMatrix:{},texture:{},sizeScale:{default:1},wireframe:{type:Boolean,default:!1},material:{type:[Boolean,Object]},loaders:{},loadOptions:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new Ae({id:n.id,data:n.data,mesh:n.mesh,getPosition:n.getPosition,getColor:n.getColor??[255,255,255,255],getOrientation:n.getOrientation??[0,0,0],getScale:n.getScale??[1,1,1],getTranslation:n.getTranslation??[0,0,0],sizeScale:n.sizeScale,wireframe:n.wireframe,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),...n.getTransformMatrix!==void 0&&{getTransformMatrix:n.getTransformMatrix},...n.texture!==void 0&&{texture:n.texture},...n.material!==void 0&&{material:n.material},...n.loaders!==void 0&&{loaders:n.loaders},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.beforeId!==void 0&&{beforeId:n.beforeId}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.mesh,n.getPosition,n.getColor,n.getOrientation,n.getScale,n.sizeScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),gn=o({__name:`VLayerDeckglScenegraph`,props:{id:{},data:{},scenegraph:{},getPosition:{},getColor:{},getOrientation:{},getScale:{},getTranslation:{},getTransformMatrix:{},sizeScale:{default:1},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},animator:{},loaders:{},loadOptions:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{},_animations:{},_lighting:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),c=()=>new ke({id:n.id,data:n.data,scenegraph:n.scenegraph,getPosition:n.getPosition,getColor:n.getColor??[255,255,255,255],getOrientation:n.getOrientation??[0,0,0],getScale:n.getScale??[1,1,1],getTranslation:n.getTranslation??[0,0,0],sizeScale:n.sizeScale,sizeMinPixels:n.sizeMinPixels,sizeMaxPixels:n.sizeMaxPixels,opacity:n.opacity,visible:n.visible,pickable:n.pickable,autoHighlight:n.autoHighlight,onClick:e=>r(`click`,e),onHover:e=>r(`hover`,e),...n.getTransformMatrix!==void 0&&{getTransformMatrix:n.getTransformMatrix},...n.animator!==void 0&&{animator:n.animator},...n.loaders!==void 0&&{loaders:n.loaders},...n.loadOptions!==void 0&&{loadOptions:n.loadOptions},...n.highlightColor!==void 0&&{highlightColor:n.highlightColor},...n.beforeId!==void 0&&{beforeId:n.beforeId},...n._animations!==void 0&&{_animations:n._animations},...n._lighting!==void 0&&{_lighting:n._lighting}}),l=()=>{a(c())};return p(()=>{i.value?.isStyleLoaded()?l():i.value?.once(`style.load`,l)}),T(()=>[n.data,n.scenegraph,n.getPosition,n.getColor,n.getOrientation,n.getScale,n.sizeScale,n.opacity,n.visible],()=>s(n.id,c()),{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),_n=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,vn=o({__name:`VLayerDeckglCOG`,props:{id:{},geotiff:{},tileSize:{default:256},maxZoom:{},minZoom:{default:0},maxCacheSize:{},refinementStrategy:{default:`best-available`},maxRequests:{default:6},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.25}},emits:[`click`,`hover`,`geotiffLoad`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),l=x(null),u=x(null),d=()=>{if(!l.value)return null;let e={id:C(n.id),geotiff:C(n.geotiff),opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable),autoHighlight:C(n.autoHighlight),debug:C(n.debug),debugOpacity:C(n.debugOpacity)};return u.value&&(e.epsgResolver=u.value),e.onGeoTIFFLoad=(e,t)=>{r(`geotiffLoad`,e,t)},n.tileSize!==256&&(e.tileSize=C(n.tileSize)),n.maxZoom!==void 0&&(e.maxZoom=C(n.maxZoom)),n.minZoom!==0&&(e.minZoom=C(n.minZoom)),n.maxCacheSize!==void 0&&(e.maxCacheSize=C(n.maxCacheSize)),n.refinementStrategy!==`best-available`&&(e.refinementStrategy=C(n.refinementStrategy)),n.maxRequests!==6&&(e.maxRequests=C(n.maxRequests)),n.highlightColor!==void 0&&(e.highlightColor=C(n.highlightColor)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),c(new l.value(e))},m=async()=>{try{let[e,t]=await Promise.all([V(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),_n),V(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),_n)]);l.value=c(e.COGLayer),u.value=t.epsgResolver;let n=d();n&&a(n)}catch(e){console.error(`[deck.gl-raster] Error loading COGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff is installed`)}};return p(()=>{i.value?.isStyleLoaded()?m():i.value?.once(`style.load`,m)}),T(()=>[n.geotiff,n.tileSize,n.maxZoom,n.minZoom,n.opacity,n.visible,n.debug,n.debugOpacity],()=>{let e=d();e&&s(n.id,e)},{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Q=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,yn=o({__name:`VLayerDeckglMosaic`,props:{id:{},sources:{},renderMode:{default:`trueColor`},customRenderModules:{},colormapData:{},maxCacheSize:{default:1/0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},ndviRange:{default:()=>[-1,1]},beforeId:{}},emits:[`click`,`hover`,`sourceLoad`,`error`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o}=W(i),s=``,l=x(null),u={name:`set-alpha-1`,inject:{"fs:DECKGL_FILTER_COLOR":`color = vec4(color.rgb, 1.0);`}},d={name:`false-color-infrared`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
2
2
|
float nir = color[3];
|
|
3
3
|
float red = color[0];
|
|
4
4
|
float green = color[1];
|
|
@@ -39,5 +39,5 @@ import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,crea
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
color.rgb = result;
|
|
42
|
-
`}};function _(e,t,n,r,i){if(e===`custom`&&i)return i(t);let a=[{module:n.CreateTexture,props:{textureName:t}}];return e===`trueColor`?[...a,{module:u}]:e===`falseColor`?[...a,{module:d},{module:u}]:[...a,{module:m},{module:h,props:{ndviMin:r[0],ndviMax:r[1]}},{module:g},{module:u}]}function v(){let e=l.value;if(!e||!n.sources.length)return null;let{MosaicLayer:t,COGLayer:i,CreateTexture:a,fromUrl:o,resolveEpsg:s}=e,c=C(n.sources),u=C(n.renderMode),d=C(n.ndviRange),f=n.customRenderModules;return new t({id:`${C(n.id)}-mosaic`,sources:c,maxCacheSize:C(n.maxCacheSize),getSource:async e=>{try{let t=await o(e.assets.image.href);return r(`sourceLoad`,e),t}catch(t){throw r(`error`,t,e),t}},renderSource:(e,{data:t,signal:n})=>t?new i({id:`cog-${e.assets.image.href}-${u}`,geotiff:t,epsgResolver:s,getTileData:async(e,t)=>{let{device:r,x:i,y:a}=t,{array:o}=await e.fetchTile(i,a,{signal:n,boundless:!1});if(o.layout===`band-separate`)throw Error(`Band-separate COGs are not supported`);return{texture:r.createTexture({data:o.data,format:`rgba8unorm`,width:o.width,height:o.height}),width:o.width,height:o.height}},renderTile:e=>({image:e.texture,renderPipeline:_(u,e.texture,{CreateTexture:a},d,f)}),signal:n}):null})}async function y(){try{let[e,t,n,r]=await Promise.all([import(`@developmentseed/deck.gl-geotiff`),import(`@developmentseed/deck.gl-raster/gpu-modules`),import(`@developmentseed/geotiff`),import(`@developmentseed/proj`)]);l.value=c({MosaicLayer:e.MosaicLayer,COGLayer:e.COGLayer,CreateTexture:t.CreateTexture,fromUrl:n.GeoTIFF.fromUrl,resolveEpsg:r.epsgResolver});let i=v();i&&(s=i.id,a(i))}catch(e){console.error(`[deck.gl-mosaic] Error loading MosaicLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff, @developmentseed/deck.gl-raster, and @developmentseed/geotiff are installed`),r(`error`,e)}}return p(()=>{i.value?.isStyleLoaded()?y():i.value?.once(`style.load`,y)}),T(()=>[n.sources,n.renderMode,n.ndviRange,n.opacity,n.visible],()=>{if(l.value){let e=v();e&&(s=e.id,a(e))}},{deep:!0}),f(()=>{s&&o(s)}),(e,t)=>b(e.$slots,`default`)}}),gn=o({__name:`VLayerDeckglMultiCOG`,props:{id:{},sources:{},composite:{},renderPipeline:{},maxError:{default:.125},maxCacheSize:{},maxCacheByteSize:{},maxRequests:{default:6},debounceTime:{},refinementStrategy:{default:`best-available`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.5},debugLevel:{default:1}},emits:[`click`,`hover`,`geotiffLoad`],setup(e,{emit:t}){let n=e,r=t,i=U(q),{addLayer:a,removeLayer:o,updateLayer:s}=K(i),l=x(null),u=x(null),d=()=>{if(!l.value)return null;let e={id:C(n.id),sources:C(n.sources),opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable),autoHighlight:C(n.autoHighlight),debug:C(n.debug),debugOpacity:C(n.debugOpacity),debugLevel:C(n.debugLevel),maxError:C(n.maxError)};return u.value&&(e.epsgResolver=u.value),n.composite&&(e.composite=C(n.composite)),n.renderPipeline&&(e.renderPipeline=C(n.renderPipeline)),n.maxCacheSize!==void 0&&(e.maxCacheSize=C(n.maxCacheSize)),n.maxCacheByteSize!==void 0&&(e.maxCacheByteSize=C(n.maxCacheByteSize)),n.maxRequests!==6&&(e.maxRequests=C(n.maxRequests)),n.debounceTime!==void 0&&(e.debounceTime=C(n.debounceTime)),n.refinementStrategy!==`best-available`&&(e.refinementStrategy=C(n.refinementStrategy)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),e.onGeoTIFFLoad=(e,t)=>{r(`geotiffLoad`,e,t)},c(new l.value(e))},m=async()=>{try{let[e,t]=await Promise.all([import(`@developmentseed/deck.gl-geotiff`),import(`@developmentseed/proj`)]);l.value=c(e.MultiCOGLayer),u.value=t.epsgResolver;let n=d();n&&a(n)}catch(e){console.error(`[deck.gl-raster] Error loading MultiCOGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff and @developmentseed/proj are installed`)}};return p(()=>{i.value?.isStyleLoaded()?m():i.value?.once(`style.load`,m)}),T(()=>[n.sources,n.composite,n.renderPipeline,n.opacity,n.visible,n.debug,n.debugOpacity,n.debugLevel,n.maxError],()=>{let e=d();e&&s(n.id,e)},{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),_n=o({__name:`VLayerDeckglZarr`,props:{id:{},node:{},variable:{},selection:{},metadata:{},getTileData:{},renderTile:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=U(q),{addLayer:i,removeLayer:a,updateLayer:o}=K(r),s=x(null),l=x(null),u=()=>{if(!s.value)return null;let e={id:C(n.id),node:C(n.node),selection:C(n.selection),getTileData:n.getTileData,renderTile:n.renderTile,opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable)};return l.value&&(e.epsgResolver=l.value),n.variable!==void 0&&(e.variable=C(n.variable)),n.metadata!==void 0&&(e.metadata=C(n.metadata)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),c(new s.value(e))},d=async()=>{try{let[e,t]=await Promise.all([import(`@developmentseed/deck.gl-zarr`),import(`@developmentseed/proj`)]);s.value=c(e.ZarrLayer),l.value=t.epsgResolver;let n=u();n&&i(n)}catch(e){console.error(`[deck.gl-raster] Error loading ZarrLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-zarr, @developmentseed/proj, and zarrita are installed`)}};return p(()=>{r.value?.isStyleLoaded()?d():r.value?.once(`style.load`,d)}),T(()=>[n.node,n.variable,n.selection,n.metadata,n.opacity,n.visible],()=>{let e=u();e&&o(n.id,e)},{deep:!0}),f(()=>{a(n.id)}),(e,t)=>b(e.$slots,`default`)}}),vn=o({__name:`VLayerDeckglWindParticle`,props:{id:{},imageUrl:{},windData:{},bounds:{default:()=>[-180,-90,180,90]},uMin:{default:-50},uMax:{default:50},vMin:{default:-50},vMax:{default:50},numParticles:{default:8192},maxAge:{default:30},speedFactor:{default:50},color:{default:()=>[255,255,255,200]},colorRamp:{default:()=>[[0,[59,130,189,255]],[.1,[102,194,165,255]],[.2,[171,221,164,255]],[.3,[230,245,152,255]],[.4,[254,224,139,255]],[.5,[253,174,97,255]],[.6,[244,109,67,255]],[1,[213,62,79,255]]]},speedRange:{default:()=>[0,30]},width:{default:1.5},animate:{type:Boolean,default:!0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`,`loaded`,`error`],setup(e,{emit:n}){let r=e,i=n,a=U(q),{addLayer:o,removeLayer:s,updateLayer:c}=K(a),l=v(!1),u=v(null),d=v({uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax}),m=t(()=>{let e=d.value.uMax-d.value.uMin,t=d.value.vMax-d.value.vMin;return[Math.min(e,t)*-1,Math.max(e,t)]}),h=()=>u.value?new ke({id:r.id,image:u.value,bounds:r.bounds,imageUnscale:m.value,numParticles:r.numParticles,maxAge:r.maxAge,speedFactor:r.speedFactor,color:r.color,colorRamp:r.colorRamp,speedRange:r.speedRange,width:r.width,animate:r.animate,wrapLongitude:!0,opacity:r.opacity,visible:r.visible,pickable:r.pickable,beforeId:r.beforeId,onClick:e=>i(`click`,e),onHover:e=>i(`hover`,e)}):null,g=e=>{try{let t=Me(e,{width:360,height:180,bounds:r.bounds});return d.value={uMin:t.uMin,uMax:t.uMax,vMin:t.vMin,vMax:t.vMax},u.value=t.canvas.toDataURL(`image/png`),!0}catch(e){return i(`error`,e instanceof Error?e:Error(String(e))),!1}},_=()=>{if(r.windData&&r.windData.length>0){if(!g(r.windData))return}else if(r.imageUrl)u.value=r.imageUrl,d.value={uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax};else return;let e=h();e&&(o(e),l.value=!0,i(`loaded`))},y=()=>{if(!l.value)return;let e=h();e&&c(r.id,e)};return p(()=>{a.value?.isStyleLoaded()?_():a.value?.once(`style.load`,_)}),T(()=>r.windData,e=>{e&&e.length>0&&g(e)&&y()},{deep:!0}),T(()=>r.imageUrl,e=>{e&&!r.windData&&(u.value=e,d.value={uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax},y())}),T(()=>[r.numParticles,r.maxAge,r.speedFactor,r.color,r.colorRamp,r.speedRange,r.width,r.animate,r.opacity,r.visible],()=>{y()},{deep:!0}),f(()=>{s(r.id)}),(e,t)=>b(e.$slots,`default`)}}),yn=o({__name:`VLayerDeckgl`,props:{layer:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=U(q),{addLayer:i,removeLayer:a,updateLayer:o}=K(r),s=e=>e.id,c=()=>{i(n.layer)};return p(()=>{r.value?.isStyleLoaded()?c():r.value?.once(`style.load`,c)}),T(()=>n.layer,(e,t)=>{let n=t?s(t):null,r=s(e);n&&n!==r?(a(n),i(e)):o(r,e)},{deep:!0}),f(()=>{a(s(n.layer))}),(e,t)=>b(e.$slots,`default`)}});var bn=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const xn=[`id`];var Sn=bn(o({__name:`VMap`,props:{options:{default:()=>({container:`map`})},supportPmtiles:{type:Boolean,default:!1}},emits:[`loaded`,...wt],setup(e,{emit:t}){let n=e,a=t;if(n.supportPmtiles){let e=new L({metadata:!0});D.addProtocol(`pmtiles`,e.tile),_(J,e)}let o=x(null),s=v(!1),c=v(wt);_(q,o),K(o),p(()=>{o.value=new j(n.options),s.value=!0,l()});let l=()=>{o.value&&c.value.forEach(e=>{o.value?.on(e,t=>{switch(e){case`load`:a(`loaded`,o.value);break;default:a(e,t);break}})})};return(t,n)=>(g(),i(`div`,{id:`${e.options?.container}`,class:`v-map-container`},[s.value?b(t.$slots,`default`,{key:0},()=>[b(t.$slots,`default`,{},void 0,!0)],!0):r(`v-if`,!0)],8,xn))}}),[[`__scopeId`,`data-v-a543ca92`]]);const Cn=[`id`],wn=o({__name:`VPopup`,props:{options:{default:()=>({})},coordinates:{default:()=>({})},marker:{default:()=>({})}},emits:[`added`,`removed`,`open`,`close`],setup(e,{emit:t}){let n=e,r=t,a=U(q),o=new P(n.options),s=v(!0),c=v(null),l=()=>a.value||null,u=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?s.value=!0:(s.value=!1,setTimeout(t,200))};t()})},d=()=>{try{c.value&&o.setDOMContent(c.value)}catch(e){console.error(`Error setting popup content:`,e)}},m=()=>{try{o.setLngLat(n.coordinates)}catch(e){console.error(`Error setting popup coordinates:`,e)}},h=()=>{let e=l();if(e)try{`setPopup`in n.marker?n.marker.setPopup(o):o.addTo(e),r(`added`,{popup:o})}catch(e){console.error(`Error adding popup to marker:`,e)}},_=()=>{try{o.remove(),r(`removed`)}catch(e){console.error(`Error removing popup:`,e)}},y=()=>{try{Dt.forEach(e=>{o.on(e,()=>{r(e)})})}catch(e){console.error(`Error setting up popup events:`,e)}},x=()=>{try{Dt.forEach(e=>{o.off(e,()=>{r(e)})})}catch(e){console.error(`Error removing popup events:`,e)}};return T(a,e=>{e&&u(e)},{immediate:!0}),T(()=>n.coordinates,()=>{m()},{deep:!0}),p(()=>{if(s.value)try{d(),m(),h(),y()}catch(e){console.error(`Error initializing popup:`,e)}else _(),x()}),f(()=>{_(),x()}),(e,t)=>(g(),i(`section`,{id:`popup-${Date.now()}`,ref_key:`content`,ref:c},[b(e.$slots,`default`)],8,Cn))}}),Tn=[`id`],En=o({__name:`VMarker`,props:{coordinates:{},options:{default:()=>({})},popupOptions:{default:()=>({})},cursor:{default:`pointer`}},emits:[`added`,`update:coordinates`,`removed`,...Tt,...Et],setup(e,{emit:t}){let a=w(),o=e,s=t,c=U(q),l=v(null),u=v(!0),d=v(!1),m=v(null),h=()=>c.value||null,_=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?u.value=!0:(u.value=!1,setTimeout(t,200))};t()})},y=e=>{e instanceof HTMLElement&&(m.value=e)},x=e=>{try{e.setLngLat(o.coordinates)}catch(e){console.error(`Error setting marker coordinates:`,e)}},S=e=>{try{e.getElement().style.cursor=o.cursor||`default`}catch(e){console.error(`Error setting cursor:`,e)}},C=e=>{let t=h();if(t)try{e.addTo(t),s(`added`,{marker:e})}catch(e){console.error(`Error adding marker to map:`,e)}},D=e=>{try{e.remove(),s(`removed`)}catch(e){console.error(`Error removing marker from map:`,e)}},O=e=>{try{let t;Tt.forEach(n=>{e.on(n,e=>{n===`dragend`&&(t=Array.isArray(o.coordinates)?[e.target.getLngLat().lng,e.target.getLngLat().lat]:e.target.getLngLat(),s(`update:coordinates`,t)),s(n,e)})}),Et.forEach(t=>{e.getElement().addEventListener(t,e=>{s(t,e)})})}catch(e){console.error(`Error setting up marker events:`,e)}};T(l,e=>{d.value=e!==null&&`_map`in e}),T(c,e=>{e&&_(e)},{immediate:!0});let k=e=>{if(!(!u.value||l.value))try{l.value=new M({...o.options,element:e||void 0}),x(l.value),C(l.value),S(l.value),O(l.value)}catch(e){console.error(`Error initializing marker:`,e)}};return T(m,e=>{e&&!l.value&&k(e)}),p(()=>{a.markers||k()}),f(()=>{l.value&&D(l.value)}),(t,a)=>(g(),i(`section`,{id:`marker-${Date.now()}`,class:`absolute`},[b(t.$slots,`markers`,{setRef:y}),d.value&&t.$slots.default?(g(),n(wn,{key:0,marker:l.value,options:e.popupOptions,coordinates:e.coordinates},{default:E(()=>[b(t.$slots,`default`)]),_:3},8,[`marker`,`options`,`coordinates`])):r(`v-if`,!0)],8,Tn))}});var Dn=Sn;export{G as DeckLayersKey,W as DeckOverlayKey,Pe as VControlAttribution,Fe as VControlFullscreen,Ie as VControlGeolocate,Je as VControlLayer,st as VControlLayerGroup,bt as VControlLegend,ze as VControlLidar,Le as VControlNavigation,Re as VControlScale,yn as VLayerDeckgl,It as VLayerDeckglArc,Gt as VLayerDeckglBitmap,mn as VLayerDeckglCOG,Wt as VLayerDeckglColumn,Zt as VLayerDeckglContour,ln as VLayerDeckglGeohash,Lt as VLayerDeckglGeojson,sn as VLayerDeckglGreatCircle,Xt as VLayerDeckglGrid,Kt as VLayerDeckglGridCell,tn as VLayerDeckglH3Cluster,en as VLayerDeckglH3Hexagon,Jt as VLayerDeckglHeatmap,Yt as VLayerDeckglHexagon,Ht as VLayerDeckglIcon,zt as VLayerDeckglLine,nn as VLayerDeckglMVT,hn as VLayerDeckglMosaic,gn as VLayerDeckglMultiCOG,Rt as VLayerDeckglPath,qt as VLayerDeckglPointCloud,Bt as VLayerDeckglPolygon,un as VLayerDeckglQuadkey,cn as VLayerDeckglS2,Ft as VLayerDeckglScatterplot,pn as VLayerDeckglScenegraph,Qt as VLayerDeckglScreenGrid,fn as VLayerDeckglSimpleMesh,Vt as VLayerDeckglSolidPolygon,on as VLayerDeckglTerrain,Ut as VLayerDeckglText,rn as VLayerDeckglTile,an as VLayerDeckglTile3D,$t as VLayerDeckglTrips,dn as VLayerDeckglWMS,vn as VLayerDeckglWindParticle,_n as VLayerDeckglZarr,xt as VLayerMaplibreCanvas,jt as VLayerMaplibreCluster,St as VLayerMaplibreGeojson,Ct as VLayerMaplibreImage,Nt as VLayerMaplibreIsochrone,At as VLayerMaplibrePmtile,Q as VLayerMaplibreRaster,Mt as VLayerMaplibreRoute,Pt as VLayerMaplibreStarfield,Ot as VLayerMaplibreVector,kt as VLayerMaplibreVideo,Sn as VMap,En as VMarker,wn as VPopup,Oe as WindParticleLayer,Ae as createWindDataFromOpenWeatherMap,Dn as default,je as generateWindTexture,Ne as useDeckLayers,K as useDeckOverlay};
|
|
42
|
+
`}};function _(e,t,n,r,i){if(e===`custom`&&i)return i(t);let a=[{module:n.CreateTexture,props:{textureName:t}}];return e===`trueColor`?[...a,{module:u}]:e===`falseColor`?[...a,{module:d},{module:u}]:[...a,{module:m},{module:h,props:{ndviMin:r[0],ndviMax:r[1]}},{module:g},{module:u}]}function v(){let e=l.value;if(!e||!n.sources.length)return null;let{MosaicLayer:t,COGLayer:i,CreateTexture:a,fromUrl:o,resolveEpsg:s}=e,c=C(n.sources),u=C(n.renderMode),d=C(n.ndviRange),f=n.customRenderModules;return new t({id:`${C(n.id)}-mosaic`,sources:c,maxCacheSize:C(n.maxCacheSize),getSource:async e=>{try{let t=await o(e.assets.image.href);return r(`sourceLoad`,e),t}catch(t){throw r(`error`,t,e),t}},renderSource:(e,{data:t,signal:n})=>t?new i({id:`cog-${e.assets.image.href}-${u}`,geotiff:t,epsgResolver:s,getTileData:async(e,t)=>{let{device:r,x:i,y:a}=t,{array:o}=await e.fetchTile(i,a,{signal:n,boundless:!1});if(o.layout===`band-separate`)throw Error(`Band-separate COGs are not supported`);return{texture:r.createTexture({data:o.data,format:`rgba8unorm`,width:o.width,height:o.height}),width:o.width,height:o.height}},renderTile:e=>({image:e.texture,renderPipeline:_(u,e.texture,{CreateTexture:a},d,f)}),signal:n}):null})}async function y(){try{let[e,t,n,r]=await Promise.all([V(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),Q),V(`@developmentseed/deck.gl-raster`,()=>import(`@developmentseed/deck.gl-raster/gpu-modules`),Q),V(`@developmentseed/geotiff`,()=>import(`@developmentseed/geotiff`),Q),V(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),Q)]);l.value=c({MosaicLayer:e.MosaicLayer,COGLayer:e.COGLayer,CreateTexture:t.CreateTexture,fromUrl:n.GeoTIFF.fromUrl,resolveEpsg:r.epsgResolver});let i=v();i&&(s=i.id,a(i))}catch(e){console.error(`[deck.gl-mosaic] Error loading MosaicLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff, @developmentseed/deck.gl-raster, and @developmentseed/geotiff are installed`),r(`error`,e)}}return p(()=>{i.value?.isStyleLoaded()?y():i.value?.once(`style.load`,y)}),T(()=>[n.sources,n.renderMode,n.ndviRange,n.opacity,n.visible],()=>{if(l.value){let e=v();e&&(s=e.id,a(e))}},{deep:!0}),f(()=>{s&&o(s)}),(e,t)=>b(e.$slots,`default`)}}),$=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,bn=o({__name:`VLayerDeckglMultiCOG`,props:{id:{},sources:{},composite:{},renderPipeline:{},maxError:{default:.125},maxCacheSize:{},maxCacheByteSize:{},maxRequests:{default:6},debounceTime:{},refinementStrategy:{default:`best-available`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.5},debugLevel:{default:1}},emits:[`click`,`hover`,`geotiffLoad`],setup(e,{emit:t}){let n=e,r=t,i=B(G),{addLayer:a,removeLayer:o,updateLayer:s}=W(i),l=x(null),u=x(null),d=()=>{if(!l.value)return null;let e={id:C(n.id),sources:C(n.sources),opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable),autoHighlight:C(n.autoHighlight),debug:C(n.debug),debugOpacity:C(n.debugOpacity),debugLevel:C(n.debugLevel),maxError:C(n.maxError)};return u.value&&(e.epsgResolver=u.value),n.composite&&(e.composite=C(n.composite)),n.renderPipeline&&(e.renderPipeline=C(n.renderPipeline)),n.maxCacheSize!==void 0&&(e.maxCacheSize=C(n.maxCacheSize)),n.maxCacheByteSize!==void 0&&(e.maxCacheByteSize=C(n.maxCacheByteSize)),n.maxRequests!==6&&(e.maxRequests=C(n.maxRequests)),n.debounceTime!==void 0&&(e.debounceTime=C(n.debounceTime)),n.refinementStrategy!==`best-available`&&(e.refinementStrategy=C(n.refinementStrategy)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),e.onGeoTIFFLoad=(e,t)=>{r(`geotiffLoad`,e,t)},c(new l.value(e))},m=async()=>{try{let[e,t]=await Promise.all([V(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),$),V(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),$)]);l.value=c(e.MultiCOGLayer),u.value=t.epsgResolver;let n=d();n&&a(n)}catch(e){console.error(`[deck.gl-raster] Error loading MultiCOGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff and @developmentseed/proj are installed`)}};return p(()=>{i.value?.isStyleLoaded()?m():i.value?.once(`style.load`,m)}),T(()=>[n.sources,n.composite,n.renderPipeline,n.opacity,n.visible,n.debug,n.debugOpacity,n.debugLevel,n.maxError],()=>{let e=d();e&&s(n.id,e)},{deep:!0}),f(()=>{o(n.id)}),(e,t)=>b(e.$slots,`default`)}}),xn=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-raster @developmentseed/deck.gl-zarr @developmentseed/proj zarrita`,Sn=o({__name:`VLayerDeckglZarr`,props:{id:{},node:{},variable:{},selection:{},metadata:{},getTileData:{},renderTile:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=B(G),{addLayer:i,removeLayer:a,updateLayer:o}=W(r),s=x(null),l=x(null),u=()=>{if(!s.value)return null;let e={id:C(n.id),node:C(n.node),selection:C(n.selection),getTileData:n.getTileData,renderTile:n.renderTile,opacity:C(n.opacity),visible:C(n.visible),pickable:C(n.pickable)};return l.value&&(e.epsgResolver=l.value),n.variable!==void 0&&(e.variable=C(n.variable)),n.metadata!==void 0&&(e.metadata=C(n.metadata)),n.beforeId!==void 0&&(e.beforeId=C(n.beforeId)),c(new s.value(e))},d=async()=>{try{let[e,t]=await Promise.all([V(`@developmentseed/deck.gl-zarr`,()=>import(`@developmentseed/deck.gl-zarr`),xn),V(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),xn)]);s.value=c(e.ZarrLayer),l.value=t.epsgResolver;let n=u();n&&i(n)}catch(e){console.error(`[deck.gl-raster] Error loading ZarrLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-zarr, @developmentseed/proj, and zarrita are installed`)}};return p(()=>{r.value?.isStyleLoaded()?d():r.value?.once(`style.load`,d)}),T(()=>[n.node,n.variable,n.selection,n.metadata,n.opacity,n.visible],()=>{let e=u();e&&o(n.id,e)},{deep:!0}),f(()=>{a(n.id)}),(e,t)=>b(e.$slots,`default`)}}),Cn=o({__name:`VLayerDeckglWindParticle`,props:{id:{},imageUrl:{},windData:{},bounds:{default:()=>[-180,-90,180,90]},uMin:{default:-50},uMax:{default:50},vMin:{default:-50},vMax:{default:50},numParticles:{default:8192},maxAge:{default:30},speedFactor:{default:50},color:{default:()=>[255,255,255,200]},colorRamp:{default:()=>[[0,[59,130,189,255]],[.1,[102,194,165,255]],[.2,[171,221,164,255]],[.3,[230,245,152,255]],[.4,[254,224,139,255]],[.5,[253,174,97,255]],[.6,[244,109,67,255]],[1,[213,62,79,255]]]},speedRange:{default:()=>[0,30]},width:{default:1.5},animate:{type:Boolean,default:!0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`,`loaded`,`error`],setup(e,{emit:n}){let r=e,i=n,a=B(G),{addLayer:o,removeLayer:s,updateLayer:c}=W(a),l=v(!1),u=v(null),d=v({uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax}),m=t(()=>{let e=d.value.uMax-d.value.uMin,t=d.value.vMax-d.value.vMin;return[Math.min(e,t)*-1,Math.max(e,t)]}),h=()=>u.value?new Me({id:r.id,image:u.value,bounds:r.bounds,imageUnscale:m.value,numParticles:r.numParticles,maxAge:r.maxAge,speedFactor:r.speedFactor,color:r.color,colorRamp:r.colorRamp,speedRange:r.speedRange,width:r.width,animate:r.animate,wrapLongitude:!0,opacity:r.opacity,visible:r.visible,pickable:r.pickable,beforeId:r.beforeId,onClick:e=>i(`click`,e),onHover:e=>i(`hover`,e)}):null,g=e=>{try{let t=Fe(e,{width:360,height:180,bounds:r.bounds});return d.value={uMin:t.uMin,uMax:t.uMax,vMin:t.vMin,vMax:t.vMax},u.value=t.canvas.toDataURL(`image/png`),!0}catch(e){return i(`error`,e instanceof Error?e:Error(String(e))),!1}},_=()=>{if(r.windData&&r.windData.length>0){if(!g(r.windData))return}else if(r.imageUrl)u.value=r.imageUrl,d.value={uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax};else return;let e=h();e&&(o(e),l.value=!0,i(`loaded`))},y=()=>{if(!l.value)return;let e=h();e&&c(r.id,e)};return p(()=>{a.value?.isStyleLoaded()?_():a.value?.once(`style.load`,_)}),T(()=>r.windData,e=>{e&&e.length>0&&g(e)&&y()},{deep:!0}),T(()=>r.imageUrl,e=>{e&&!r.windData&&(u.value=e,d.value={uMin:r.uMin,uMax:r.uMax,vMin:r.vMin,vMax:r.vMax},y())}),T(()=>[r.numParticles,r.maxAge,r.speedFactor,r.color,r.colorRamp,r.speedRange,r.width,r.animate,r.opacity,r.visible],()=>{y()},{deep:!0}),f(()=>{s(r.id)}),(e,t)=>b(e.$slots,`default`)}}),wn=o({__name:`VLayerDeckgl`,props:{layer:{}},emits:[`click`,`hover`],setup(e,{emit:t}){let n=e,r=B(G),{addLayer:i,removeLayer:a,updateLayer:o}=W(r),s=e=>e.id,c=()=>{i(n.layer)};return p(()=>{r.value?.isStyleLoaded()?c():r.value?.once(`style.load`,c)}),T(()=>n.layer,(e,t)=>{let n=t?s(t):null,r=s(e);n&&n!==r?(a(n),i(e)):o(r,e)},{deep:!0}),f(()=>{a(s(n.layer))}),(e,t)=>b(e.$slots,`default`)}});var Tn=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const En=[`id`];var Dn=Tn(o({__name:`VMap`,props:{options:{default:()=>({container:`map`})},supportPmtiles:{type:Boolean,default:!1}},emits:[`loaded`,...Dt],setup(e,{emit:t}){let n=e,a=t;if(n.supportPmtiles){let e=new I({metadata:!0});D.addProtocol(`pmtiles`,e.tile),_(K,e)}let o=x(null),s=v(!1),c=v(Dt);_(G,o),W(o),p(()=>{o.value=new j(n.options),s.value=!0,l()});let l=()=>{o.value&&c.value.forEach(e=>{o.value?.on(e,t=>{switch(e){case`load`:a(`loaded`,o.value);break;default:a(e,t);break}})})};return(t,n)=>(g(),i(`div`,{id:`${e.options?.container}`,class:`v-map-container`},[s.value?b(t.$slots,`default`,{key:0},()=>[b(t.$slots,`default`,{},void 0,!0)],!0):r(`v-if`,!0)],8,En))}}),[[`__scopeId`,`data-v-a543ca92`]]);const On=[`id`],kn=o({__name:`VPopup`,props:{options:{default:()=>({})},coordinates:{default:()=>({})},marker:{default:()=>({})}},emits:[`added`,`removed`,`open`,`close`],setup(e,{emit:t}){let n=e,r=t,a=B(G),o=new ee(n.options),s=v(!0),c=v(null),l=()=>a.value||null,u=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?s.value=!0:(s.value=!1,setTimeout(t,200))};t()})},d=()=>{try{c.value&&o.setDOMContent(c.value)}catch(e){console.error(`Error setting popup content:`,e)}},m=()=>{try{o.setLngLat(n.coordinates)}catch(e){console.error(`Error setting popup coordinates:`,e)}},h=()=>{let e=l();if(e)try{`setPopup`in n.marker?n.marker.setPopup(o):o.addTo(e),r(`added`,{popup:o})}catch(e){console.error(`Error adding popup to marker:`,e)}},_=()=>{try{o.remove(),r(`removed`)}catch(e){console.error(`Error removing popup:`,e)}},y=()=>{try{At.forEach(e=>{o.on(e,()=>{r(e)})})}catch(e){console.error(`Error setting up popup events:`,e)}},x=()=>{try{At.forEach(e=>{o.off(e,()=>{r(e)})})}catch(e){console.error(`Error removing popup events:`,e)}};return T(a,e=>{e&&u(e)},{immediate:!0}),T(()=>n.coordinates,()=>{m()},{deep:!0}),p(()=>{if(s.value)try{d(),m(),h(),y()}catch(e){console.error(`Error initializing popup:`,e)}else _(),x()}),f(()=>{_(),x()}),(e,t)=>(g(),i(`section`,{id:`popup-${Date.now()}`,ref_key:`content`,ref:c},[b(e.$slots,`default`)],8,On))}}),An=[`id`],jn=o({__name:`VMarker`,props:{coordinates:{},options:{default:()=>({})},popupOptions:{default:()=>({})},cursor:{default:`pointer`}},emits:[`added`,`update:coordinates`,`removed`,...Ot,...kt],setup(e,{emit:t}){let a=w(),o=e,s=t,c=B(G),l=v(null),u=v(!0),d=v(!1),m=v(null),h=()=>c.value||null,_=e=>{e&&e.on(`style.load`,()=>{let t=()=>{e.isStyleLoaded()?u.value=!0:(u.value=!1,setTimeout(t,200))};t()})},y=e=>{e instanceof HTMLElement&&(m.value=e)},x=e=>{try{e.setLngLat(o.coordinates)}catch(e){console.error(`Error setting marker coordinates:`,e)}},S=e=>{try{e.getElement().style.cursor=o.cursor||`default`}catch(e){console.error(`Error setting cursor:`,e)}},C=e=>{let t=h();if(t)try{e.addTo(t),s(`added`,{marker:e})}catch(e){console.error(`Error adding marker to map:`,e)}},D=e=>{try{e.remove(),s(`removed`)}catch(e){console.error(`Error removing marker from map:`,e)}},O=e=>{try{let t;Ot.forEach(n=>{e.on(n,e=>{n===`dragend`&&(t=Array.isArray(o.coordinates)?[e.target.getLngLat().lng,e.target.getLngLat().lat]:e.target.getLngLat(),s(`update:coordinates`,t)),s(n,e)})}),kt.forEach(t=>{e.getElement().addEventListener(t,e=>{s(t,e)})})}catch(e){console.error(`Error setting up marker events:`,e)}};T(l,e=>{d.value=e!==null&&`_map`in e}),T(c,e=>{e&&_(e)},{immediate:!0});let k=e=>{if(!(!u.value||l.value))try{l.value=new M({...o.options,element:e||void 0}),x(l.value),C(l.value),S(l.value),O(l.value)}catch(e){console.error(`Error initializing marker:`,e)}};return T(m,e=>{e&&!l.value&&k(e)}),p(()=>{a.markers||k()}),f(()=>{l.value&&D(l.value)}),(t,a)=>(g(),i(`section`,{id:`marker-${Date.now()}`,class:`absolute`},[b(t.$slots,`markers`,{setRef:y}),d.value&&t.$slots.default?(g(),n(kn,{key:0,marker:l.value,options:e.popupOptions,coordinates:e.coordinates},{default:E(()=>[b(t.$slots,`default`)]),_:3},8,[`marker`,`options`,`coordinates`])):r(`v-if`,!0)],8,An))}});var Mn=Dn;export{U as DeckLayersKey,H as DeckOverlayKey,Le as VControlAttribution,Re as VControlFullscreen,ze as VControlGeolocate,Ze as VControlLayer,ut as VControlLayerGroup,Ct as VControlLegend,He as VControlLidar,Be as VControlNavigation,Ve as VControlScale,wn as VLayerDeckgl,zt as VLayerDeckglArc,Jt as VLayerDeckglBitmap,vn as VLayerDeckglCOG,qt as VLayerDeckglColumn,en as VLayerDeckglContour,fn as VLayerDeckglGeohash,Bt as VLayerDeckglGeojson,un as VLayerDeckglGreatCircle,$t as VLayerDeckglGrid,Yt as VLayerDeckglGridCell,an as VLayerDeckglH3Cluster,rn as VLayerDeckglH3Hexagon,Zt as VLayerDeckglHeatmap,Qt as VLayerDeckglHexagon,Gt as VLayerDeckglIcon,Ht as VLayerDeckglLine,on as VLayerDeckglMVT,yn as VLayerDeckglMosaic,bn as VLayerDeckglMultiCOG,Vt as VLayerDeckglPath,Xt as VLayerDeckglPointCloud,Ut as VLayerDeckglPolygon,pn as VLayerDeckglQuadkey,dn as VLayerDeckglS2,Rt as VLayerDeckglScatterplot,gn as VLayerDeckglScenegraph,tn as VLayerDeckglScreenGrid,hn as VLayerDeckglSimpleMesh,Wt as VLayerDeckglSolidPolygon,ln as VLayerDeckglTerrain,Kt as VLayerDeckglText,sn as VLayerDeckglTile,cn as VLayerDeckglTile3D,nn as VLayerDeckglTrips,mn as VLayerDeckglWMS,Cn as VLayerDeckglWindParticle,Sn as VLayerDeckglZarr,wt as VLayerMaplibreCanvas,Pt as VLayerMaplibreCluster,Tt as VLayerMaplibreGeojson,Et as VLayerMaplibreImage,It as VLayerMaplibreIsochrone,Nt as VLayerMaplibrePmtile,X as VLayerMaplibreRaster,Ft as VLayerMaplibreRoute,Lt as VLayerMaplibreStarfield,jt as VLayerMaplibreVector,Mt as VLayerMaplibreVideo,Dn as VMap,jn as VMarker,kn as VPopup,je as WindParticleLayer,Ne as createWindDataFromOpenWeatherMap,Mn as default,Pe as generateWindTexture,V as requirePeer,Ie as useDeckLayers,W as useDeckOverlay};
|
|
43
43
|
//# sourceMappingURL=index.js.map
|