@geoql/v-maplibre 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +3 -2
  2. package/dist/controls/index.d.ts +2 -2
  3. package/dist/controls/layer/VControlLayer.vue.d.ts +2 -2
  4. package/dist/controls/legend/types.d.ts +16 -2
  5. package/dist/controls/lidar/VControlLidar.vue.d.ts +51 -5
  6. package/dist/controls/lidar/types.d.ts +49 -5
  7. package/dist/{index-Bt_rREAc.js → gpu-modules-COvkDUUI.js} +71 -68
  8. package/dist/gpu-modules-COvkDUUI.js.map +1 -0
  9. package/dist/index.d.ts +3 -3
  10. package/dist/index.js +19818 -3479
  11. package/dist/index.js.map +1 -1
  12. package/dist/layers/deckgl/arc/VLayerDeckglArc.vue.d.ts +2 -2
  13. package/dist/layers/deckgl/bitmap/VLayerDeckglBitmap.vue.d.ts +2 -2
  14. package/dist/layers/deckgl/cog/VLayerDeckglCOG.vue.d.ts +3 -3
  15. package/dist/layers/deckgl/column/VLayerDeckglColumn.vue.d.ts +3 -3
  16. package/dist/layers/deckgl/contour/VLayerDeckglContour.vue.d.ts +3 -3
  17. package/dist/layers/deckgl/geohash/VLayerDeckglGeohash.vue.d.ts +3 -3
  18. package/dist/layers/deckgl/geojson/VLayerDeckglGeojson.vue.d.ts +3 -3
  19. package/dist/layers/deckgl/great-circle/VLayerDeckglGreatCircle.vue.d.ts +2 -2
  20. package/dist/layers/deckgl/grid/VLayerDeckglGrid.vue.d.ts +2 -2
  21. package/dist/layers/deckgl/grid-cell/VLayerDeckglGridCell.vue.d.ts +2 -2
  22. package/dist/layers/deckgl/h3-cluster/VLayerDeckglH3Cluster.vue.d.ts +3 -3
  23. package/dist/layers/deckgl/h3-hexagon/VLayerDeckglH3Hexagon.vue.d.ts +3 -3
  24. package/dist/layers/deckgl/heatmap/VLayerDeckglHeatmap.vue.d.ts +3 -3
  25. package/dist/layers/deckgl/hexagon/VLayerDeckglHexagon.vue.d.ts +2 -2
  26. package/dist/layers/deckgl/icon/VLayerDeckglIcon.vue.d.ts +3 -3
  27. package/dist/layers/deckgl/line/VLayerDeckglLine.vue.d.ts +2 -2
  28. package/dist/layers/deckgl/mosaic/VLayerDeckglMosaic.vue.d.ts +8 -2
  29. package/dist/layers/deckgl/mvt/VLayerDeckglMVT.vue.d.ts +4 -4
  30. package/dist/layers/deckgl/path/VLayerDeckglPath.vue.d.ts +3 -3
  31. package/dist/layers/deckgl/point-cloud/VLayerDeckglPointCloud.vue.d.ts +3 -3
  32. package/dist/layers/deckgl/polygon/VLayerDeckglPolygon.vue.d.ts +3 -3
  33. package/dist/layers/deckgl/quadkey/VLayerDeckglQuadkey.vue.d.ts +3 -3
  34. package/dist/layers/deckgl/s2/VLayerDeckglS2.vue.d.ts +3 -3
  35. package/dist/layers/deckgl/scatterplot/VLayerDeckglScatterplot.vue.d.ts +3 -3
  36. package/dist/layers/deckgl/scenegraph/VLayerDeckglScenegraph.vue.d.ts +2 -2
  37. package/dist/layers/deckgl/screen-grid/VLayerDeckglScreenGrid.vue.d.ts +2 -2
  38. package/dist/layers/deckgl/simple-mesh/VLayerDeckglSimpleMesh.vue.d.ts +2 -2
  39. package/dist/layers/deckgl/solid-polygon/VLayerDeckglSolidPolygon.vue.d.ts +3 -3
  40. package/dist/layers/deckgl/terrain/VLayerDeckglTerrain.vue.d.ts +2 -2
  41. package/dist/layers/deckgl/text/VLayerDeckglText.vue.d.ts +3 -3
  42. package/dist/layers/deckgl/tile/VLayerDeckglTile.vue.d.ts +3 -3
  43. package/dist/layers/deckgl/tile-3d/VLayerDeckglTile3D.vue.d.ts +3 -3
  44. package/dist/layers/deckgl/trips/VLayerDeckglTrips.vue.d.ts +3 -3
  45. package/dist/layers/deckgl/wind-particle/VLayerDeckglWindParticle.vue.d.ts +2 -2
  46. package/dist/layers/deckgl/wms/VLayerDeckglWMS.vue.d.ts +2 -2
  47. package/dist/layers/index.d.ts +1 -0
  48. package/dist/layers/maplibre/custom/cluster/VLayerMaplibreCluster.vue.d.ts +2 -0
  49. package/dist/layers/maplibre/custom/route/VLayerMaplibreRoute.vue.d.ts +1 -1
  50. package/dist/layers/maplibre/custom/starfield/VLayerMaplibreStarfield.vue.d.ts +43 -0
  51. package/dist/layers/maplibre/custom/starfield/index.d.ts +1 -0
  52. package/dist/layers/maplibre/image/VLayerMaplibreImage.vue.d.ts +1 -1
  53. package/dist/layers/maplibre/pmtile/VLayerMaplibrePmtile.vue.d.ts +1 -1
  54. package/dist/layers/maplibre/vector/VLayerMaplibreVector.vue.d.ts +16 -16
  55. package/dist/layers/maplibre/video/VLayerMaplibreVideo.vue.d.ts +1 -1
  56. package/dist/map/VMap.vue.d.ts +20 -20
  57. package/dist/v-maplibre.css +2 -1
  58. package/package.json +42 -45
  59. package/dist/decoder-CLokFc0V.js +0 -9
  60. package/dist/decoder-CLokFc0V.js.map +0 -1
  61. package/dist/deflate-yeu3ogBn.js +0 -11
  62. package/dist/deflate-yeu3ogBn.js.map +0 -1
  63. package/dist/geotiff-BUZniE5g.js +0 -3106
  64. package/dist/geotiff-BUZniE5g.js.map +0 -1
  65. package/dist/index-Bt_rREAc.js.map +0 -1
  66. package/dist/index-CA8I5Z2-.js +0 -4667
  67. package/dist/index-CA8I5Z2-.js.map +0 -1
  68. package/dist/jpeg-B7yImnpY.js +0 -534
  69. package/dist/jpeg-B7yImnpY.js.map +0 -1
  70. package/dist/lerc-CqgA9njy.js +0 -1032
  71. package/dist/lerc-CqgA9njy.js.map +0 -1
  72. package/dist/lzw-DL9RcHOz.js +0 -85
  73. package/dist/lzw-DL9RcHOz.js.map +0 -1
  74. package/dist/packbits-YEJGULcy.js +0 -25
  75. package/dist/packbits-YEJGULcy.js.map +0 -1
  76. package/dist/pako.esm-Bx5X36Wo.js +0 -1075
  77. package/dist/pako.esm-Bx5X36Wo.js.map +0 -1
  78. package/dist/raw-CoQHiEnn.js +0 -10
  79. package/dist/raw-CoQHiEnn.js.map +0 -1
  80. package/dist/webimage-BXLN-zu8.js +0 -20
  81. package/dist/webimage-BXLN-zu8.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ interface Props {
2
+ id?: string;
3
+ starCount?: number;
4
+ starSize?: number;
5
+ starColor?: number;
6
+ galaxyTextureUrl?: string;
7
+ galaxyBrightness?: number;
8
+ before?: string;
9
+ sunEnabled?: boolean;
10
+ sunAzimuth?: number;
11
+ sunAltitude?: number;
12
+ sunSize?: number;
13
+ sunColor?: number;
14
+ sunIntensity?: number;
15
+ autoFadeStars?: boolean;
16
+ fadeAltitude?: number;
17
+ }
18
+ declare var __VLS_1: {};
19
+ type __VLS_Slots = {} & {
20
+ default?: (props: typeof __VLS_1) => any;
21
+ };
22
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
23
+ id: string;
24
+ starCount: number;
25
+ starSize: number;
26
+ starColor: number;
27
+ galaxyBrightness: number;
28
+ sunEnabled: boolean;
29
+ sunAzimuth: number;
30
+ sunAltitude: number;
31
+ sunSize: number;
32
+ sunColor: number;
33
+ sunIntensity: number;
34
+ autoFadeStars: boolean;
35
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
+ declare const _default: typeof __VLS_export;
38
+ export default _default;
39
+ type __VLS_WithSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1 @@
1
+ export { default as StarfieldLayer } from './VLayerMaplibreStarfield.vue';
@@ -55,8 +55,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
55
55
  required: false;
