UNPKG

vue3-maplibre-gl

Version:

Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease

50 lines (49 loc) 1.82 kB
import { CreateBaseLayerActions, Nullable, LayerTypes } from '../../types'; import { MaybeRef } from 'vue'; import { SourceSpecification, FilterSpecification, Map, LayerSpecification } from 'maplibre-gl'; /** * Layer creation status enum for better state management */ export declare enum LayerStatus { NotCreated = "not-created", Creating = "creating", Created = "created", Error = "error" } export interface CreateBaseLayerProps<Layer extends LayerSpecification> { map: MaybeRef<Nullable<Map>>; id?: string; source: MaybeRef<string | SourceSpecification | object | null | undefined>; type: LayerTypes; beforeId?: string; filter?: FilterSpecification; layout?: Layer['layout']; paint?: Layer['paint']; maxzoom?: number; minzoom?: number; metadata?: object; sourceLayer?: string; debug?: boolean; register?: (actions: CreateBaseLayerActions<Layer>, map: Map) => void; } export interface EnhancedLayerActions<Layer extends LayerSpecification> extends CreateBaseLayerActions<Layer> { layerStatus: Readonly<LayerStatus>; isLayerReady: boolean; refreshLayer: () => void; updateLayer: (updates: { filter?: FilterSpecification; minzoom?: number; maxzoom?: number; paint?: Record<string, any>; layout?: Record<string, any>; }) => void; } /** * Composable for creating and managing MapLibre GL Layers * Provides reactive layer management with error handling, performance optimizations, and enhanced API * * @param cfg - Configuration options for the layer * @returns Enhanced actions and state for the layer */ export declare function useCreateLayer<Layer extends LayerSpecification>(cfg: CreateBaseLayerProps<Layer>): EnhancedLayerActions<Layer>; //# sourceMappingURL=useCreateLayer.d.ts.map