@foodmarketmaker/mapag 0.0.18 → 0.0.20

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/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { NgZone, AfterViewInit, OnDestroy, ElementRef, OnInit } from '@angular/core';
3
- import { StyleSpecification, Map as Map$1, SourceSpecification, LayerSpecification, GeoJSONFeature, MapMouseEvent, PointLike, MapTouchEvent, MapGeoJSONFeature, Popup, SymbolLayerSpecification, FillLayerSpecification, LineLayerSpecification, CircleLayerSpecification } from 'maplibre-gl';
3
+ import { StyleSpecification, Map as Map$1, SourceSpecification, LayerSpecification, GeoJSONFeature, MapMouseEvent, PointLike, MapTouchEvent, MapGeoJSONFeature, Popup, MapLayerMouseEvent as MapLayerMouseEvent$1, MapLayerTouchEvent as MapLayerTouchEvent$1, SymbolLayerSpecification, FillLayerSpecification, LineLayerSpecification, CircleLayerSpecification } from 'maplibre-gl';
4
4
  import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
5
5
  import * as rxjs from 'rxjs';
6
6
  import { Subject, Subscription } from 'rxjs';
@@ -551,34 +551,32 @@ declare function isNumber2DArray(input: any): input is number[][];
551
551
  declare function isNumber3DArray(input: any): input is number[][][];
552
552
  declare function toMultiPolygon(geom: Polygon | MultiPolygon | number[][] | number[][][]): MultiPolygon;
553
553
 
554
+ declare class BackgroundMaskSettings {
555
+ fillColor: string;
556
+ fillOpacity: number;
557
+ visible: boolean;
558
+ beforeLayer: string | undefined;
559
+ zoom: boolean;
560
+ mask: MultiPolygon | undefined;
561
+ loader: Geoloader | undefined;
562
+ }
554
563
  declare class BackgroundMaskMapper implements MapboxMapper {
555
564
  map: Map$1 | undefined;
556
565
  count: number;
557
566
  total: number;
558
- source: string;
559
- layer: string;
560
- mask: MultiPolygon | undefined;
561
- zoom: boolean;
562
- private _fillColor;
563
- private _fillOpacity;
564
- private _visible;
565
- private _beforeLayer;
566
- set fillColor(color: string);
567
- get fillColor(): string;
568
- set fillOpacity(opacity: number);
569
- get fillOpacity(): number;
570
- set visible(visible: boolean);
571
- get visible(): boolean;
572
- set beforeLayer(layerId: string | undefined);
573
- get beforeLayer(): string | undefined;
567
+ readonly source: string;
568
+ readonly layer: string;
569
+ settings: _angular_core.WritableSignal<BackgroundMaskSettings>;
570
+ constructor(settings?: Partial<BackgroundMaskSettings>);
571
+ update(settings: Partial<BackgroundMaskSettings>): void;
572
+ private _update;
574
573
  onReady(map: Map$1): void;
575
574
  reset(): void;
576
575
  clear(): void;
577
576
  flyToBounds(): void;
578
577
  removeLayers(): void;
579
- load(): void;
580
- setMask(mask: Geoloader | MultiPolygon | Polygon | number[][] | number[][][], show?: boolean): Promise<void>;
581
- loadGeoJsonFromLoader(loader: Geoloader): Promise<void>;
578
+ load(): Promise<void>;
579
+ getSettings(): BackgroundMaskSettings;
582
580
  }
583
581
 
