maplibre-gl 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +3 -2
  3. package/build/generate-dist-package.js +7 -2
  4. package/build/generate-typings.ts +1 -1
  5. package/dist/LICENSE.txt +116 -0
  6. package/dist/maplibre-gl-csp-worker.js +1 -1
  7. package/dist/maplibre-gl-csp-worker.js.map +1 -1
  8. package/dist/maplibre-gl-csp.js +1 -1
  9. package/dist/maplibre-gl-csp.js.map +1 -1
  10. package/dist/maplibre-gl-dev.js +243 -100
  11. package/dist/maplibre-gl-dev.js.map +1 -1
  12. package/dist/maplibre-gl.d.ts +28 -15
  13. package/dist/maplibre-gl.js +4 -4
  14. package/dist/maplibre-gl.js.map +1 -1
  15. package/dist/package.json +1 -1
  16. package/package.json +48 -47
  17. package/src/data/dem_data.test.ts +120 -165
  18. package/src/data/dem_data.ts +38 -18
  19. package/src/render/program.ts +15 -0
  20. package/src/source/image_source.test.ts +17 -24
  21. package/src/source/raster_dem_tile_source.ts +15 -2
  22. package/src/source/raster_dem_tile_worker_source.ts +2 -2
  23. package/src/source/raster_tile_source.test.ts +1 -1
  24. package/src/source/raster_tile_source.ts +1 -1
  25. package/src/source/terrain_source_cache.test.ts +1 -1
  26. package/src/source/vector_tile_source.test.ts +1 -1
  27. package/src/source/vector_tile_source.ts +0 -1
  28. package/src/source/vector_tile_worker_source.test.ts +45 -1
  29. package/src/source/vector_tile_worker_source.ts +19 -6
  30. package/src/source/video_source.ts +4 -0
  31. package/src/source/worker_source.ts +6 -2
  32. package/src/style/load_glyph_range.test.ts +6 -8
  33. package/src/style/load_sprite.test.ts +48 -71
  34. package/src/style/style.test.ts +19 -49
  35. package/src/style/style.ts +14 -8
  36. package/src/style/style_layer/line_style_layer.test.ts +50 -0
  37. package/src/style/style_layer/line_style_layer.ts +8 -4
  38. package/src/style/style_layer/variable_text_anchor.ts +1 -1
  39. package/src/ui/control/navigation_control.ts +0 -1
  40. package/src/ui/handler/scroll_zoom.ts +6 -0
  41. package/src/ui/handler_manager.ts +2 -1
  42. package/src/ui/map.test.ts +37 -8
  43. package/src/ui/map.ts +15 -13
  44. package/src/ui/marker.test.ts +25 -0
  45. package/src/ui/marker.ts +9 -2
  46. package/src/ui/popup.ts +1 -1
  47. package/src/util/ajax.test.ts +1 -1
  48. package/src/util/image_request.test.ts +1 -1
  49. package/src/util/test/util.ts +12 -0
  50. package/src/util/throttle.ts +7 -3
@@ -2292,6 +2292,7 @@ export declare class Actor {
2292
2292
  processTask(id: number, task: any): void;
2293
2293
  remove(): void;
2294
2294
  }