56
56
  };
57
57
  }>> & Readonly<{}>, {
58
- layerId: string;
59
58
  layer: AnyLayer;
59
+ layerId: string;
60
60
  sourceId: string;
61
61
  before: string;
62
62
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -51,8 +51,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
51
51
  required: false;
52
52
  };
53
53
  }>> & Readonly<{}>, {
54
- layerId: string;
55
54
  layer: RasterLayerSpecification;
55
+ layerId: string;
56
56
  sourceId: string;
57
57
  before: string;
58
58
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -12,32 +12,32 @@ type __VLS_Slots = {} & {
12
12
  };
13
13
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
14
  click: (...args: any[]) => void;
15
+ touchcancel: (...args: any[]) => void;
16
+ touchend: (...args: any[]) => void;
17
+ touchstart: (...args: any[]) => void;
18
+ contextmenu: (...args: any[]) => void;
15
19
  dblclick: (...args: any[]) => void;
16
- mousedown: (...args: any[]) => void;
17
- mouseup: (...args: any[]) => void;
18
20
  mousemove: (...args: any[]) => void;
21
+ mouseup: (...args: any[]) => void;
22
+ mousedown: (...args: any[]) => void;
23
+ mouseout: (...args: any[]) => void;
24
+ mouseover: (...args: any[]) => void;
19
25
  mouseenter: (...args: any[]) => void;
20
26
  mouseleave: (...args: any[]) => void;
21
- mouseover: (...args: any[]) => void;
22
- mouseout: (...args: any[]) => void;
23
- contextmenu: (...args: any[]) => void;
24
- touchstart: (...args: any[]) => void;
25
- touchend: (...args: any[]) => void;
26
- touchcancel: (...args: any[]) => void;
27
27
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
28
28
  onClick?: ((...args: any[]) => any) | undefined;
29
+ onTouchcancel?: ((...args: any[]) => any) | undefined;
30
+ onTouchend?: ((...args: any[]) => any) | undefined;
31
+ onTouchstart?: ((...args: any[]) => any) | undefined;
32
+ onContextmenu?: ((...args: any[]) => any) | undefined;
29
33
  onDblclick?: ((...args: any[]) => any) | undefined;
30
- onMousedown?: ((...args: any[]) => any) | undefined;
31
- onMouseup?: ((...args: any[]) => any) | undefined;
32
34
  onMousemove?: ((...args: any[]) => any) | undefined;
35
+ onMouseup?: ((...args: any[]) => any) | undefined;
36
+ onMousedown?: ((...args: any[]) => any) | undefined;
37
+ onMouseout?: ((...args: any[]) => any) | undefined;
38
+ onMouseover?: ((...args: any[]) => any) | undefined;
33
39
  onMouseenter?: ((...args: any[]) => any) | undefined;
34
40
  onMouseleave?: ((...args: any[]) => any) | undefined;
35
- onMouseover?: ((...args: any[]) => any) | undefined;
36
- onMouseout?: ((...args: any[]) => any) | undefined;
37
- onContextmenu?: ((...args: any[]) => any) | undefined;
38
- onTouchstart?: ((...args: any[]) => any) | undefined;
39
- onTouchend?: ((...args: any[]) => any) | undefined;
40
- onTouchcancel?: ((...args: any[]) => any) | undefined;
41
41
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
42
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
43
43
  declare const _default: typeof __VLS_export;
@@ -55,8 +55,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
55
55
  required: false;
56
56
  };