584
582
  interface MapLayerMouseEvent extends MapMouseEvent {
@@ -637,6 +635,11 @@ declare class CroplandDataLayerMapper implements MapboxMapper {
637
635
  }
638
636
  declare class CroplandDataLayerSettings {
639
637
  visible: boolean;
638
+ opacity: number;
639
+ brightnessMin: number;
640
+ brightnessMax: number;
641
+ contrast: number;
642
+ saturation: number;
640
643
  }
641
644
  type CroplandType = {
642
645
  code: number;
@@ -771,6 +774,62 @@ declare class NAASSettings {
771
774
  autoSelectLayer: boolean;
772
775
  }
773
776
 
777
+ interface NaicsMapperClusterProperties {
778
+ name: string;
779
+ count: number;
780
+ color?: string;
781
+ iconColor?: string;
782
+ radius: number;
783
+ iconSize?: number;
784
+ }
785
+ declare class NaicsMapperSettings {
786
+ type: 'circle' | 'icon' | 'heatmap';
787
+ visible: boolean;
788
+ radius: number;
789
+ color: string;
790
+ opacity: number;
791
+ strokeWidth: number;
792
+ strokeColor: string;
793
+ iconUrl: string;
794
+ iconName: string;
795
+ iconSize: number;
796
+ iconAllowOverlap: boolean;
797
+ iconSdf: boolean;
798
+ }
799
+ declare class NaicsMapper implements MapboxMapper {
800
+ legends?: LegendDesc[];
801
+ count: number;
802
+ total: number;
803
+ map: Map$1 | undefined;
804
+ svc: MapService | undefined;
805
+ readonly id: string;
806
+ readonly name: string;
807
+ private static pmtilesUrl;
808
+ private static sourceLayer;
809
+ private SOURCE_ID;
810
+ private sourceLayer;
811
+ private CIRCLE_LAYER_ID;
812
+ private ICON_LAYER_ID;
813
+ private HEATMAP_LAYER_ID;
814
+ private currentFilter?;
815
+ settings: _angular_core.WritableSignal<NaicsMapperSettings>;
816
+ constructor(settings?: Partial<NaicsMapperSettings>, id?: string);
817
+ update(settings: Partial<NaicsMapperSettings>): void;
818
+ private _update;
819
+ onReady(map: Map$1, svc: MapService): void;
820
+ reset(): void;
821
+ clear(): void;
822
+ private updateLegends;
823
+ private create;
824
+ private getActiveLayerId;
825
+ private loadIcon;
826
+ private addVisualizationLayer;
827
+ filterByNaicsCode(map: Map$1, naicsCode?: string): void;
828
+ getSettings(): NaicsMapperSettings;
829
+ onClick: (e: MapLayerMouseEvent$1 | MapLayerTouchEvent$1) => void;
830
+ renderPopup(f: Feature): Promise<string | undefined>;
831
+ }
832
+
774
833
  declare class SimpleMapper implements MapboxMapper {
775
834
  reset(): void;
776
835
  clear(): void;
@@ -891,5 +950,5 @@ declare class HttpBoundaryLoader implements Geoloader {
891
950
  loadGeoJson(url: string, geofield: string): Promise<MultiPolygon | undefined>;
892
951
  }
893
952
 
894
- export { AddLayer, AddSource, AreaMapperMapper, BackgroundMaskMapper, BaseMapLight, BasemapSelect, BasemapSelectMenu, CensusTractMapper, CroplandDataLayerMapper, CroplandDataLayerSettings, CroplandLegend, DEFAULT_GLYPHS, DrawingMapper, EsriMapper, EsriSettings, HardinessMapper, HardinessSettings, HttpBoundaryLoader, MapAreaSelectComponent, MapComponent, MapSelectionService, MapService, MapStyles, MapboxMapperGroup, NAASMapper, NAASSettings, NoOpMapper, RemoveLayer, RemoveSource, SaveMap, SelectMode, SimpleMapper, StandardLayersMapper, Styles, VectorTileServerMapper, WatershedMapper, WatershedSettings, discoverLayers, isGeoloader, isMultiPolygon, isNumber2DArray, isNumber3DArray, isPolygon, mapboxLoadImages, mapboxloadImage, pmtilesPixelInfo, sampleTilesForLayers, simpleClone, toMultiPolygon, trySync };
895
- export type { AreaSelectionType, CensusTract, CroplandType, CustomImage, CustomSourcesAndLayersData, DataCustomization, Geoloader, HydrologicUnit, IMapboxSettings, LegendDesc, LegendItem, MapAreaSelectMode, MapAreaSelection, MapboxImage, MapboxLayerType, MapboxMapper, MapboxStyler, PointData, PointDataLoader, PointDataOptions, PopupRenderer, StyleData, VectorTileServerSource };
953
+ export { AddLayer, AddSource, AreaMapperMapper, BackgroundMaskMapper, BackgroundMaskSettings, BaseMapLight, BasemapSelect, BasemapSelectMenu, CensusTractMapper, CroplandDataLayerMapper, CroplandDataLayerSettings, CroplandLegend, DEFAULT_GLYPHS, DrawingMapper, EsriMapper, EsriSettings, HardinessMapper, HardinessSettings, HttpBoundaryLoader, MapAreaSelectComponent, MapComponent, MapSelectionService, MapService, MapStyles, MapboxMapperGroup, NAASMapper, NAASSettings, NaicsMapper, NaicsMapperSettings, NoOpMapper, RemoveLayer, RemoveSource, SaveMap, SelectMode, SimpleMapper, StandardLayersMapper, Styles, VectorTileServerMapper, WatershedMapper, WatershedSettings, discoverLayers, isGeoloader, isMultiPolygon, isNumber2DArray, isNumber3DArray, isPolygon, mapboxLoadImages, mapboxloadImage, pmtilesPixelInfo, sampleTilesForLayers, simpleClone, toMultiPolygon, trySync };
954
+ export type { AreaSelectionType, CensusTract, CroplandType, CustomImage, CustomSourcesAndLayersData, DataCustomization, Geoloader, HydrologicUnit, IMapboxSettings, LegendDesc, LegendItem, MapAreaSelectMode, MapAreaSelection, MapboxImage, MapboxLayerType, MapboxMapper, MapboxStyler, NaicsMapperClusterProperties, PointData, PointDataLoader, PointDataOptions, PopupRenderer, StyleData, VectorTileServerSource };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foodmarketmaker/mapag",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "Angular library for interactive maps with advanced geospatial features",
5
5
  "author": "Food Market Maker",
6
6
  "license": "MIT",