2295
+ export type DEMEncoding = "mapbox" | "terrarium" | "custom";
2295
2296
  export declare class DEMData {
2296
2297
  uid: string;
2297
2298
  data: Uint32Array;
@@ -2299,13 +2300,15 @@ export declare class DEMData {
2299
2300
  dim: number;
2300
2301
  min: number;
2301
2302
  max: number;
2302
- encoding: "mapbox" | "terrarium";
2303
- constructor(uid: string, data: RGBAImage, encoding: "mapbox" | "terrarium");
2303
+ redFactor: number;
2304
+ greenFactor: number;
2305
+ blueFactor: number;
2306
+ baseShift: number;
2307
+ constructor(uid: string, data: RGBAImage, encoding: DEMEncoding, redFactor?: number, greenFactor?: number, blueFactor?: number, baseShift?: number);
2304
2308
  get(x: number, y: number): number;
2305
2309
  getUnpackVector(): number[];
2306
2310
  _idx(x: number, y: number): number;
2307
- _unpackMapbox(r: number, g: number, b: number): number;
2308
- _unpackTerrarium(r: number, g: number, b: number): number;
2311
+ unpack(r: number, g: number, b: number): number;
2309
2312
  getPixels(): RGBAImage;
2310
2313
  backfillBorder(borderTile: DEMData, dx: number, dy: number): void;
2311
2314
  }
@@ -5488,6 +5491,13 @@ export type StyleSwapOptions = {
5488
5491
  */
5489
5492
  transformStyle?: TransformStyleFunction;
5490
5493
  };
5494
+ /**
5495
+ * Specifies a layer to be added to a {@link Style}. In addition to a standard {@link LayerSpecification}
5496
+ * or a {@link CustomLayerInterface}, a {@link LayerSpecification} with an embedded {@link SourceSpecification} can also be provided.
5497
+ */
5498
+ export type AddLayerObject = LayerSpecification | (Omit<LayerSpecification, "source"> & {
5499
+ source: SourceSpecification;
5500
+ }) | CustomLayerInterface;
5491
5501
  export declare class Style extends Evented {
5492
5502
  map: Map;
5493
5503
  stylesheet: StyleSpecification;
@@ -5614,7 +5624,7 @@ export declare class Style extends Evented {
5614
5624
  * @param options - Style setter options.
5615
5625
  * @returns `this`.
5616
5626
  */
5617
- addLayer(layerObject: LayerSpecification | CustomLayerInterface, before?: string, options?: StyleSetterOptions): this;
5627
+ addLayer(layerObject: AddLayerObject, before?: string, options?: StyleSetterOptions): this;
5618
5628
  /**
5619
5629
  * Moves a layer to a different z-position. The layer will be inserted before the layer with
5620
5630
  * ID `before`, or appended if `before` is omitted.
@@ -5637,7 +5647,7 @@ export declare class Style extends Evented {
5637
5647
  * @param id - id of the desired layer
5638
5648
  * @returns a layer, if one with the given `id` exists
5639
5649
  */
5640
- getLayer(id: string): StyleLayer;
5650
+ getLayer(id: string): StyleLayer | undefined;
5641
5651
  /**
5642
5652
  * checks if a specific layer is present within the style.
5643
5653
  *
@@ -9317,7 +9327,7 @@ export declare class Map extends Camera {
9317
9327
  * map.setTerrain({ source: 'terrain' });
9318
9328
  * ```
9319
9329
  */
9320
- setTerrain(options: TerrainSpecification): this;
9330
+ setTerrain(options: TerrainSpecification | null): this;
9321
9331
  /**
9322
9332
  * Get the terrain-options if terrain is loaded
9323
9333
  * @returns the TerrainSpecification passed to setTerrain
@@ -9326,7 +9336,7 @@ export declare class Map extends Camera {
9326
9336
  * map.getTerrain(); // { source: 'terrain' };
9327
9337
  * ```
9328
9338
  */
9329
- getTerrain(): TerrainSpecification;
9339
+ getTerrain(): TerrainSpecification | null;
9330
9340
  /**
9331
9341
  * Returns a Boolean indicating whether all tiles in the viewport from all sources on
9332
9342
  * the style are loaded.
@@ -9538,7 +9548,7 @@ export declare class Map extends Camera {
9538
9548
  *
9539
9549
  * @param layer - The layer to add,
9540
9550
  * conforming to either the MapLibre Style Specification's [layer definition](https://maplibre.org/maplibre-style-spec/layers) or,
9541
- * less commonly, the {@link CustomLayerInterface} specification.
9551
+ * less commonly, the {@link CustomLayerInterface} specification. Can also be a layer definition with an embedded source definition.
9542
9552
  * The MapLibre Style Specification's layer definition is appropriate for most layers.
9543
9553
  *
9544
9554
  * @param beforeId - The ID of an existing layer to insert the new layer before,
@@ -9610,9 +9620,7 @@ export declare class Map extends Camera {
9610
9620
  * @see [Add a vector tile source](https://maplibre.org/maplibre-gl-js/docs/examples/vector-source/)
9611
9621
  * @see [Add a WMS source](https://maplibre.org/maplibre-gl-js/docs/examples/wms/)
9612
9622
  */
9613
- addLayer(layer: (LayerSpecification & {
9614
- source?: string | SourceSpecification;
9615
- }) | CustomLayerInterface, beforeId?: string): this;
9623
+ addLayer(layer: AddLayerObject, beforeId?: string): this;
9616
9624
  /**
9617
9625
  * Moves a layer to a different z-position.
9618
9626
  *
@@ -9656,7 +9664,7 @@ export declare class Map extends Camera {
9656
9664
  * @see [Filter symbols by toggling a list](https://maplibre.org/maplibre-gl-js/docs/examples/filter-markers/)
9657
9665
  * @see [Filter symbols by text input](https://maplibre.org/maplibre-gl-js/docs/examples/filter-markers-by-input/)
9658
9666
  */
9659
- getLayer(id: string): StyleLayer;
9667
+ getLayer(id: string): StyleLayer | undefined;
9660
9668
  /**
9661
9669
  * Sets the zoom extent for the specified style layer. The zoom extent includes the
9662
9670
  * [minimum zoom level](https://maplibre.org/maplibre-style-spec/layers/#minzoom)
@@ -9728,6 +9736,7 @@ export declare class Map extends Camera {
9728
9736
  * @param name - The name of the paint property to set.
9729
9737
  * @param value - The value of the paint property to set.
9730
9738
  * Must be of a type appropriate for the property, as defined in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/).
9739
+ * Pass `null` to unset the existing value.
9731
9740
  * @param options - Options object.
9732
9741
  * @returns `this`
9733
9742
  * @example
@@ -10668,7 +10677,7 @@ export declare class Marker extends Evented {
10668
10677
  */
10669
10678
  togglePopup(): this;
10670
10679
  _update: (e?: {
10671
- type: "move" | "moveend";
10680
+ type: "move" | "moveend" | "terrain" | "render";
10672
10681
  }) => void;
10673
10682
  /**
10674
10683
  * Get the marker's offset.
@@ -11287,7 +11296,11 @@ export declare class RasterTileSource extends Evented implements Source {
11287
11296
  hasTransition(): boolean;
11288
11297
  }
11289
11298
  export declare class RasterDEMTileSource extends RasterTileSource implements Source {
11290
- encoding: "mapbox" | "terrarium";
11299
+ encoding: DEMEncoding;
11300
+ redFactor?: number;
11301
+ greenFactor?: number;
11302
+ blueFactor?: number;
11303
+ baseShift?: number;
11291
11304
  constructor(id: string, options: RasterDEMSourceSpecification, dispatcher: Dispatcher, eventedParent: Evented);
11292
11305
  loadTile(tile: Tile, callback: Callback<void>): void;
11293
11306
  _getNeighboringTiles(tileID: OverscaledTileID): {};