From 5d0d57638c8466bc1a54010570ca2bc496fe823f Mon Sep 17 00:00:00 2001
From: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
Date: Sat, 9 Mar 2024 22:12:59 +0530
Subject: [PATCH] =?UTF-8?q?chore:=20minor=20housekeeping=20=F0=9F=A7=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
certs/.gitignore | 2 +
config/index.ts | 52 +-
lib/v-mapbox/controls/VControlAttribution.vue | 52 -
lib/v-mapbox/controls/VControlFullscreen.vue | 41 -
lib/v-mapbox/controls/VControlGeolocate.vue | 47 -
lib/v-mapbox/controls/VControlNavigation.vue | 41 -
lib/v-mapbox/controls/VControlScale.vue | 41 -
.../attribution/VControlAttribution.vue | 49 +
lib/v-mapbox/controls/attribution/index.ts | 1 +
lib/v-mapbox/controls/attribution/types.ts | 1 +
.../fullscreen/VControlFullscreen.vue | 32 +
lib/v-mapbox/controls/fullscreen/index.ts | 1 +
lib/v-mapbox/controls/fullscreen/types.ts | 1 +
.../controls/geolocate/VControlGeolocate.vue | 52 +
.../geolocate/events.ts} | 0
lib/v-mapbox/controls/geolocate/index.ts | 1 +
lib/v-mapbox/controls/geolocate/types.ts | 1 +
lib/v-mapbox/controls/index.ts | 5 +
.../navigation/VControlNavigation.vue | 34 +
lib/v-mapbox/controls/navigation/index.ts | 1 +
lib/v-mapbox/controls/navigation/types.ts | 1 +
lib/v-mapbox/controls/scale/VControlScale.vue | 35 +
lib/v-mapbox/controls/scale/index.ts | 1 +
lib/v-mapbox/controls/scale/types.ts | 1 +
lib/v-mapbox/index.ts | 44 +-
lib/v-mapbox/layers/deck.gl/VLayerDeckArc.vue | 78 -
.../layers/deck.gl/VLayerDeckGeojson.vue | 79 -
lib/v-mapbox/layers/index.ts | 6 +
.../layers/mapbox/VLayerMapboxCanvas.vue | 94 -
.../layers/mapbox/VLayerMapboxGeojson.vue | 96 -
.../maplibre/canvas/VLayerMaplibreCanvas.vue | 66 +
lib/v-mapbox/layers/maplibre/canvas/index.ts | 1 +
.../geojson/VLayerMaplibreGeojson.vue | 62 +
lib/v-mapbox/layers/maplibre/geojson/index.ts | 2 +
lib/v-mapbox/layers/maplibre/geojson/types.ts | 12 +
.../image/VLayerMaplibreImage.vue} | 11 +-
lib/v-mapbox/layers/maplibre/image/index.ts | 1 +
.../raster/VLayerMaplibreRaster.vue} | 14 +-
lib/v-mapbox/layers/maplibre/raster/index.ts | 1 +
.../vector/VLayerMaplibreVector.vue} | 11 +-
lib/v-mapbox/layers/maplibre/vector/index.ts | 1 +
.../video/VLayerMaplibreVideo.vue} | 11 +-
lib/v-mapbox/layers/maplibre/video/index.ts | 1 +
lib/v-mapbox/map/VMap.vue | 80 +-
nuxt.config.ts | 26 +-
package-lock.json | 17434 +++++++---------
package.json | 71 +-
uno.config.ts | 17 +-
48 files changed, 7946 insertions(+), 10766 deletions(-)
create mode 100644 certs/.gitignore
delete mode 100644 lib/v-mapbox/controls/VControlAttribution.vue
delete mode 100644 lib/v-mapbox/controls/VControlFullscreen.vue
delete mode 100644 lib/v-mapbox/controls/VControlGeolocate.vue
delete mode 100644 lib/v-mapbox/controls/VControlNavigation.vue
delete mode 100644 lib/v-mapbox/controls/VControlScale.vue
create mode 100644 lib/v-mapbox/controls/attribution/VControlAttribution.vue
create mode 100644 lib/v-mapbox/controls/attribution/index.ts
create mode 100644 lib/v-mapbox/controls/attribution/types.ts
create mode 100644 lib/v-mapbox/controls/fullscreen/VControlFullscreen.vue
create mode 100644 lib/v-mapbox/controls/fullscreen/index.ts
create mode 100644 lib/v-mapbox/controls/fullscreen/types.ts
create mode 100644 lib/v-mapbox/controls/geolocate/VControlGeolocate.vue
rename lib/v-mapbox/{constants/events/geolocate.ts => controls/geolocate/events.ts} (100%)
create mode 100644 lib/v-mapbox/controls/geolocate/index.ts
create mode 100644 lib/v-mapbox/controls/geolocate/types.ts
create mode 100644 lib/v-mapbox/controls/index.ts
create mode 100644 lib/v-mapbox/controls/navigation/VControlNavigation.vue
create mode 100644 lib/v-mapbox/controls/navigation/index.ts
create mode 100644 lib/v-mapbox/controls/navigation/types.ts
create mode 100644 lib/v-mapbox/controls/scale/VControlScale.vue
create mode 100644 lib/v-mapbox/controls/scale/index.ts
create mode 100644 lib/v-mapbox/controls/scale/types.ts
delete mode 100644 lib/v-mapbox/layers/deck.gl/VLayerDeckArc.vue
delete mode 100644 lib/v-mapbox/layers/deck.gl/VLayerDeckGeojson.vue
create mode 100644 lib/v-mapbox/layers/index.ts
delete mode 100644 lib/v-mapbox/layers/mapbox/VLayerMapboxCanvas.vue
delete mode 100644 lib/v-mapbox/layers/mapbox/VLayerMapboxGeojson.vue
create mode 100644 lib/v-mapbox/layers/maplibre/canvas/VLayerMaplibreCanvas.vue
create mode 100644 lib/v-mapbox/layers/maplibre/canvas/index.ts
create mode 100644 lib/v-mapbox/layers/maplibre/geojson/VLayerMaplibreGeojson.vue
create mode 100644 lib/v-mapbox/layers/maplibre/geojson/index.ts
create mode 100644 lib/v-mapbox/layers/maplibre/geojson/types.ts
rename lib/v-mapbox/layers/{mapbox/VLayerMapboxImage.vue => maplibre/image/VLayerMaplibreImage.vue} (96%)
create mode 100644 lib/v-mapbox/layers/maplibre/image/index.ts
rename lib/v-mapbox/layers/{mapbox/VLayerMapboxRaster.vue => maplibre/raster/VLayerMaplibreRaster.vue} (92%)
create mode 100644 lib/v-mapbox/layers/maplibre/raster/index.ts
rename lib/v-mapbox/layers/{mapbox/VLayerMapboxVector.vue => maplibre/vector/VLayerMaplibreVector.vue} (96%)
create mode 100644 lib/v-mapbox/layers/maplibre/vector/index.ts
rename lib/v-mapbox/layers/{mapbox/VLayerMapboxVideo.vue => maplibre/video/VLayerMaplibreVideo.vue} (96%)
create mode 100644 lib/v-mapbox/layers/maplibre/video/index.ts
diff --git a/certs/.gitignore b/certs/.gitignore
new file mode 100644
index 00000000..67c04e47
--- /dev/null
+++ b/certs/.gitignore
@@ -0,0 +1,2 @@
+*.*
+!.gitignore
diff --git a/config/index.ts b/config/index.ts
index 8353c59c..f916ca66 100644
--- a/config/index.ts
+++ b/config/index.ts
@@ -1,6 +1,8 @@
import type { NuxtConfig } from 'nuxt/schema';
import { head } from './head';
+const DEV = process.env.NODE_ENV !== 'production';
+
const app: NuxtConfig['app'] = {
head,
};
@@ -8,14 +10,45 @@ const app: NuxtConfig['app'] = {
const components: NuxtConfig['components'] = false;
const css: NuxtConfig['css'] = [
- 'maplibre-gl/dist/maplibre-gl.css',
+ 'maplibre-gl.css',
'v-mapbox/dist/v-mapbox.css',
'~/assets/css/global.css',
'~/assets/css/fonts.css',
];
+const debug: NuxtConfig['debug'] = DEV;
+
+const dev: NuxtConfig['dev'] = DEV;
+
+const devtools: NuxtConfig['devtools'] = {
+ enabled: DEV,
+};
+
+const devServer: NuxtConfig['devServer'] = {
+ port: Number(process.env.NITRO_PORT) || 3000,
+ https: {
+ key: process.env.NITRO_SSL_KEY || './certs/localhost-key.pem',
+ cert: process.env.NITRO_SSL_CERT || './certs/localhost.pem',
+ },
+};
+
+const experimental: NuxtConfig['experimental'] = {
+ asyncEntry: true,
+ emitRouteChunkError: 'automatic',
+ viewTransition: true,
+ componentIslands: true,
+ payloadExtraction: true,
+ typedPages: true,
+};
+
const nitro: NuxtConfig['nitro'] = {
- preset: 'netlify',
+ preset: !DEV ? 'netlify' : 'static',
+ future: {
+ nativeSWR: true,
+ },
+ prerender: {
+ crawlLinks: true,
+ },
};
const plugins: NuxtConfig['plugins'] = [
@@ -51,15 +84,30 @@ const typescript: NuxtConfig['typescript'] = {
shim: false,
};
+const vite: NuxtConfig['vite'] = {
+ resolve: {
+ alias: {
+ 'maplibre-gl': 'maplibre-gl/dist/maplibre-gl-dev.js',
+ 'maplibre-gl.css': 'maplibre-gl/dist/maplibre-gl.css',
+ },
+ },
+};
+
export { modules } from './modules';
export {
app,
components,
css,
+ debug,
+ dev,
+ devServer,
+ devtools,
+ experimental,
nitro,
plugins,
routeRules,
runtimeConfig,
ssr,
typescript,
+ vite,
};
diff --git a/lib/v-mapbox/controls/VControlAttribution.vue b/lib/v-mapbox/controls/VControlAttribution.vue
deleted file mode 100644
index 986ecae1..00000000
--- a/lib/v-mapbox/controls/VControlAttribution.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
diff --git a/lib/v-mapbox/controls/VControlFullscreen.vue b/lib/v-mapbox/controls/VControlFullscreen.vue
deleted file mode 100644
index 16a72386..00000000
--- a/lib/v-mapbox/controls/VControlFullscreen.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
diff --git a/lib/v-mapbox/controls/VControlGeolocate.vue b/lib/v-mapbox/controls/VControlGeolocate.vue
deleted file mode 100644
index 075b13b3..00000000
--- a/lib/v-mapbox/controls/VControlGeolocate.vue
+++ /dev/null
@@ -1,47 +0,0 @@
-
diff --git a/lib/v-mapbox/controls/VControlNavigation.vue b/lib/v-mapbox/controls/VControlNavigation.vue
deleted file mode 100644
index 1be8c639..00000000
--- a/lib/v-mapbox/controls/VControlNavigation.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
diff --git a/lib/v-mapbox/controls/VControlScale.vue b/lib/v-mapbox/controls/VControlScale.vue
deleted file mode 100644
index 7138099f..00000000
--- a/lib/v-mapbox/controls/VControlScale.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
diff --git a/lib/v-mapbox/controls/attribution/VControlAttribution.vue b/lib/v-mapbox/controls/attribution/VControlAttribution.vue
new file mode 100644
index 00000000..26360718
--- /dev/null
+++ b/lib/v-mapbox/controls/attribution/VControlAttribution.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
diff --git a/lib/v-mapbox/controls/attribution/index.ts b/lib/v-mapbox/controls/attribution/index.ts
new file mode 100644
index 00000000..e17190d7
--- /dev/null
+++ b/lib/v-mapbox/controls/attribution/index.ts
@@ -0,0 +1 @@
+export { default as AttributionControl } from './VControlAttribution.vue';
diff --git a/lib/v-mapbox/controls/attribution/types.ts b/lib/v-mapbox/controls/attribution/types.ts
new file mode 100644
index 00000000..bdd4dfe1
--- /dev/null
+++ b/lib/v-mapbox/controls/attribution/types.ts
@@ -0,0 +1 @@
+export type { AttributionOptions, ControlPosition } from 'maplibre-gl';
diff --git a/lib/v-mapbox/controls/fullscreen/VControlFullscreen.vue b/lib/v-mapbox/controls/fullscreen/VControlFullscreen.vue
new file mode 100644
index 00000000..0a8bfb25
--- /dev/null
+++ b/lib/v-mapbox/controls/fullscreen/VControlFullscreen.vue
@@ -0,0 +1,32 @@
+
diff --git a/lib/v-mapbox/controls/fullscreen/index.ts b/lib/v-mapbox/controls/fullscreen/index.ts
new file mode 100644
index 00000000..356d5e0b
--- /dev/null
+++ b/lib/v-mapbox/controls/fullscreen/index.ts
@@ -0,0 +1 @@
+export { default as FullscreenControl } from './VControlFullscreen.vue';
diff --git a/lib/v-mapbox/controls/fullscreen/types.ts b/lib/v-mapbox/controls/fullscreen/types.ts
new file mode 100644
index 00000000..81a2b796
--- /dev/null
+++ b/lib/v-mapbox/controls/fullscreen/types.ts
@@ -0,0 +1 @@
+export type { ControlPosition, FullscreenOptions } from 'maplibre-gl';
diff --git a/lib/v-mapbox/controls/geolocate/VControlGeolocate.vue b/lib/v-mapbox/controls/geolocate/VControlGeolocate.vue
new file mode 100644
index 00000000..9e7d1f2e
--- /dev/null
+++ b/lib/v-mapbox/controls/geolocate/VControlGeolocate.vue
@@ -0,0 +1,52 @@
+
diff --git a/lib/v-mapbox/constants/events/geolocate.ts b/lib/v-mapbox/controls/geolocate/events.ts
similarity index 100%
rename from lib/v-mapbox/constants/events/geolocate.ts
rename to lib/v-mapbox/controls/geolocate/events.ts
diff --git a/lib/v-mapbox/controls/geolocate/index.ts b/lib/v-mapbox/controls/geolocate/index.ts
new file mode 100644
index 00000000..24a2eb13
--- /dev/null
+++ b/lib/v-mapbox/controls/geolocate/index.ts
@@ -0,0 +1 @@
+export { default as GeolocateControl } from './VControlGeolocate.vue';
diff --git a/lib/v-mapbox/controls/geolocate/types.ts b/lib/v-mapbox/controls/geolocate/types.ts
new file mode 100644
index 00000000..ce319076
--- /dev/null
+++ b/lib/v-mapbox/controls/geolocate/types.ts
@@ -0,0 +1 @@
+export type { ControlPosition, GeolocateOptions } from 'maplibre-gl';
diff --git a/lib/v-mapbox/controls/index.ts b/lib/v-mapbox/controls/index.ts
new file mode 100644
index 00000000..9e8894df
--- /dev/null
+++ b/lib/v-mapbox/controls/index.ts
@@ -0,0 +1,5 @@
+export { AttributionControl as VControlAttribution } from './attribution';
+export { FullscreenControl as VControlFullscreen } from './fullscreen';
+export { GeolocateControl as VControlGeolocate } from './geolocate';
+export { NavigationControl as VControlNavigation } from './navigation';
+export { ScaleControl as VControlScale } from './scale';
diff --git a/lib/v-mapbox/controls/navigation/VControlNavigation.vue b/lib/v-mapbox/controls/navigation/VControlNavigation.vue
new file mode 100644
index 00000000..740b9694
--- /dev/null
+++ b/lib/v-mapbox/controls/navigation/VControlNavigation.vue
@@ -0,0 +1,34 @@
+
diff --git a/lib/v-mapbox/controls/navigation/index.ts b/lib/v-mapbox/controls/navigation/index.ts
new file mode 100644
index 00000000..0aaa0b57
--- /dev/null
+++ b/lib/v-mapbox/controls/navigation/index.ts
@@ -0,0 +1 @@
+export { default as NavigationControl } from './VControlNavigation.vue';
diff --git a/lib/v-mapbox/controls/navigation/types.ts b/lib/v-mapbox/controls/navigation/types.ts
new file mode 100644
index 00000000..a0df3e7b
--- /dev/null
+++ b/lib/v-mapbox/controls/navigation/types.ts
@@ -0,0 +1 @@
+export type { ControlPosition, NavigationOptions } from 'maplibre-gl';
diff --git a/lib/v-mapbox/controls/scale/VControlScale.vue b/lib/v-mapbox/controls/scale/VControlScale.vue
new file mode 100644
index 00000000..de719607
--- /dev/null
+++ b/lib/v-mapbox/controls/scale/VControlScale.vue
@@ -0,0 +1,35 @@
+
+
+
diff --git a/lib/v-mapbox/controls/scale/index.ts b/lib/v-mapbox/controls/scale/index.ts
new file mode 100644
index 00000000..6b272761
--- /dev/null
+++ b/lib/v-mapbox/controls/scale/index.ts
@@ -0,0 +1 @@
+export { default as ScaleControl } from './VControlScale.vue';
diff --git a/lib/v-mapbox/controls/scale/types.ts b/lib/v-mapbox/controls/scale/types.ts
new file mode 100644
index 00000000..fc08d3b3
--- /dev/null
+++ b/lib/v-mapbox/controls/scale/types.ts
@@ -0,0 +1 @@
+export type { ControlPosition, ScaleOptions } from 'maplibre-gl';
diff --git a/lib/v-mapbox/index.ts b/lib/v-mapbox/index.ts
index fd67861e..3cea0cde 100644
--- a/lib/v-mapbox/index.ts
+++ b/lib/v-mapbox/index.ts
@@ -1,19 +1,21 @@
// Controls
-import VControlAttribution from './controls/VControlAttribution.vue';
-import VControlFullscreen from './controls/VControlFullscreen.vue';
-import VControlGeolocate from './controls/VControlGeolocate.vue';
-import VControlNavigation from './controls/VControlNavigation.vue';
-import VControlScale from './controls/VControlScale.vue';
-// Layers – Deck.gl
-import VLayerDeckArc from './layers/deck.gl/VLayerDeckArc.vue';
-import VLayerDeckGeojson from './layers/deck.gl/VLayerDeckGeojson.vue';
+import {
+ VControlAttribution,
+ VControlFullscreen,
+ VControlGeolocate,
+ VControlNavigation,
+ VControlScale,
+} from './controls';
// Layers – Mapbox
-import VLayerMapboxCanvas from './layers/mapbox/VLayerMapboxCanvas.vue';
-import VLayerMapboxGeojson from './layers/mapbox/VLayerMapboxGeojson.vue';
-import VLayerMapboxImage from './layers/mapbox/VLayerMapboxImage.vue';
-import VLayerMapboxRaster from './layers/mapbox/VLayerMapboxRaster.vue';
-import VLayerMapboxVector from './layers/mapbox/VLayerMapboxVector.vue';
-import VLayerMapboxVideo from './layers/mapbox/VLayerMapboxVideo.vue';
+import {
+ VLayerMaplibreCanvas,
+ VLayerMaplibreGeojson,
+ VLayerMaplibreImage,
+ VLayerMaplibreRaster,
+ VLayerMaplibreVector,
+ VLayerMaplibreVideo,
+} from './layers';
+
// Map
import VMap from './map/VMap.vue';
// Marker
@@ -28,14 +30,12 @@ export {
// Popup
VPopup,
// Layers
- VLayerMapboxCanvas,
- VLayerMapboxGeojson,
- VLayerMapboxImage,
- VLayerMapboxRaster,
- VLayerMapboxVector,
- VLayerMapboxVideo,
- VLayerDeckArc,
- VLayerDeckGeojson,
+ VLayerMaplibreCanvas,
+ VLayerMaplibreGeojson,
+ VLayerMaplibreImage,
+ VLayerMaplibreRaster,
+ VLayerMaplibreVector,
+ VLayerMaplibreVideo,
// Controls
VControlAttribution,
VControlFullscreen,
diff --git a/lib/v-mapbox/layers/deck.gl/VLayerDeckArc.vue b/lib/v-mapbox/layers/deck.gl/VLayerDeckArc.vue
deleted file mode 100644
index a73cba9e..00000000
--- a/lib/v-mapbox/layers/deck.gl/VLayerDeckArc.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
diff --git a/lib/v-mapbox/layers/deck.gl/VLayerDeckGeojson.vue b/lib/v-mapbox/layers/deck.gl/VLayerDeckGeojson.vue
deleted file mode 100644
index 78c80f04..00000000
--- a/lib/v-mapbox/layers/deck.gl/VLayerDeckGeojson.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-
diff --git a/lib/v-mapbox/layers/index.ts b/lib/v-mapbox/layers/index.ts
new file mode 100644
index 00000000..5734f155
--- /dev/null
+++ b/lib/v-mapbox/layers/index.ts
@@ -0,0 +1,6 @@
+export { CanvasLayer as VLayerMaplibreCanvas } from './maplibre/canvas';
+export { GeojsonLayer as VLayerMaplibreGeojson } from './maplibre/geojson';
+export { ImageLayer as VLayerMaplibreImage } from './maplibre/image';
+export { RasterLayer as VLayerMaplibreRaster } from './maplibre/raster';
+export { VectorLayer as VLayerMaplibreVector } from './maplibre/vector';
+export { VideoLayer as VLayerMaplibreVideo } from './maplibre/video';
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxCanvas.vue b/lib/v-mapbox/layers/mapbox/VLayerMapboxCanvas.vue
deleted file mode 100644
index 60400f80..00000000
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxCanvas.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxGeojson.vue b/lib/v-mapbox/layers/mapbox/VLayerMapboxGeojson.vue
deleted file mode 100644
index 8769c2b6..00000000
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxGeojson.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
diff --git a/lib/v-mapbox/layers/maplibre/canvas/VLayerMaplibreCanvas.vue b/lib/v-mapbox/layers/maplibre/canvas/VLayerMaplibreCanvas.vue
new file mode 100644
index 00000000..ae2fe40a
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/canvas/VLayerMaplibreCanvas.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/canvas/index.ts b/lib/v-mapbox/layers/maplibre/canvas/index.ts
new file mode 100644
index 00000000..988297ea
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/canvas/index.ts
@@ -0,0 +1 @@
+export { default as CanvasLayer } from './VLayerMaplibreCanvas.vue';
diff --git a/lib/v-mapbox/layers/maplibre/geojson/VLayerMaplibreGeojson.vue b/lib/v-mapbox/layers/maplibre/geojson/VLayerMaplibreGeojson.vue
new file mode 100644
index 00000000..2028fcad
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/geojson/VLayerMaplibreGeojson.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/geojson/index.ts b/lib/v-mapbox/layers/maplibre/geojson/index.ts
new file mode 100644
index 00000000..b63e4f1c
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/geojson/index.ts
@@ -0,0 +1,2 @@
+export { default as GeojsonLayer } from './VLayerMaplibreGeojson.vue';
+export type { Props } from './types';
diff --git a/lib/v-mapbox/layers/maplibre/geojson/types.ts b/lib/v-mapbox/layers/maplibre/geojson/types.ts
new file mode 100644
index 00000000..819c43c6
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/geojson/types.ts
@@ -0,0 +1,12 @@
+import type {
+ LayerSpecification,
+ GeoJSONSourceSpecification,
+} from 'maplibre-gl';
+
+export type Props = {
+ source: GeoJSONSourceSpecification;
+ layer: LayerSpecification;
+ sourceId?: string;
+ layerId?: string;
+ before?: string;
+};
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxImage.vue b/lib/v-mapbox/layers/maplibre/image/VLayerMaplibreImage.vue
similarity index 96%
rename from lib/v-mapbox/layers/mapbox/VLayerMapboxImage.vue
rename to lib/v-mapbox/layers/maplibre/image/VLayerMaplibreImage.vue
index 3b2ad628..ff4a0b60 100644
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxImage.vue
+++ b/lib/v-mapbox/layers/maplibre/image/VLayerMaplibreImage.vue
@@ -1,8 +1,3 @@
-
-
-
-
-
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/image/index.ts b/lib/v-mapbox/layers/maplibre/image/index.ts
new file mode 100644
index 00000000..4f371a47
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/image/index.ts
@@ -0,0 +1 @@
+export { default as ImageLayer } from './VLayerMaplibreImage.vue';
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxRaster.vue b/lib/v-mapbox/layers/maplibre/raster/VLayerMaplibreRaster.vue
similarity index 92%
rename from lib/v-mapbox/layers/mapbox/VLayerMapboxRaster.vue
rename to lib/v-mapbox/layers/maplibre/raster/VLayerMaplibreRaster.vue
index 2993b6b8..a7a83773 100644
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxRaster.vue
+++ b/lib/v-mapbox/layers/maplibre/raster/VLayerMaplibreRaster.vue
@@ -1,16 +1,12 @@
-
-
-
-
-
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/raster/index.ts b/lib/v-mapbox/layers/maplibre/raster/index.ts
new file mode 100644
index 00000000..9f155765
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/raster/index.ts
@@ -0,0 +1 @@
+export { default as RasterLayer } from './VLayerMaplibreRaster.vue';
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxVector.vue b/lib/v-mapbox/layers/maplibre/vector/VLayerMaplibreVector.vue
similarity index 96%
rename from lib/v-mapbox/layers/mapbox/VLayerMapboxVector.vue
rename to lib/v-mapbox/layers/maplibre/vector/VLayerMaplibreVector.vue
index dfb8ebb4..acbef1a3 100644
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxVector.vue
+++ b/lib/v-mapbox/layers/maplibre/vector/VLayerMaplibreVector.vue
@@ -1,8 +1,3 @@
-
-
-
-
-
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/vector/index.ts b/lib/v-mapbox/layers/maplibre/vector/index.ts
new file mode 100644
index 00000000..b2bc21e1
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/vector/index.ts
@@ -0,0 +1 @@
+export { default as VectorLayer } from './VLayerMaplibreVector.vue';
diff --git a/lib/v-mapbox/layers/mapbox/VLayerMapboxVideo.vue b/lib/v-mapbox/layers/maplibre/video/VLayerMaplibreVideo.vue
similarity index 96%
rename from lib/v-mapbox/layers/mapbox/VLayerMapboxVideo.vue
rename to lib/v-mapbox/layers/maplibre/video/VLayerMaplibreVideo.vue
index 90e35b77..65d3d033 100644
--- a/lib/v-mapbox/layers/mapbox/VLayerMapboxVideo.vue
+++ b/lib/v-mapbox/layers/maplibre/video/VLayerMaplibreVideo.vue
@@ -1,8 +1,3 @@
-
-
-
-
-
+
+
+
+
diff --git a/lib/v-mapbox/layers/maplibre/video/index.ts b/lib/v-mapbox/layers/maplibre/video/index.ts
new file mode 100644
index 00000000..bd4802bf
--- /dev/null
+++ b/lib/v-mapbox/layers/maplibre/video/index.ts
@@ -0,0 +1 @@
+export { default as VideoLayer } from './VLayerMaplibreVideo.vue';
diff --git a/lib/v-mapbox/map/VMap.vue b/lib/v-mapbox/map/VMap.vue
index 5509e6bf..986ca086 100644
--- a/lib/v-mapbox/map/VMap.vue
+++ b/lib/v-mapbox/map/VMap.vue
@@ -1,64 +1,54 @@
-