57
57
  }>> & Readonly<{}>, {
58
- layerId: string;
59
58
  layer: AnyLayer;
59
+ layerId: string;
60
60
  sourceId: string;
61
61
  before: string;
62
62
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -11,16 +11,6 @@ type __VLS_Slots = {} & {
11
11
  };
12
12
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  click: (...args: any[]) => void;
14
- dblclick: (...args: any[]) => void;
15
- mousedown: (...args: any[]) => void;
16
- mouseup: (...args: any[]) => void;
17
- mousemove: (...args: any[]) => void;
18
- mouseover: (...args: any[]) => void;
19
- mouseout: (...args: any[]) => void;
20
- contextmenu: (...args: any[]) => void;
21
- touchstart: (...args: any[]) => void;
22
- touchend: (...args: any[]) => void;
23
- touchcancel: (...args: any[]) => void;
24
14
  error: (...args: any[]) => void;
25
15
  load: (...args: any[]) => void;
26
16
  idle: (...args: any[]) => void;
@@ -42,7 +32,17 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
42
32
  boxzoomcancel: (...args: any[]) => void;
43
33
  boxzoomstart: (...args: any[]) => void;
44
34
  boxzoomend: (...args: any[]) => void;
35
+ touchcancel: (...args: any[]) => void;
45
36
  touchmove: (...args: any[]) => void;
37
+ touchend: (...args: any[]) => void;
38
+ touchstart: (...args: any[]) => void;
39
+ contextmenu: (...args: any[]) => void;
40
+ dblclick: (...args: any[]) => void;
41
+ mousemove: (...args: any[]) => void;
42
+ mouseup: (...args: any[]) => void;
43
+ mousedown: (...args: any[]) => void;
44
+ mouseout: (...args: any[]) => void;
45
+ mouseover: (...args: any[]) => void;
46
46
  movestart: (...args: any[]) => void;
47
47
  move: (...args: any[]) => void;
48
48
  moveend: (...args: any[]) => void;
@@ -65,16 +65,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
65
65
  loaded: (...args: any[]) => void;
66
66
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
67
67
  onClick?: ((...args: any[]) => any) | undefined;
68
- onDblclick?: ((...args: any[]) => any) | undefined;
69
- onMousedown?: ((...args: any[]) => any) | undefined;
70
- onMouseup?: ((...args: any[]) => any) | undefined;
71
- onMousemove?: ((...args: any[]) => any) | undefined;
72
- onMouseover?: ((...args: any[]) => any) | undefined;
73
- onMouseout?: ((...args: any[]) => any) | undefined;
74
- onContextmenu?: ((...args: any[]) => any) | undefined;
75
- onTouchstart?: ((...args: any[]) => any) | undefined;
76
- onTouchend?: ((...args: any[]) => any) | undefined;
77
- onTouchcancel?: ((...args: any[]) => any) | undefined;
78
68
  onError?: ((...args: any[]) => any) | undefined;
79
69
  onLoad?: ((...args: any[]) => any) | undefined;
80
70
  onIdle?: ((...args: any[]) => any) | undefined;
@@ -96,7 +86,17 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
96
86
  onBoxzoomcancel?: ((...args: any[]) => any) | undefined;
97
87
  onBoxzoomstart?: ((...args: any[]) => any) | undefined;
98
88
  onBoxzoomend?: ((...args: any[]) => any) | undefined;
89
+ onTouchcancel?: ((...args: any[]) => any) | undefined;
99
90
  onTouchmove?: ((...args: any[]) => any) | undefined;
91
+ onTouchend?: ((...args: any[]) => any) | undefined;
92
+ onTouchstart?: ((...args: any[]) => any) | undefined;
93
+ onContextmenu?: ((...args: any[]) => any) | undefined;
94
+ onDblclick?: ((...args: any[]) => any) | undefined;
95
+ onMousemove?: ((...args: any[]) => any) | undefined;
96
+ onMouseup?: ((...args: any[]) => any) | undefined;
97
+ onMousedown?: ((...args: any[]) => any) | undefined;
98
+ onMouseout?: ((...args: any[]) => any) | undefined;
99
+ onMouseover?: ((...args: any[]) => any) | undefined;
100
100
  onMovestart?: ((...args: any[]) => any) | undefined;
101
101
  onMove?: ((...args: any[]) => any) | undefined;
102
102
  onMoveend?: ((...args: any[]) => any) | undefined;
@@ -1 +1,2 @@
1
- .v-layer-control{min-width:140px;max-width:200px;margin:10px;background:var(--color-card, #fff);border-radius:var(--radius, .5rem);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:12px;overflow:hidden;padding:8px 10px;pointer-events:auto}.v-layer-control-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.v-layer-control-title{font-weight:500;font-size:11px;color:var(--color-card-foreground, #111827);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.v-layer-control-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:calc(var(--radius, .5rem) - 2px);background:transparent;color:var(--color-foreground, #374151);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.v-layer-control-toggle svg{width:14px;height:14px}.v-layer-control-toggle:hover{background:var(--color-accent, #f3f4f6)}.v-layer-control-toggle.is-hidden{color:var(--color-muted-foreground, #9ca3af)}.v-layer-control-slider-row{display:flex;align-items:center;gap:8px}.v-layer-control-slider{flex:1;height:3px;border-radius:2px;background:var(--color-secondary, #e5e7eb);cursor:pointer;-webkit-appearance:none;appearance:none}.v-layer-control-slider:disabled{opacity:.4;cursor:not-allowed}.v-layer-control-value{font-size:10px;font-weight:500;color:var(--color-muted-foreground, #6b7280);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.v-layer-control-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.v-layer-control-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.v-layer-control-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.v-layer-control-slider:disabled::-moz-range-thumb{cursor:not-allowed}.v-layer-control-slider:focus{outline:none}.v-layer-control-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #3b82f6) 20%,transparent)}.v-layer-group{min-width:140px;max-width:200px;margin:10px;background:var(--color-card, #fff);border-radius:var(--radius, .5rem);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:12px;overflow:hidden;pointer-events:auto}.v-layer-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:8px 10px;border:none;border-bottom:1px solid var(--color-border, #e5e7eb);background:transparent;cursor:pointer;text-align:left;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-layer-group-header.is-static{cursor:default}.v-layer-group-header:not(.is-static):hover{background:var(--color-accent, #f3f4f6)}.v-layer-group.is-collapsed .v-layer-group-header{border-bottom:none}.v-layer-group-title{font-weight:500;font-size:11px;color:var(--color-card-foreground, #111827);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.v-layer-group-chevron{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--color-muted-foreground, #6b7280);transition:transform .15s ease;flex-shrink:0}.v-layer-group-chevron.is-collapsed{transform:rotate(-90deg)}.v-layer-group-content{display:flex;flex-direction:column}.v-layer-group-item{padding:6px 10px 8px;border-bottom:1px solid var(--color-border, #e5e7eb)}.v-layer-group-item:last-child{border-bottom:none}.v-layer-group-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.v-layer-group-item-title{font-weight:500;font-size:11px;color:var(--color-foreground, #374151);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.v-layer-group-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:calc(var(--radius, .5rem) - 2px);background:transparent;color:var(--color-foreground, #374151);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.v-layer-group-toggle svg{width:14px;height:14px}.v-layer-group-toggle:hover{background:var(--color-accent, #f3f4f6)}.v-layer-group-toggle.is-hidden{color:var(--color-muted-foreground, #9ca3af)}.v-layer-group-slider-row{display:flex;align-items:center;gap:8px}.v-layer-group-slider{flex:1;height:3px;border-radius:2px;background:var(--color-secondary, #e5e7eb);cursor:pointer;-webkit-appearance:none;appearance:none}.v-layer-group-slider:disabled{opacity:.4;cursor:not-allowed}.v-layer-group-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.v-layer-group-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--color-primary, #3b82f6);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.v-layer-group-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.v-layer-group-slider:disabled::-moz-range-thumb{cursor:not-allowed}.v-layer-group-slider:focus{outline:none}.v-layer-group-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #3b82f6) 20%,transparent)}.v-layer-group-value{font-size:10px;font-weight:500;color:var(--color-muted-foreground, #6b7280);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.v-legend-control{min-width:140px;max-width:200px;margin:10px;background:var(--color-card, #fff);border-radius:var(--radius, .5rem);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:12px;overflow:hidden;pointer-events:auto}.v-legend-control-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;border:none;border-bottom:1px solid var(--color-border, #e5e7eb);background:transparent;cursor:pointer;text-align:left;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-legend-control.is-collapsed .v-legend-control-header{border-bottom:none}.v-legend-control-header:hover{background:var(--color-accent, #f3f4f6)}.v-legend-control-title{font-weight:500;font-size:13px;color:var(--color-card-foreground, #111827);line-height:1}.v-legend-control-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-muted-foreground, #6b7280);transition:transform .15s ease;flex-shrink:0}.v-legend-control-chevron.is-collapsed{transform:rotate(-90deg)}.v-legend-control-content{padding:6px;display:flex;flex-direction:column;gap:2px}.v-legend-control-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:calc(var(--radius, .5rem) - 4px);background:transparent;text-align:left;transition:background .1s ease,opacity .1s ease}.v-legend-control-item.is-interactive{cursor:pointer}.v-legend-control-item.is-interactive:hover{background:var(--color-accent, #f3f4f6)}.v-legend-control-item.is-hidden{opacity:.4}.v-legend-control-item.is-hidden .v-legend-control-label{text-decoration:line-through}.v-legend-control-item:disabled{cursor:default}.v-legend-control-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a}.v-legend-control-label{flex:1;font-size:11px;font-weight:500;color:var(--color-foreground, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v-legend-control-count{font-size:10px;font-weight:500;color:var(--color-muted-foreground, #6b7280);background:var(--color-secondary, #f3f4f6);padding:1px 5px;border-radius:8px}.v-legend-control-gradient{height:12px;border-radius:3px;margin:6px 8px 4px}.v-legend-control-gradient-labels{display:flex;justify-content:space-between;padding:0 8px 6px;font-size:10px;font-weight:500;color:var(--color-muted-foreground, #6b7280)}.v-legend-control-size-item{display:flex;align-items:center;gap:8px;padding:4px 8px}.v-legend-control-size-circle-wrap{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.v-legend-control-size-circle{border-radius:50%;background:var(--color-primary, #3b82f6);box-shadow:inset 0 0 0 1px #0000001a}canvas[data-v-a543ca92]{outline:none}.v-map-container[data-v-a543ca92]{width:100%;height:100%}.absolute{position:absolute!important}
1
+ .v-layer-control{background:var(--color-card,#fff);border-radius:var(--radius,.5rem);border:1px solid var(--color-border,#e5e7eb);pointer-events:auto;min-width:140px;max-width:280px;margin:10px;padding:8px 10px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.v-layer-control-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.v-layer-control-title{color:var(--color-card-foreground,#111827);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:500;line-height:1.2;overflow:hidden}.v-layer-control-toggle{border-radius:calc(var(--radius,.5rem) - 2px);width:22px;height:22px;color:var(--color-foreground,#374151);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.v-layer-control-toggle svg{width:14px;height:14px}.v-layer-control-toggle:hover{background:var(--color-accent,#f3f4f6)}.v-layer-control-toggle.is-hidden{color:var(--color-muted-foreground,#9ca3af)}.v-layer-control-toggle:focus{outline:none}.v-layer-control-toggle:focus-visible{outline:2px solid var(--color-primary,#3b82f6);outline-offset:-2px}.v-layer-control-slider-row{align-items:center;gap:8px;display:flex}.v-layer-control-slider{background:var(--color-secondary,#e5e7eb);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:2px;flex:1;height:3px}.v-layer-control-slider:disabled{opacity:.4;cursor:not-allowed}.v-layer-control-value{color:var(--color-muted-foreground,#6b7280);font-variant-numeric:tabular-nums;text-align:right;min-width:28px;font-size:10px;font-weight:500}.v-layer-control-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary,#3b82f6);cursor:pointer;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0003}.v-layer-control-slider::-moz-range-thumb{background:var(--color-primary,#3b82f6);cursor:pointer;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0003}.v-layer-control-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.v-layer-control-slider:disabled::-moz-range-thumb{cursor:not-allowed}.v-layer-control-slider:focus{outline:none}.v-layer-control-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary,#3b82f6) 20%, transparent)}.v-layer-group{background:var(--color-card,#fff);border-radius:var(--radius,.5rem);border:1px solid var(--color-border,#e5e7eb);pointer-events:auto;min-width:140px;max-width:280px;margin:10px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.v-layer-group-header{border:none;border-bottom:1px solid var(--color-border,#e5e7eb);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;line-height:1;display:flex}.v-layer-group-header.is-static{cursor:default}.v-layer-group-header:not(.is-static):hover{background:var(--color-accent,#f3f4f6)}.v-layer-group-header:focus{outline:none}.v-layer-group-header:focus-visible{outline:2px solid var(--color-primary,#3b82f6);outline-offset:-2px}.v-layer-group.is-collapsed .v-layer-group-header{border-bottom:none}.v-layer-group-title{color:var(--color-card-foreground,#111827);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:500;line-height:1.2;overflow:hidden}.v-layer-group-chevron{width:14px;height:14px;color:var(--color-muted-foreground,#6b7280);flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:flex}.v-layer-group-chevron.is-collapsed{transform:rotate(-90deg)}.v-layer-group-content{flex-direction:column;display:flex}.v-layer-group-item{border-bottom:1px solid var(--color-border,#e5e7eb);padding:6px 10px 8px}.v-layer-group-item:last-child{border-bottom:none}.v-layer-group-item-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.v-layer-group-item-title{color:var(--color-foreground,#374151);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:500;line-height:1.2;overflow:hidden}.v-layer-group-toggle{border-radius:calc(var(--radius,.5rem) - 2px);width:20px;height:20px;color:var(--color-foreground,#374151);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.v-layer-group-toggle svg{width:14px;height:14px}.v-layer-group-toggle:hover{background:var(--color-accent,#f3f4f6)}.v-layer-group-toggle.is-hidden{color:var(--color-muted-foreground,#9ca3af)}.v-layer-group-slider-row{align-items:center;gap:8px;display:flex}.v-layer-group-slider{background:var(--color-secondary,#e5e7eb);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:2px;flex:1;height:3px}.v-layer-group-slider:disabled{opacity:.4;cursor:not-allowed}.v-layer-group-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary,#3b82f6);cursor:pointer;border:2px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 1px 3px #0003}.v-layer-group-slider::-moz-range-thumb{background:var(--color-primary,#3b82f6);cursor:pointer;border:2px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 1px 3px #0003}.v-layer-group-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.v-layer-group-slider:disabled::-moz-range-thumb{cursor:not-allowed}.v-layer-group-slider:focus{outline:none}.v-layer-group-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary,#3b82f6) 20%, transparent)}.v-layer-group-value{color:var(--color-muted-foreground,#6b7280);font-variant-numeric:tabular-nums;text-align:right;min-width:28px;font-size:10px;font-weight:500}.v-legend-control{background:var(--color-card,#fff);border-radius:var(--radius,.5rem);border:1px solid var(--color-border,#e5e7eb);pointer-events:auto;min-width:140px;max-width:200px;margin:10px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.v-legend-control-header{border:none;border-bottom:1px solid var(--color-border,#e5e7eb);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 10px;line-height:1;display:flex}.v-legend-control.is-collapsed .v-legend-control-header{border-bottom:none}.v-legend-control-header:hover{background:var(--color-accent,#f3f4f6)}.v-legend-control-title{color:var(--color-card-foreground,#111827);font-size:13px;font-weight:500;line-height:1}.v-legend-control-chevron{width:16px;height:16px;color:var(--color-muted-foreground,#6b7280);flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:flex}.v-legend-control-chevron.is-collapsed{transform:rotate(-90deg)}.v-legend-control-content{flex-direction:column;gap:2px;padding:6px;display:flex}.v-legend-control-item{border-radius:calc(var(--radius,.5rem) - 4px);text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;transition:background .1s,opacity .1s;display:flex}.v-legend-control-item.is-interactive{cursor:pointer}.v-legend-control-item.is-interactive:hover{background:var(--color-accent,#f3f4f6)}.v-legend-control-item.is-hidden{opacity:.4}.v-legend-control-item.is-hidden .v-legend-control-label{text-decoration:line-through}.v-legend-control-item:disabled{cursor:default}.v-legend-control-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001a}.v-legend-control-label{color:var(--color-foreground,#374151);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:500;overflow:hidden}.v-legend-control-count{color:var(--color-muted-foreground,#6b7280);background:var(--color-secondary,#f3f4f6);border-radius:8px;padding:1px 5px;font-size:10px;font-weight:500}.v-legend-control-gradient{border-radius:3px;height:12px;margin:6px 8px 4px}.v-legend-control-gradient-labels{color:var(--color-muted-foreground,#6b7280);justify-content:space-between;padding:0 8px 6px;font-size:10px;font-weight:500;display:flex}.v-legend-control-size-item{align-items:center;gap:8px;padding:4px 8px;display:flex}.v-legend-control-size-circle-wrap{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.v-legend-control-size-circle{background:var(--color-primary,#3b82f6);border-radius:50%;box-shadow:inset 0 0 0 1px #0000001a}.v-legend-control-table{flex-direction:column;gap:1px;max-height:300px;display:flex;overflow-y:auto}.v-legend-control-table-row{border-radius:calc(var(--radius,.5rem) - 4px);align-items:center;gap:8px;padding:4px 8px;display:flex}.v-legend-control-table-row:hover{background:var(--color-accent,#f3f4f6)}.v-legend-control-table-label{color:var(--color-foreground,#374151);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:500;overflow:hidden}.v-legend-control-table-value{color:var(--color-muted-foreground,#6b7280);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.v-legend-control:has(.v-legend-control-table){max-width:280px}canvas[data-v-a543ca92]{outline:none}.v-map-container[data-v-a543ca92]{width:100%;height:100%}.absolute{position:absolute!important}
2
+ /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoql/v-maplibre",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "private": false,
5
5
  "description": "Vue 3 components for MapLibre GL - reactive map components with full TypeScript support",
6
6
  "keywords": [
@@ -71,38 +71,39 @@
71
71
  "prepublishOnly": "bun run lint && bun run format:check && bun run test:coverage && bun run build"
72
72
  },
73
73
  "dependencies": {
74
- "maplibre-gl": "^5.16.0",
75
- "pmtiles": "^4.3.2"
74
+ "maplibre-gl": "catalog:pkg:v-maplibre",
75
+ "pmtiles": "catalog:pkg:v-maplibre"
76
76
  },
77
77
  "devDependencies": {
78
- "@deck.gl/aggregation-layers": "catalog:deckgl",
79
- "@deck.gl/core": "catalog:deckgl",
80
- "@deck.gl/geo-layers": "catalog:deckgl",
81
- "@deck.gl/layers": "catalog:deckgl",
82
- "@deck.gl/mapbox": "catalog:deckgl",
83
- "@deck.gl/mesh-layers": "catalog:deckgl",
84
- "@developmentseed/deck.gl-geotiff": "^0.2.0",
85
- "@developmentseed/deck.gl-raster": "^0.2.0",
86
- "@luma.gl/core": "catalog:deckgl",
87
- "@luma.gl/engine": "catalog:deckgl",
88
- "@luma.gl/shadertools": "catalog:deckgl",
89
- "@types/node": "^25.0.9",
90
- "@vitejs/plugin-vue": "^6.0.3",
91
- "@vitest/coverage-v8": "^4.0.17",
92
- "@vitest/ui": "^4.0.17",
93
- "@vue/test-utils": "^2.4.6",
94
- "geotiff": "2.1.3",
95
- "happy-dom": "^20.3.4",
96
- "maplibre-gl-lidar": "^0.8.0",
97
- "maplibre-gl-wind": "^0.2.0",
98
- "oxfmt": "catalog:",
99
- "oxlint": "catalog:",
100
- "proj4": "^2.20.2",
101
- "typescript": "catalog:",
102
- "vite": "^7.3.1",
103
- "vitest": "^4.0.17",
104
- "vue": "catalog:",
105
- "vue-tsc": "^3.2.2"
78
+ "@deck.gl/aggregation-layers": "catalog:pkg:v-maplibre",
79
+ "@deck.gl/core": "catalog:pkg:v-maplibre",
80
+ "@deck.gl/geo-layers": "catalog:pkg:v-maplibre",
81
+ "@deck.gl/layers": "catalog:pkg:v-maplibre",
82
+ "@deck.gl/mapbox": "catalog:pkg:v-maplibre",
83
+ "@deck.gl/mesh-layers": "catalog:pkg:v-maplibre",
84
+ "@developmentseed/deck.gl-geotiff": "catalog:pkg:v-maplibre",
85
+ "@developmentseed/deck.gl-raster": "catalog:pkg:v-maplibre",
86
+ "@developmentseed/geotiff": "catalog:pkg:v-maplibre",
87
+ "@geoql/maplibre-gl-starfield": "catalog:pkg:v-maplibre",
88
+ "@luma.gl/core": "catalog:pkg:v-maplibre",
89
+ "@luma.gl/engine": "catalog:pkg:v-maplibre",
90
+ "@luma.gl/shadertools": "catalog:pkg:v-maplibre",
91
+ "@types/node": "catalog:pkg:v-maplibre",
92
+ "@vitejs/plugin-vue": "catalog:pkg:v-maplibre",
93
+ "@vitest/coverage-v8": "catalog:pkg:v-maplibre",
94
+ "@vitest/ui": "catalog:pkg:v-maplibre",
95
+ "@vue/test-utils": "catalog:pkg:v-maplibre",
96
+ "happy-dom": "catalog:pkg:v-maplibre",
97
+ "maplibre-gl-lidar": "catalog:pkg:v-maplibre",
98
+ "maplibre-gl-wind": "catalog:pkg:v-maplibre",
99
+ "oxfmt": "catalog:default",
100
+ "oxlint": "catalog:default",
101
+ "three": "catalog:pkg:v-maplibre",
102
+ "typescript": "catalog:default",
103
+ "vite": "catalog:pkg:v-maplibre",
104
+ "vitest": "catalog:pkg:v-maplibre",
105
+ "vue": "catalog:default",
106
+ "vue-tsc": "catalog:pkg:v-maplibre"
106
107
  },
107
108
  "peerDependencies": {
108
109
  "@deck.gl/aggregation-layers": "^9.2.6",
@@ -111,13 +112,12 @@
111
112
  "@deck.gl/layers": "^9.2.6",
112
113
  "@deck.gl/mapbox": "^9.2.6",
113
114
  "@deck.gl/mesh-layers": "^9.2.6",
114
- "@developmentseed/deck.gl-geotiff": "^0.2.0",
115
- "@developmentseed/deck.gl-raster": "^0.2.0",
116
- "geotiff": "2.1.3",
117
- "geotiff-geokeys-to-proj4": "^2024.4.0",
118
- "maplibre-gl-lidar": "^0.5.0",
115
+ "@developmentseed/deck.gl-geotiff": "^0.3.0",
116
+ "@developmentseed/deck.gl-raster": "^0.3.0",
117
+ "@geoql/maplibre-gl-starfield": "^0.1.0",
118
+ "maplibre-gl-lidar": "^0.11.1",
119
119
  "maplibre-gl-wind": "^0.2.0",
120
- "proj4": "^2.20.2",
120
+ "three": ">=0.176.0",
121
121
  "vue": "^3.5.0"
122
122
  },
123
123
  "peerDependenciesMeta": {
@@ -145,13 +145,7 @@
145
145
  "@developmentseed/deck.gl-raster": {
146
146
  "optional": true
147
147
  },
148
- "geotiff-geokeys-to-proj4": {
149
- "optional": true
150
- },
151
- "geotiff": {
152
- "optional": true
153
- },
154
- "proj4": {
148
+ "@geoql/maplibre-gl-starfield": {
155
149
  "optional": true
156
150
  },
157
151
  "maplibre-gl-lidar": {
@@ -159,7 +153,10 @@
159
153
  },
160
154
  "maplibre-gl-wind": {
161
155
  "optional": true
156
+ },
157
+ "three": {
158
+ "optional": true
162
159
  }
163
160
  },
164
- "packageManager": "bun@1.3.6"
161
+ "packageManager": "bun@1.3.11"
165
162
  }