esri-gl 1.0.5 → 2.0.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.
- package/README.md +55 -1
- package/dist/{index-DczUYC4z.d.ts → index-Doq93o-G.d.ts} +252 -75
- package/dist/{IdentifyImage-DmyKcbAv.js → index-DsY1_0df.js} +825 -678
- package/dist/index-DsY1_0df.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +7181 -1017
- package/dist/index.umd.js.map +1 -1
- package/dist/package.json +5 -1
- package/dist/react-map-gl.d.ts +57 -10
- package/dist/react-map-gl.js +313 -290
- package/dist/react-map-gl.js.map +1 -1
- package/dist/react.d.ts +23 -28
- package/dist/react.js +202 -178
- package/dist/react.js.map +1 -1
- package/dist/{useFeatureService-E9PiUOLP.js → useFeatureService-BRY6PHUs.js} +50 -12
- package/dist/useFeatureService-BRY6PHUs.js.map +1 -0
- package/dist/{useFeatureService-QUqwJcet.d.ts → useFeatureService-CG70gjQy.d.ts} +29 -41
- package/package.json +10 -7
- package/dist/IdentifyImage-DmyKcbAv.js.map +0 -1
- package/dist/useFeatureService-E9PiUOLP.js.map +0 -1
package/dist/react-map-gl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-map-gl.js","sources":["../src/react-map-gl/utils/useReactMapGL.ts","../src/react-map-gl/components/EsriDynamicLayer.tsx","../src/react-map-gl/components/EsriTiledLayer.tsx","../src/react-map-gl/components/EsriImageLayer.tsx","../src/react-map-gl/components/EsriVectorTileLayer.tsx","../src/react-map-gl/components/EsriVectorBasemapLayer.tsx","../src/react-map-gl/components/EsriFeatureLayer.tsx","../src/react-map-gl/hooks/useEsriMapboxLayer.ts","../src/react-map-gl/hooks/useEsriMaplibreLayer.ts"],"sourcesContent":["import { useMap as useMapMapbox } from 'react-map-gl/mapbox';\nimport { useMap as useMapMaplibre } from 'react-map-gl/maplibre';\nimport type { MapRef as MapboxMapRef } from 'react-map-gl/mapbox';\nimport type { MapRef as MaplibreMapRef } from 'react-map-gl/maplibre';\n\nexport type ReactMapGLMapRef = MapboxMapRef | MaplibreMapRef;\n\nexport type ReactMapGLMapCollection = {\n current: ReactMapGLMapRef | null;\n [id: string]: ReactMapGLMapRef | null | undefined;\n};\n\nconst EMPTY_COLLECTION: ReactMapGLMapCollection = { current: null };\n\nfunction withFallback<T>(fn: () => T): T | null {\n try {\n return fn();\n } catch {\n // The hook will throw if the corresponding provider is not present.\n return null;\n }\n}\n\nfunction normalizeCollection(\n collection: ReturnType<typeof useMapMapbox> | ReturnType<typeof useMapMaplibre> | null\n): ReactMapGLMapCollection | null {\n if (!collection) {\n return null;\n }\n\n const current = ((collection as { current?: ReactMapGLMapRef }).current ??\n null) as ReactMapGLMapRef | null;\n\n return {\n current,\n ...collection,\n } as ReactMapGLMapCollection;\n}\n\nexport function useReactMapGL(): ReactMapGLMapCollection {\n const mapboxCollection = normalizeCollection(withFallback(useMapMapbox));\n const maplibreCollection = normalizeCollection(withFallback(useMapMaplibre));\n\n if (mapboxCollection?.current) {\n return mapboxCollection;\n }\n\n if (maplibreCollection?.current) {\n return maplibreCollection;\n }\n\n return mapboxCollection ?? maplibreCollection ?? EMPTY_COLLECTION;\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport { DynamicMapService } from '@/Services/DynamicMapService';\nimport type { EsriServiceOptions } from '@/types';\nimport type { EsriDynamicLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\n\n/**\n * React Map GL component for Esri Dynamic Map Service\n */\nexport function EsriDynamicLayer(props: EsriDynamicLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-dynamic-${props.id}`;\n const [isMapLoaded, setIsMapLoaded] = useState(false);\n\n // Wait for map to be loaded before creating service\n useEffect(() => {\n if (!map) return;\n\n const mapInstance = map.getMap?.();\n const mi = mapInstance as any;\n if (!mi || typeof mi.isStyleLoaded !== 'function') {\n return;\n }\n\n if (mi.isStyleLoaded()) {\n setIsMapLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsMapLoaded(true);\n mi?.once?.('load', handleLoad);\n\n return () => {\n mi?.off?.('load', handleLoad);\n };\n }, [map]);\n\n const service = useMemo(() => {\n if (!map || !isMapLoaded) return null;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return null;\n\n // Only include defined properties to avoid overriding defaults with undefined\n const options: EsriServiceOptions & { url: string } = { url: props.url };\n if (props.layers !== undefined) options.layers = props.layers;\n if (props.layerDefs !== undefined) options.layerDefs = props.layerDefs;\n if (props.format !== undefined) options.format = props.format;\n if (props.dpi !== undefined) options.dpi = props.dpi;\n if (props.transparent !== undefined) options.transparent = props.transparent;\n\n return new DynamicMapService(\n sourceId,\n mapInstance as unknown as import('@/types').Map, // Type assertion for map compatibility\n options\n );\n }, [\n map,\n isMapLoaded,\n sourceId,\n props.url,\n props.layers,\n props.layerDefs,\n props.format,\n props.dpi,\n props.transparent,\n ]);\n\n useEffect(() => {\n if (!map || !service) return;\n\n const mapInstance = map.getMap?.() as any;\n if (\n !mapInstance ||\n typeof mapInstance.getLayer !== 'function' ||\n typeof mapInstance.addLayer !== 'function'\n ) {\n return () => {\n service.remove();\n };\n }\n\n // Add raster layer\n if (!mapInstance.getLayer(props.id)) {\n const layerConfig = {\n id: props.id,\n type: 'raster' as const,\n source: sourceId,\n layout: {\n visibility: (props.visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n\n if (props.beforeId) {\n (mapInstance as any).addLayer(layerConfig as any, props.beforeId as any);\n } else {\n (mapInstance as any).addLayer(layerConfig as any);\n }\n }\n\n // Cleanup function\n return () => {\n if ((mapInstance as any).getStyle?.() && (mapInstance as any).getLayer?.(props.id)) {\n (mapInstance as any).removeLayer(props.id);\n }\n if (service) {\n service.remove();\n }\n };\n }, [map, service, props.id, props.beforeId, props.visible, sourceId]);\n\n return null;\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport { TiledMapService } from '@/Services/TiledMapService';\nimport type { EsriTiledLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\n\n/**\n * React Map GL component for Esri Tiled Map Service\n */\nexport function EsriTiledLayer(props: EsriTiledLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-tiled-${props.id}`;\n const [isMapLoaded, setIsMapLoaded] = useState(false);\n\n // Wait for map to be loaded before creating service\n useEffect(() => {\n if (!map) return;\n\n const mapInstance = map.getMap?.();\n const mi = mapInstance as any;\n if (!mi || typeof mi.isStyleLoaded !== 'function') {\n return;\n }\n\n if (mi.isStyleLoaded()) {\n setIsMapLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsMapLoaded(true);\n mi?.once?.('load', handleLoad);\n\n return () => {\n mi?.off?.('load', handleLoad);\n };\n }, [map]);\n\n const service = useMemo(() => {\n if (!map || !isMapLoaded) return null;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return null;\n\n return new TiledMapService(sourceId, mapInstance as unknown as import('@/types').Map, {\n url: props.url,\n });\n }, [map, isMapLoaded, sourceId, props.url]);\n\n useEffect(() => {\n if (!map || !service) return;\n\n const mapInstance = map.getMap?.() as any;\n if (\n !mapInstance ||\n typeof mapInstance.getLayer !== 'function' ||\n typeof mapInstance.addLayer !== 'function'\n ) {\n return () => {\n service.remove();\n };\n }\n\n // Add raster layer\n if (!mapInstance.getLayer(props.id)) {\n const layerConfig = {\n id: props.id,\n type: 'raster' as const,\n source: sourceId,\n layout: {\n visibility: (props.visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n\n if (props.beforeId) {\n (mapInstance as any).addLayer(layerConfig as any, props.beforeId as any);\n } else {\n (mapInstance as any).addLayer(layerConfig as any);\n }\n }\n\n // Cleanup function\n return () => {\n if ((mapInstance as any).getStyle?.() && (mapInstance as any).getLayer?.(props.id)) {\n (mapInstance as any).removeLayer(props.id);\n }\n if (service) {\n service.remove();\n }\n };\n }, [map, service, props.id, props.beforeId, props.visible, sourceId]);\n\n return null;\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { ImageService } from '@/Services/ImageService';\nimport type { ImageServiceOptions } from '@/types';\nimport type { EsriImageLayerProps } from '../types';\n\n/**\n * React Map GL component for Esri Image Service\n */\nexport function EsriImageLayer(props: EsriImageLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-image-${props.id}`;\n const [isMapLoaded, setIsMapLoaded] = useState(false);\n\n // Wait for map to be loaded before creating service\n useEffect(() => {\n if (!map) return;\n\n const mapInstance = map.getMap?.();\n const mi = mapInstance as any;\n if (!mi || typeof mi.isStyleLoaded !== 'function') {\n return;\n }\n\n if (mi.isStyleLoaded()) {\n setIsMapLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsMapLoaded(true);\n mi?.once?.('load', handleLoad);\n\n return () => {\n mi?.off?.('load', handleLoad);\n };\n }, [map]);\n\n const service = useMemo(() => {\n if (!map || !isMapLoaded) return null;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return null;\n\n // Only include defined properties to avoid overriding defaults with undefined\n const options: Partial<ImageServiceOptions> & { url: string } = { url: props.url };\n if (props.renderingRule !== undefined) options.renderingRule = props.renderingRule;\n if (props.mosaicRule !== undefined) options.mosaicRule = props.mosaicRule;\n if (props.format !== undefined) options.format = props.format as ImageServiceOptions['format'];\n\n return new ImageService(sourceId, mapInstance as unknown as import('@/types').Map, options);\n }, [map, isMapLoaded, sourceId, props.url, props.renderingRule, props.mosaicRule, props.format]);\n\n useEffect(() => {\n if (!map || !service) return;\n\n const mapInstance = map.getMap?.() as any;\n if (\n !mapInstance ||\n typeof mapInstance.getLayer !== 'function' ||\n typeof mapInstance.addLayer !== 'function'\n ) {\n return () => {\n service.remove();\n };\n }\n\n // Add raster layer\n if (!mapInstance.getLayer(props.id)) {\n const layerConfig = {\n id: props.id,\n type: 'raster' as const,\n source: sourceId,\n layout: {\n visibility: (props.visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n\n if (props.beforeId) {\n (mapInstance as any).addLayer(layerConfig as any, props.beforeId as any);\n } else {\n (mapInstance as any).addLayer(layerConfig as any);\n }\n }\n\n // Cleanup function\n return () => {\n if ((mapInstance as any).getStyle?.() && (mapInstance as any).getLayer?.(props.id)) {\n (mapInstance as any).removeLayer(props.id);\n }\n if (service) {\n service.remove();\n }\n };\n }, [map, service, props.id, props.beforeId, props.visible, sourceId]);\n\n return null;\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { VectorTileService } from '@/Services/VectorTileService';\nimport type { EsriVectorTileLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport type { Map } from '@/types';\n\n/**\n * React Map GL component for Esri Vector Tile Service\n */\nexport function EsriVectorTileLayer(props: EsriVectorTileLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-vector-tile-${props.id}`;\n const [isMapLoaded, setIsMapLoaded] = useState(false);\n const serviceRef = useRef<VectorTileService | null>(null);\n const layerIdsRef = useRef<string[]>([]);\n\n // Wait for map to be loaded before creating service\n useEffect(() => {\n if (!map) return;\n\n const mapInstance = map.getMap?.();\n const mi = mapInstance as any;\n if (!mi || typeof mi.isStyleLoaded !== 'function') return;\n\n if (mi.isStyleLoaded()) {\n setIsMapLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsMapLoaded(true);\n mi?.once?.('load', handleLoad);\n\n return () => {\n mi?.off?.('load', handleLoad);\n };\n }, [map]);\n\n // Create VectorTileService, fetch style, add layers, and clean up on unmount\n useEffect(() => {\n if (!map || !isMapLoaded) return;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return;\n\n const mi = mapInstance as any;\n let cancelled = false;\n\n const service = new VectorTileService(sourceId, mapInstance as unknown as Map, {\n url: props.url,\n });\n serviceRef.current = service;\n\n // Fetch the full style and add all layers from it\n service\n .getStyle()\n .then(() => {\n if (cancelled) return;\n\n // Fetch the full style document to get all layers\n const styleUrl = `${props.url}/resources/styles/root.json`;\n return fetch(styleUrl);\n })\n .then(response => {\n if (cancelled || !response) return;\n if (!response.ok) throw new Error(`Failed to fetch style: ${response.status}`);\n return response.json();\n })\n .then(data => {\n if (cancelled || !data?.layers) return;\n\n const addedIds: string[] = [];\n for (const layer of data.layers) {\n if (!layer['source-layer']) continue;\n const layerId = `${props.id}-${layer.id}`;\n\n if (mi.getLayer?.(layerId)) continue;\n\n const layerConfig: any = {\n id: layerId,\n type: layer.type,\n source: sourceId,\n 'source-layer': layer['source-layer'],\n };\n if (layer.layout) layerConfig.layout = layer.layout;\n if (layer.paint) layerConfig.paint = layer.paint;\n if (layer.filter) layerConfig.filter = layer.filter;\n if (layer.minzoom !== undefined) layerConfig.minzoom = layer.minzoom;\n if (layer.maxzoom !== undefined) layerConfig.maxzoom = layer.maxzoom;\n\n // Apply visibility from props\n if (props.visible === false) {\n layerConfig.layout = { ...layerConfig.layout, visibility: 'none' };\n }\n\n if (props.beforeId) {\n mi.addLayer(layerConfig, props.beforeId);\n } else {\n mi.addLayer(layerConfig);\n }\n addedIds.push(layerId);\n }\n layerIdsRef.current = addedIds;\n })\n .catch(err => {\n console.warn('EsriVectorTileLayer: failed to load style layers', err);\n });\n\n return () => {\n cancelled = true;\n // Remove layers we added\n if (mi.getStyle?.()) {\n for (const id of layerIdsRef.current) {\n try {\n if (mi.getLayer?.(id)) mi.removeLayer(id);\n } catch {\n // layer may already be gone\n }\n }\n }\n layerIdsRef.current = [];\n service.remove();\n serviceRef.current = null;\n };\n }, [map, isMapLoaded, sourceId, props.url, props.id, props.beforeId, props.visible]);\n\n return null;\n}\n","import { useEffect, useMemo } from 'react';\nimport { VectorBasemapStyle } from '@/Services/VectorBasemapStyle';\nimport type { EsriVectorBasemapLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\n\n/**\n * React Map GL component for Esri Vector Basemap Style\n */\nexport function EsriVectorBasemapLayer(props: EsriVectorBasemapLayerProps) {\n const { current: map } = useReactMapGL();\n\n const service = useMemo(() => {\n return new VectorBasemapStyle(props.basemapEnum, { token: props.token });\n }, [props.basemapEnum, props.token]);\n\n useEffect(() => {\n if (!map || !service) return;\n\n // Vector basemap styles replace the entire map style\n // This is typically handled differently in react-map-gl\n // For now, we'll just ensure cleanup\n\n // Cleanup function\n return () => {\n if (service) {\n service.remove();\n }\n };\n }, [map, service]);\n\n return null;\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { FeatureService } from '@/Services/FeatureService';\nimport type { FeatureServiceOptions } from '@/types';\nimport type { EsriFeatureLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\n\n/**\n * React Map GL component for Esri Feature Service\n */\nexport function EsriFeatureLayer(props: EsriFeatureLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-feature-${props.id}`;\n const [isMapLoaded, setIsMapLoaded] = useState(false);\n const serviceRef = useRef<FeatureService | null>(null);\n\n // Keep stable refs for object props to avoid effect re-runs on every render\n const paintRef = useRef(props.paint);\n paintRef.current = props.paint;\n const layoutRef = useRef(props.layout);\n layoutRef.current = props.layout;\n\n // Wait for map to be loaded before creating service\n useEffect(() => {\n if (!map) return;\n\n const mapInstance = map.getMap?.();\n const mi = mapInstance as any;\n if (!mi || typeof mi.isStyleLoaded !== 'function') {\n return;\n }\n\n if (mi.isStyleLoaded()) {\n setIsMapLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsMapLoaded(true);\n mi?.once?.('load', handleLoad);\n\n return () => {\n mi?.off?.('load', handleLoad);\n };\n }, [map]);\n\n // Create FeatureService, add layer, and clean up on unmount\n useEffect(() => {\n if (!map || !isMapLoaded) return;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return;\n\n const mi = mapInstance as any;\n\n // Only include defined properties to avoid overriding defaults with undefined\n const options: Partial<FeatureServiceOptions> & { url: string } = { url: props.url };\n if (props.where !== undefined) options.where = props.where;\n if (props.outFields !== undefined) options.outFields = props.outFields;\n\n const service = new FeatureService(\n sourceId,\n mapInstance as unknown as import('@/types').Map,\n options\n );\n serviceRef.current = service;\n\n // Add GeoJSON layer\n if (\n typeof mi.getLayer === 'function' &&\n typeof mi.addLayer === 'function' &&\n !mi.getLayer(props.id)\n ) {\n const layerType = props.type || 'fill';\n const defaultPaint =\n layerType === 'circle'\n ? { 'circle-radius': 4, 'circle-color': '#888888' }\n : { 'fill-color': '#888888', 'fill-opacity': 0.5 };\n const layerConfig = {\n id: props.id,\n type: layerType,\n source: sourceId,\n paint: paintRef.current || defaultPaint,\n layout: {\n ...layoutRef.current,\n visibility: (props.visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n\n if (props.beforeId) {\n mi.addLayer(layerConfig as any, props.beforeId as any);\n } else {\n mi.addLayer(layerConfig as any);\n }\n }\n\n return () => {\n if (mi.getStyle?.() && mi.getLayer?.(props.id)) {\n mi.removeLayer(props.id);\n }\n service.remove();\n serviceRef.current = null;\n };\n }, [\n map,\n isMapLoaded,\n sourceId,\n props.url,\n props.where,\n props.outFields,\n props.id,\n props.beforeId,\n props.visible,\n props.type,\n ]);\n\n return null;\n}\n","import { useMap } from 'react-map-gl/mapbox';\nimport { useDynamicMapService } from '../../react/hooks/useDynamicMapService';\nimport { useTiledMapService } from '../../react/hooks/useTiledMapService';\nimport { useImageService } from '../../react/hooks/useImageService';\nimport { useVectorTileService } from '../../react/hooks/useVectorTileService';\nimport { useFeatureService } from '../../react/hooks/useFeatureService';\nimport type { Map } from '@/types';\n\n/**\n * Hook for using Esri services with Mapbox GL JS (via react-map-gl)\n */\nexport function useEsriMapboxLayer() {\n const { current: mapRef } = useMap();\n const map = mapRef?.getMap() as unknown as Map | null;\n\n return {\n map,\n useDynamicMapService: (options: Parameters<typeof useDynamicMapService>[0]) =>\n useDynamicMapService({ ...options, map }),\n useTiledMapService: (options: Parameters<typeof useTiledMapService>[0]) =>\n useTiledMapService({ ...options, map }),\n useImageService: (options: Parameters<typeof useImageService>[0]) =>\n useImageService({ ...options, map }),\n useVectorTileService: (options: Parameters<typeof useVectorTileService>[0]) =>\n useVectorTileService({ ...options, map }),\n useFeatureService: (options: Parameters<typeof useFeatureService>[0]) =>\n useFeatureService({ ...options, map }),\n };\n}\n","import { useMap } from 'react-map-gl/maplibre';\nimport { useDynamicMapService } from '../../react/hooks/useDynamicMapService';\nimport { useTiledMapService } from '../../react/hooks/useTiledMapService';\nimport { useImageService } from '../../react/hooks/useImageService';\nimport { useVectorTileService } from '../../react/hooks/useVectorTileService';\nimport { useFeatureService } from '../../react/hooks/useFeatureService';\nimport type { Map } from '@/types';\n\n/**\n * Hook for using Esri services with MapLibre GL JS (via react-map-gl/maplibre)\n */\nexport function useEsriMaplibreLayer() {\n const { current: mapRef } = useMap();\n const map = mapRef?.getMap() as unknown as Map | null;\n\n return {\n map,\n useDynamicMapService: (options: Parameters<typeof useDynamicMapService>[0]) =>\n useDynamicMapService({ ...options, map }),\n useTiledMapService: (options: Parameters<typeof useTiledMapService>[0]) =>\n useTiledMapService({ ...options, map }),\n useImageService: (options: Parameters<typeof useImageService>[0]) =>\n useImageService({ ...options, map }),\n useVectorTileService: (options: Parameters<typeof useVectorTileService>[0]) =>\n useVectorTileService({ ...options, map }),\n useFeatureService: (options: Parameters<typeof useFeatureService>[0]) =>\n useFeatureService({ ...options, map }),\n };\n}\n"],"names":["EMPTY_COLLECTION","current","withFallback","fn","normalizeCollection","collection","useReactMapGL","mapboxCollection","useMapMapbox","maplibreCollection","useMapMaplibre","EsriDynamicLayer","props","map","sourceId","id","isMapLoaded","setIsMapLoaded","useState","useEffect","mapInstance","getMap","mi","isStyleLoaded","handleLoad","once","off","service","useMemo","options","url","layers","undefined","layerDefs","format","dpi","transparent","DynamicMapService","getLayer","addLayer","remove","layerConfig","type","source","layout","visibility","visible","beforeId","getStyle","removeLayer","EsriTiledLayer","TiledMapService","EsriImageLayer","renderingRule","mosaicRule","ImageService","EsriVectorTileLayer","serviceRef","useRef","layerIdsRef","cancelled","VectorTileService","then","styleUrl","fetch","response","ok","Error","status","json","data","addedIds","layer","layerId","paint","filter","minzoom","maxzoom","push","catch","err","console","warn","EsriVectorBasemapLayer","VectorBasemapStyle","basemapEnum","token","EsriFeatureLayer","paintRef","layoutRef","where","outFields","FeatureService","layerType","defaultPaint","useEsriMapboxLayer","mapRef","useMap","useDynamicMapService","useTiledMapService","useImageService","useVectorTileService","useFeatureService","useEsriMaplibreLayer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-map-gl.js","sources":["../src/react-map-gl/utils/useReactMapGL.ts","../src/react-map-gl/utils/buildServiceOptions.ts","../src/react-map-gl/hooks/useMapLoaded.ts","../src/react-map-gl/hooks/useRasterLayer.ts","../src/react-map-gl/components/EsriDynamicLayer.tsx","../src/react-map-gl/components/EsriTiledLayer.tsx","../src/react-map-gl/components/EsriImageLayer.tsx","../src/react-map-gl/components/EsriVectorTileLayer.tsx","../src/react-map-gl/components/EsriVectorBasemapLayer.tsx","../src/react-map-gl/components/EsriFeatureLayer.tsx","../src/react-map-gl/components/EsriPortalLayer.tsx","../src/react-map-gl/hooks/createEsriLayerHooks.ts","../src/react-map-gl/hooks/useEsriMapboxLayer.ts","../src/react-map-gl/hooks/useEsriMaplibreLayer.ts"],"sourcesContent":["import { useMap as useMapMapbox } from 'react-map-gl/mapbox';\nimport { useMap as useMapMaplibre } from 'react-map-gl/maplibre';\nimport type { MapRef as MapboxMapRef } from 'react-map-gl/mapbox';\nimport type { MapRef as MaplibreMapRef } from 'react-map-gl/maplibre';\n\nexport type ReactMapGLMapRef = MapboxMapRef | MaplibreMapRef;\n\nexport type ReactMapGLMapCollection = {\n current: ReactMapGLMapRef | null;\n [id: string]: ReactMapGLMapRef | null | undefined;\n};\n\nconst EMPTY_COLLECTION: ReactMapGLMapCollection = { current: null };\n\nfunction withFallback<T>(fn: () => T): T | null {\n try {\n return fn();\n } catch {\n // The hook will throw if the corresponding provider is not present.\n return null;\n }\n}\n\nfunction normalizeCollection(\n collection: ReturnType<typeof useMapMapbox> | ReturnType<typeof useMapMaplibre> | null\n): ReactMapGLMapCollection | null {\n if (!collection) {\n return null;\n }\n\n const current = ((collection as { current?: ReactMapGLMapRef }).current ??\n null) as ReactMapGLMapRef | null;\n\n return {\n current,\n ...collection,\n } as ReactMapGLMapCollection;\n}\n\nexport function useReactMapGL(): ReactMapGLMapCollection {\n const mapboxCollection = normalizeCollection(withFallback(useMapMapbox));\n const maplibreCollection = normalizeCollection(withFallback(useMapMaplibre));\n\n if (mapboxCollection?.current) {\n return mapboxCollection;\n }\n\n if (maplibreCollection?.current) {\n return maplibreCollection;\n }\n\n return mapboxCollection ?? maplibreCollection ?? EMPTY_COLLECTION;\n}\n","import type { EsriAuthProps } from '../types';\n\n/**\n * Copy any defined auth/passthrough props from a layer component's props\n * onto a service-options object. Undefined values are skipped so they\n * do not override service defaults.\n */\nexport function applyAuthOptions<T extends object>(options: T, props: EsriAuthProps): T {\n const target = options as Record<string, unknown>;\n if (props.token !== undefined) target.token = props.token;\n if (props.apiKey !== undefined) target.apiKey = props.apiKey;\n if (props.authentication !== undefined) target.authentication = props.authentication;\n if (props.proxy !== undefined) target.proxy = props.proxy;\n if (props.getAttributionFromService !== undefined)\n target.getAttributionFromService = props.getAttributionFromService;\n if (props.requestParams !== undefined) target.requestParams = props.requestParams;\n if (props.fetchOptions !== undefined) target.fetchOptions = props.fetchOptions;\n return options;\n}\n","import { useEffect, useState } from 'react';\nimport type { ReactMapGLMapRef } from '../utils/useReactMapGL';\n\ntype MapWithLoadApi = {\n isStyleLoaded?: () => boolean;\n once?: (event: string, handler: () => void) => void;\n off?: (event: string, handler: () => void) => void;\n};\n\n/**\n * Returns true once the underlying map's style has finished loading.\n * Returns false when there is no map yet, the map does not expose the\n * expected lifecycle API, or the style has not finished loading.\n */\nexport function useMapLoaded(map: ReactMapGLMapRef | null | undefined): boolean {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n if (!map) {\n setIsLoaded(false);\n return;\n }\n\n const mapInstance = map.getMap?.() as MapWithLoadApi | undefined;\n if (!mapInstance || typeof mapInstance.isStyleLoaded !== 'function') {\n setIsLoaded(false);\n return;\n }\n\n if (mapInstance.isStyleLoaded()) {\n setIsLoaded(true);\n return;\n }\n\n const handleLoad = () => setIsLoaded(true);\n mapInstance.once?.('load', handleLoad);\n\n return () => {\n mapInstance.off?.('load', handleLoad);\n };\n }, [map]);\n\n return isLoaded;\n}\n","import { useEffect, useRef, useState } from 'react';\nimport type { Map } from '@/types';\nimport type { ReactMapGLMapRef } from '../utils/useReactMapGL';\nimport { useMapLoaded } from './useMapLoaded';\n\ntype RasterService = { remove: () => void };\n\ntype MapLayerApi = {\n getStyle?: () => unknown;\n getLayer?: (id: string) => unknown;\n getSource?: (id: string) => unknown;\n addLayer?: (layer: unknown, beforeId?: string) => void;\n removeLayer?: (id: string) => void;\n};\n\nexport interface UseRasterLayerOptions<TService extends RasterService> {\n map: ReactMapGLMapRef | null | undefined;\n layerId: string;\n sourceId: string;\n beforeId?: string;\n visible?: boolean;\n /**\n * Dependencies that determine when the service should be rebuilt. The\n * hook already tracks `map`, the load state, and `sourceId` — callers\n * should pass any props that affect service construction.\n */\n serviceDeps: ReadonlyArray<unknown>;\n createService: (map: Map, sourceId: string) => TService;\n}\n\n/**\n * Shared lifecycle for react-map-gl components that wrap an Esri raster\n * service. Waits for the map style to load, then (re)builds the service and its\n * raster layer in a single effect so that when `serviceDeps` change the old\n * source is torn down *before* the new service recreates it — otherwise the\n * service constructor would see the stale source and skip re-adding it.\n */\nexport function useRasterLayer<TService extends RasterService>(\n options: UseRasterLayerOptions<TService>\n): TService | null {\n const { map, layerId, sourceId, beforeId, visible, serviceDeps, createService } = options;\n const isMapLoaded = useMapLoaded(map);\n const [service, setService] = useState<TService | null>(null);\n\n // Keep the latest createService without making it a dependency (callers pass\n // a fresh closure each render; serviceDeps captures what actually matters).\n const createServiceRef = useRef(createService);\n createServiceRef.current = createService;\n\n useEffect(() => {\n if (!map || !isMapLoaded) {\n setService(null);\n return;\n }\n\n const mapInstance = map.getMap?.() as MapLayerApi | undefined;\n if (!mapInstance || typeof mapInstance.addLayer !== 'function') {\n return;\n }\n\n const svc = createServiceRef.current(mapInstance as unknown as Map, sourceId);\n setService(svc);\n\n // Add the raster layer once its source exists.\n const sourceReady =\n typeof mapInstance.getSource !== 'function' || Boolean(mapInstance.getSource(sourceId));\n\n if (!mapInstance.getLayer?.(layerId) && sourceReady) {\n const layerConfig = {\n id: layerId,\n type: 'raster' as const,\n source: sourceId,\n layout: {\n visibility: (visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n try {\n if (beforeId) {\n mapInstance.addLayer?.(layerConfig, beforeId);\n } else {\n mapInstance.addLayer?.(layerConfig);\n }\n } catch (err) {\n if (process.env?.NODE_ENV !== 'test') {\n console.warn(`useRasterLayer: skipped adding layer \"${layerId}\"`, err);\n }\n }\n }\n\n return () => {\n // Remove the layer first, then the service (which removes its source), so\n // a subsequent rebuild gets a clean slate for the same sourceId.\n try {\n if (mapInstance.getStyle?.() && mapInstance.getLayer?.(layerId)) {\n mapInstance.removeLayer?.(layerId);\n }\n } catch {\n // layer may already be gone\n }\n svc.remove();\n };\n // serviceDeps is spread so any change rebuilds the layer + source.\n }, [map, isMapLoaded, sourceId, layerId, beforeId, visible, ...serviceDeps]);\n\n return service;\n}\n","import { DynamicMapService } from '@/Services/DynamicMapService';\nimport type { EsriServiceOptions } from '@/types';\nimport type { EsriDynamicLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useRasterLayer } from '../hooks/useRasterLayer';\n\n/**\n * React Map GL component for Esri Dynamic Map Service\n */\nexport function EsriDynamicLayer(props: EsriDynamicLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-dynamic-${props.id}`;\n\n useRasterLayer({\n map,\n layerId: props.id,\n sourceId,\n beforeId: props.beforeId,\n visible: props.visible,\n serviceDeps: [\n props.url,\n props.layers,\n props.layerDefs,\n props.format,\n props.dpi,\n props.transparent,\n props.token,\n props.apiKey,\n props.authentication,\n props.proxy,\n props.getAttributionFromService,\n props.requestParams,\n props.fetchOptions,\n ],\n createService: (mapInstance, resolvedSourceId) => {\n const options: EsriServiceOptions & { url: string } = { url: props.url };\n if (props.layers !== undefined) options.layers = props.layers;\n if (props.layerDefs !== undefined) options.layerDefs = props.layerDefs;\n if (props.format !== undefined) options.format = props.format;\n if (props.dpi !== undefined) options.dpi = props.dpi;\n if (props.transparent !== undefined) options.transparent = props.transparent;\n applyAuthOptions(options, props);\n\n return new DynamicMapService(resolvedSourceId, mapInstance, options);\n },\n });\n\n return null;\n}\n","import { TiledMapService } from '@/Services/TiledMapService';\nimport type { EsriServiceOptions } from '@/types';\nimport type { EsriTiledLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useRasterLayer } from '../hooks/useRasterLayer';\n\n/**\n * React Map GL component for Esri Tiled Map Service\n */\nexport function EsriTiledLayer(props: EsriTiledLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-tiled-${props.id}`;\n\n useRasterLayer({\n map,\n layerId: props.id,\n sourceId,\n beforeId: props.beforeId,\n visible: props.visible,\n serviceDeps: [\n props.url,\n props.token,\n props.apiKey,\n props.authentication,\n props.proxy,\n props.getAttributionFromService,\n props.requestParams,\n props.fetchOptions,\n ],\n createService: (mapInstance, resolvedSourceId) => {\n const options: EsriServiceOptions & { url: string } = { url: props.url };\n applyAuthOptions(options, props);\n return new TiledMapService(resolvedSourceId, mapInstance, options);\n },\n });\n\n return null;\n}\n","import { ImageService } from '@/Services/ImageService';\nimport type { ImageServiceOptions } from '@/types';\nimport type { EsriImageLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useRasterLayer } from '../hooks/useRasterLayer';\n\n/**\n * React Map GL component for Esri Image Service\n */\nexport function EsriImageLayer(props: EsriImageLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-image-${props.id}`;\n\n useRasterLayer({\n map,\n layerId: props.id,\n sourceId,\n beforeId: props.beforeId,\n visible: props.visible,\n serviceDeps: [\n props.url,\n props.renderingRule,\n props.mosaicRule,\n props.format,\n props.token,\n props.apiKey,\n props.authentication,\n props.proxy,\n props.getAttributionFromService,\n props.requestParams,\n props.fetchOptions,\n ],\n createService: (mapInstance, resolvedSourceId) => {\n const options: Partial<ImageServiceOptions> & { url: string } = { url: props.url };\n if (props.renderingRule !== undefined) options.renderingRule = props.renderingRule;\n if (props.mosaicRule !== undefined) options.mosaicRule = props.mosaicRule;\n if (props.format !== undefined)\n options.format = props.format as ImageServiceOptions['format'];\n applyAuthOptions(options, props);\n\n return new ImageService(resolvedSourceId, mapInstance, options);\n },\n });\n\n return null;\n}\n","import { useEffect, useRef } from 'react';\nimport { VectorTileService } from '@/Services/VectorTileService';\nimport { esriRequest } from '@/request';\nimport type { EsriVectorTileLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport type { Map, VectorTileServiceOptions } from '@/types';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useMapLoaded } from '../hooks/useMapLoaded';\n\ntype MapLayerApi = {\n getStyle?: () => unknown;\n getLayer?: (id: string) => unknown;\n addLayer?: (layer: unknown, beforeId?: string) => void;\n removeLayer?: (id: string) => void;\n};\n\ntype VectorStyleLayer = {\n id: string;\n type: string;\n 'source-layer'?: string;\n layout?: Record<string, unknown>;\n paint?: Record<string, unknown>;\n filter?: unknown;\n minzoom?: number;\n maxzoom?: number;\n};\n\n/**\n * React Map GL component for Esri Vector Tile Service\n */\nexport function EsriVectorTileLayer(props: EsriVectorTileLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-vector-tile-${props.id}`;\n const isMapLoaded = useMapLoaded(map);\n const serviceRef = useRef<VectorTileService | null>(null);\n const layerIdsRef = useRef<string[]>([]);\n\n useEffect(() => {\n if (!map || !isMapLoaded) return;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return;\n\n const layerApi = mapInstance as unknown as MapLayerApi;\n let cancelled = false;\n\n const options: VectorTileServiceOptions & { url: string } = { url: props.url };\n applyAuthOptions(options, props);\n\n const service = new VectorTileService(sourceId, mapInstance as unknown as Map, options);\n serviceRef.current = service;\n\n service\n .getStyle()\n .then(() => {\n if (cancelled) return undefined;\n\n // Fetch the full style document through the shared request layer so\n // auth (token / apiKey / authentication) is handled consistently.\n return esriRequest<{ layers?: VectorStyleLayer[] }>(\n `${props.url}/resources/styles/root.json`,\n {\n httpMethod: 'GET',\n token: props.token,\n apiKey: props.apiKey,\n authentication: props.authentication,\n }\n );\n })\n .then(data => {\n if (cancelled || !data?.layers) return;\n\n const addedIds: string[] = [];\n for (const layer of data.layers as VectorStyleLayer[]) {\n if (!layer['source-layer']) continue;\n const layerId = `${props.id}-${layer.id}`;\n\n if (layerApi.getLayer?.(layerId)) continue;\n\n const layerConfig: Record<string, unknown> = {\n id: layerId,\n type: layer.type,\n source: sourceId,\n 'source-layer': layer['source-layer'],\n };\n if (layer.layout) layerConfig.layout = layer.layout;\n if (layer.paint) layerConfig.paint = layer.paint;\n if (layer.filter) layerConfig.filter = layer.filter;\n if (layer.minzoom !== undefined) layerConfig.minzoom = layer.minzoom;\n if (layer.maxzoom !== undefined) layerConfig.maxzoom = layer.maxzoom;\n\n if (props.visible === false) {\n layerConfig.layout = {\n ...((layerConfig.layout as Record<string, unknown>) || {}),\n visibility: 'none',\n };\n }\n\n if (props.beforeId) {\n layerApi.addLayer?.(layerConfig, props.beforeId);\n } else {\n layerApi.addLayer?.(layerConfig);\n }\n addedIds.push(layerId);\n }\n layerIdsRef.current = addedIds;\n })\n .catch(err => {\n console.warn('EsriVectorTileLayer: failed to load style layers', err);\n });\n\n return () => {\n cancelled = true;\n if (layerApi.getStyle?.()) {\n for (const id of layerIdsRef.current) {\n try {\n if (layerApi.getLayer?.(id)) layerApi.removeLayer?.(id);\n } catch {\n // layer may already be gone\n }\n }\n }\n layerIdsRef.current = [];\n service.remove();\n serviceRef.current = null;\n };\n }, [\n map,\n isMapLoaded,\n sourceId,\n props.url,\n props.id,\n props.beforeId,\n props.visible,\n props.token,\n props.apiKey,\n props.authentication,\n props.proxy,\n props.getAttributionFromService,\n props.requestParams,\n props.fetchOptions,\n ]);\n\n return null;\n}\n","import { useEffect, useMemo } from 'react';\nimport { VectorBasemapStyle } from '@/Services/VectorBasemapStyle';\nimport type { EsriVectorBasemapLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\n\n/**\n * React Map GL component for Esri Vector Basemap Style\n */\nexport function EsriVectorBasemapLayer(props: EsriVectorBasemapLayerProps) {\n const { current: map } = useReactMapGL();\n\n const service = useMemo(() => {\n // Forward all the auth/locale options VectorBasemapStyle supports (token or\n // apiKey, plus language/worldview), only including the ones provided.\n const auth: { token?: string; apiKey?: string; language?: string; worldview?: string } = {};\n if (props.token !== undefined) auth.token = props.token;\n if (props.apiKey !== undefined) auth.apiKey = props.apiKey;\n if (props.language !== undefined) auth.language = props.language;\n if (props.worldview !== undefined) auth.worldview = props.worldview;\n return new VectorBasemapStyle(props.basemapEnum, auth);\n }, [props.basemapEnum, props.token, props.apiKey, props.language, props.worldview]);\n\n useEffect(() => {\n if (!map || !service) return;\n\n // Vector basemap styles replace the entire map style\n // This is typically handled differently in react-map-gl\n // For now, we'll just ensure cleanup\n\n // Cleanup function\n return () => {\n if (service) {\n service.remove();\n }\n };\n }, [map, service]);\n\n return null;\n}\n","import { useEffect, useRef } from 'react';\nimport { FeatureService } from '@/Services/FeatureService';\nimport type { FeatureServiceOptions, Map } from '@/types';\nimport type { EsriFeatureLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useMapLoaded } from '../hooks/useMapLoaded';\n\ntype MapLayerApi = {\n getStyle?: () => unknown;\n getLayer?: (id: string) => unknown;\n addLayer?: (layer: unknown, beforeId?: string) => void;\n removeLayer?: (id: string) => void;\n};\n\n/**\n * React Map GL component for Esri Feature Service\n */\nexport function EsriFeatureLayer(props: EsriFeatureLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-feature-${props.id}`;\n const isMapLoaded = useMapLoaded(map);\n const serviceRef = useRef<FeatureService | null>(null);\n\n // Keep stable refs for object props to avoid effect re-runs on every render\n const paintRef = useRef(props.paint);\n paintRef.current = props.paint;\n const layoutRef = useRef(props.layout);\n layoutRef.current = props.layout;\n\n useEffect(() => {\n if (!map || !isMapLoaded) return;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return;\n\n const layerApi = mapInstance as unknown as MapLayerApi;\n\n const options: Partial<FeatureServiceOptions> & { url: string } = { url: props.url };\n if (props.where !== undefined) options.where = props.where;\n if (props.outFields !== undefined) options.outFields = props.outFields;\n applyAuthOptions(options, props);\n\n const service = new FeatureService(sourceId, mapInstance as unknown as Map, options);\n serviceRef.current = service;\n\n if (\n typeof layerApi.getLayer === 'function' &&\n typeof layerApi.addLayer === 'function' &&\n !layerApi.getLayer(props.id)\n ) {\n const layerType = props.type || 'fill';\n const defaultPaint =\n layerType === 'circle'\n ? { 'circle-radius': 4, 'circle-color': '#888888' }\n : { 'fill-color': '#888888', 'fill-opacity': 0.5 };\n const layerConfig = {\n id: props.id,\n type: layerType,\n source: sourceId,\n paint: paintRef.current || defaultPaint,\n layout: {\n ...layoutRef.current,\n visibility: (props.visible !== false ? 'visible' : 'none') as 'visible' | 'none',\n },\n };\n\n if (props.beforeId) {\n layerApi.addLayer(layerConfig, props.beforeId);\n } else {\n layerApi.addLayer(layerConfig);\n }\n }\n\n return () => {\n if (layerApi.getStyle?.() && layerApi.getLayer?.(props.id)) {\n layerApi.removeLayer?.(props.id);\n }\n service.remove();\n serviceRef.current = null;\n };\n }, [\n map,\n isMapLoaded,\n sourceId,\n props.url,\n props.where,\n props.outFields,\n props.id,\n props.beforeId,\n props.visible,\n props.type,\n props.token,\n props.apiKey,\n props.authentication,\n props.proxy,\n props.getAttributionFromService,\n props.requestParams,\n props.fetchOptions,\n ]);\n\n return null;\n}\n","import { useEffect, useRef } from 'react';\nimport { serviceFromPortalItem } from '@/Portal';\nimport type { PortalResolvedService, PortalItemServiceOptions } from '@/Portal';\nimport type { Map } from '@/types';\nimport type { EsriPortalLayerProps } from '../types';\nimport { useReactMapGL } from '../utils/useReactMapGL';\nimport { applyAuthOptions } from '../utils/buildServiceOptions';\nimport { useMapLoaded } from '../hooks/useMapLoaded';\n\ntype MapLayerApi = {\n getLayer?: (id: string) => unknown;\n addLayer?: (layer: unknown, beforeId?: string) => void;\n removeLayer?: (id: string) => void;\n getSource?: (id: string) => unknown;\n removeSource?: (id: string) => void;\n};\n\n/**\n * React Map GL component that resolves an ArcGIS portal item id to the matching\n * esri-gl service and adds a renderer-appropriate layer for it.\n */\nexport function EsriPortalLayer(props: EsriPortalLayerProps) {\n const { current: map } = useReactMapGL();\n const sourceId = props.sourceId || `esri-portal-${props.id}`;\n const isMapLoaded = useMapLoaded(map);\n const serviceRef = useRef<PortalResolvedService | null>(null);\n\n useEffect(() => {\n if (!map || !isMapLoaded || !props.itemId) return;\n\n const mapInstance = map.getMap?.();\n if (!mapInstance) return;\n\n const layerApi = mapInstance as unknown as MapLayerApi;\n const layerId = props.id;\n let cancelled = false;\n\n const options: PortalItemServiceOptions = {};\n applyAuthOptions(options, props);\n if (props.layerId !== undefined) options.layerId = props.layerId;\n if (props.portal !== undefined) options.portal = props.portal;\n\n serviceFromPortalItem(sourceId, mapInstance as unknown as Map, props.itemId, options)\n .then(async result => {\n if (cancelled) {\n try {\n result.service.remove();\n } catch {\n /* ignore */\n }\n return;\n }\n serviceRef.current = result.service;\n\n if (layerApi.getLayer?.(layerId)) {\n props.onResolve?.(result);\n return;\n }\n\n let layerConfig: Record<string, unknown>;\n if (result.kind === 'feature' || result.kind === 'vector-tile') {\n // These services expose a default style (source already set to sourceId).\n const styled = result.service as unknown as {\n getStyle: () => Promise<Record<string, unknown>>;\n };\n const style = await styled.getStyle();\n if (cancelled || layerApi.getLayer?.(layerId)) return;\n layerConfig = { ...style, id: layerId, source: sourceId };\n } else {\n // dynamic / tiled / image → raster\n layerConfig = { id: layerId, type: 'raster', source: sourceId };\n }\n\n if (props.visible === false) {\n layerConfig.layout = {\n ...((layerConfig.layout as Record<string, unknown>) || {}),\n visibility: 'none',\n };\n }\n\n layerApi.addLayer?.(layerConfig, props.beforeId);\n props.onResolve?.(result);\n })\n .catch(err => {\n if (!cancelled) console.warn('EsriPortalLayer: failed to resolve portal item', err);\n });\n\n return () => {\n cancelled = true;\n try {\n if (layerApi.getLayer?.(layerId)) layerApi.removeLayer?.(layerId);\n } catch {\n /* layer may already be gone */\n }\n if (serviceRef.current) {\n try {\n serviceRef.current.remove();\n } catch {\n /* ignore */\n }\n serviceRef.current = null;\n }\n };\n // Note: onResolve is intentionally excluded from deps to avoid re-resolving\n // when an inline callback identity changes.\n }, [\n map,\n isMapLoaded,\n sourceId,\n props.id,\n props.itemId,\n props.layerId,\n props.portal,\n props.beforeId,\n props.visible,\n props.token,\n props.apiKey,\n props.authentication,\n ]);\n\n return null;\n}\n","import { useDynamicMapService } from '../../react/hooks/useDynamicMapService';\nimport { useTiledMapService } from '../../react/hooks/useTiledMapService';\nimport { useImageService } from '../../react/hooks/useImageService';\nimport { useVectorTileService } from '../../react/hooks/useVectorTileService';\nimport { useFeatureService } from '../../react/hooks/useFeatureService';\nimport type { Map } from '@/types';\n\ntype MapRefLike = { getMap: () => unknown };\ntype MapCollection = { current?: MapRefLike | null } | null;\n\n/**\n * Build the `useEsri{Mapbox,Maplibre}Layer` hook result from a map collection\n * returned by the corresponding react-map-gl `useMap` hook. Keeps the two\n * flavors of the hook identical except for the map source.\n */\nexport function createEsriLayerHooks(collection: MapCollection) {\n // Preserve legacy return shape: `map` is undefined when no ref, the\n // underlying map otherwise. Child hooks type `map: Map | null`, so we\n // coerce for the injection below.\n const map = collection?.current?.getMap?.() as Map | undefined;\n const injectedMap = (map ?? null) as Map | null;\n\n return {\n map,\n useDynamicMapService: (options: Parameters<typeof useDynamicMapService>[0]) =>\n useDynamicMapService({ ...options, map: injectedMap }),\n useTiledMapService: (options: Parameters<typeof useTiledMapService>[0]) =>\n useTiledMapService({ ...options, map: injectedMap }),\n useImageService: (options: Parameters<typeof useImageService>[0]) =>\n useImageService({ ...options, map: injectedMap }),\n useVectorTileService: (options: Parameters<typeof useVectorTileService>[0]) =>\n useVectorTileService({ ...options, map: injectedMap }),\n useFeatureService: (options: Parameters<typeof useFeatureService>[0]) =>\n useFeatureService({ ...options, map: injectedMap }),\n };\n}\n","import { useMap } from 'react-map-gl/mapbox';\nimport { createEsriLayerHooks } from './createEsriLayerHooks';\n\n/**\n * Hook for using Esri services with Mapbox GL JS (via react-map-gl)\n */\nexport function useEsriMapboxLayer() {\n const collection = useMap();\n return createEsriLayerHooks(collection);\n}\n","import { useMap } from 'react-map-gl/maplibre';\nimport { createEsriLayerHooks } from './createEsriLayerHooks';\n\n/**\n * Hook for using Esri services with MapLibre GL JS (via react-map-gl/maplibre)\n */\nexport function useEsriMaplibreLayer() {\n const collection = useMap();\n return createEsriLayerHooks(collection);\n}\n"],"names":["EMPTY_COLLECTION","current","withFallback","fn","normalizeCollection","collection","useReactMapGL","mapboxCollection","useMapMapbox","maplibreCollection","useMapMaplibre","applyAuthOptions","options","props","target","token","undefined","apiKey","authentication","proxy","getAttributionFromService","requestParams","fetchOptions","useMapLoaded","map","isLoaded","setIsLoaded","useState","useEffect","mapInstance","getMap","isStyleLoaded","handleLoad","once","off","useRasterLayer","layerId","sourceId","beforeId","visible","serviceDeps","createService","isMapLoaded","service","setService","createServiceRef","useRef","addLayer","svc","sourceReady","getSource","Boolean","getLayer","layerConfig","id","type","source","layout","visibility","err","process","env","NODE_ENV","console","warn","getStyle","removeLayer","remove","EsriDynamicLayer","url","layers","layerDefs","format","dpi","transparent","resolvedSourceId","DynamicMapService","EsriTiledLayer","TiledMapService","EsriImageLayer","renderingRule","mosaicRule","ImageService","EsriVectorTileLayer","serviceRef","layerIdsRef","layerApi","cancelled","VectorTileService","then","esriRequest","httpMethod","data","addedIds","layer","paint","filter","minzoom","maxzoom","push","catch","EsriVectorBasemapLayer","useMemo","auth","language","worldview","VectorBasemapStyle","basemapEnum","EsriFeatureLayer","paintRef","layoutRef","where","outFields","FeatureService","layerType","defaultPaint","EsriPortalLayer","itemId","portal","serviceFromPortalItem","result","onResolve","kind","styled","style","createEsriLayerHooks","injectedMap","useDynamicMapService","useTiledMapService","useImageService","useVectorTileService","useFeatureService","useEsriMapboxLayer","useMap","useEsriMaplibreLayer"],"mappings":"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"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { U as UseEsriServiceResult, a as UseVectorBasemapStyleOptions, b as UseIdentifyFeaturesOptions, c as UseIdentifyImageOptions, d as UseQueryOptions, e as UseFindOptions, E as EsriServiceProviderProps,
|
|
2
|
-
export {
|
|
1
|
+
import { U as UseEsriServiceResult, a as UseVectorBasemapStyleOptions, b as UseIdentifyFeaturesOptions, c as UseIdentifyImageOptions, d as UseQueryOptions, e as UseFindOptions, f as UseFeatureEditingResult, g as UsePortalItemOptions, h as UsePortalItemResult, E as EsriServiceProviderProps, i as EsriLayerProps } from './useFeatureService-CG70gjQy.js';
|
|
2
|
+
export { j as UseDynamicMapServiceOptions, k as UseEsriServiceOptions, l as UseFeatureServiceOptions, m as UseImageServiceOptions, n as UseTiledMapServiceOptions, o as UseVectorTileServiceOptions, u as useDynamicMapService, p as useFeatureService, q as useImageService, r as useTiledMapService, s as useVectorTileService } from './useFeatureService-CG70gjQy.js';
|
|
3
3
|
import { Map } from 'maplibre-gl';
|
|
4
4
|
export { Map } from 'maplibre-gl';
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
5
|
+
import { j as VectorBasemapStyle, k as IdentifyImage, i as FeatureService } from './index-Doq93o-G.js';
|
|
6
|
+
export { l as AGOLServiceError, A as ApplyEditsResult, m as AttachmentInfo, B as BatchLayerOperation, n as BetweenFilter, C as ComparisonFilter, o as ComparisonOp, p as DynamicLayer, D as DynamicMapService, a as EditResult, q as EsriAuthOptions, r as EsriAuthentication, s as EsriDrawingInfo, t as EsriDynamicMapLayerSource, u as EsriRenderer, v as EsriRequestOptions, E as EsriServiceOptions, w as EsriTextSymbol, x as Extent, F as FeatureServiceOptions, y as FeatureSet, z as FieldInfo, G as Find, H as GroupFilter, J as IdentifyFeatures, g as ImageService, c as ImageServiceOptions, K as InFilter, L as LayerFilter, M as LayerInfo, N as LayerLabelingInfo, O as LayerMetadata, Q as LayerQueryOptions, R as LayerScaleRange, S as LayerSpecification, U as LayerTimeOptions, W as LayerUpdateEvent, X as LayerUpdateType, Y as LegendInfo, Z as LogicalOp, _ as MapExportOptions, $ as NullFilter, a0 as PaginatedFeatureCollection, P as PortalItemServiceOptions, a1 as PortalRequestOptions, d as PortalResolvedService, e as PortalServiceKind, a2 as PortalServiceResult, a3 as Query, a4 as RasterSourceOptions, a5 as Service, a6 as ServiceErrorEvent, a7 as ServiceEventType, a8 as ServiceMetadata, a9 as SourceSpecification, aa as StatisticResult, ab as Task, T as TiledMapService, ac as TimeAnimationOptions, V as VectorBasemapStyleOptions, ad as VectorSourceOptions, h as VectorTileService, f as VectorTileServiceOptions, ae as WebMapOptions, af as cleanTrailingSlash, ag as esriRequest, ah as find, ai as getServiceDetails, aj as identifyImage, ak as query, al as resolveAuthentication, am as searchPortalItems, an as serviceFromPortalItem, ao as servicesFromWebMap, ap as updateAttribution } from './index-Doq93o-G.js';
|
|
7
7
|
import * as geojson from 'geojson';
|
|
8
8
|
import React from 'react';
|
|
9
|
+
export { ApiKeyManager, ApplicationCredentialsManager, ArcGISAuthError, ArcGISIdentityManager, ArcGISRequestError, FieldType, GeometryType, IAuthenticationManager, ICodedValue, IDomain, IExtent, IFeature, IFeatureSet, IField, IGeometry, IHasZM, IMultipoint, IPoint, IPolygon, IPolyline, IRequestOptions, ISpatialReference, Units } from '@esri/arcgis-rest-request';
|
|
10
|
+
export { IAddAttachmentOptions, IAddFeaturesOptions, IAllLayersAndTablesResponse, IApplyEditsOptions, IApplyEditsResult, IAttachmentInfo, IDecodeValuesOptions, IDeleteAttachmentsOptions, IDeleteFeaturesOptions, IEditFeatureResult, IFeatureServiceDefinition, IGetAttachmentsOptions, IGetFeatureOptions, IGetLayerOptions, ILayer, ILayerDefinition, IOrderByField, IQueryAllFeaturesOptions, IQueryAllFeaturesResponse, IQueryFeaturesOptions, IQueryFeaturesResponse, IQueryRelatedOptions, IQueryRelatedResponse, IQueryResponse, IRelatedRecordGroup, IRelatedRecordsInfo, ISharedEditOptions, ISharedQueryOptions, IStatisticDefinition } from '@esri/arcgis-rest-feature-service';
|
|
11
|
+
export { BasemapStyleSession, IStartSessionParams, StyleFamily } from '@esri/arcgis-rest-basemap-sessions';
|
|
12
|
+
export { IGroup, IItem, IPagingParams, ISearchOptions, ISearchResult, IUser, SearchQueryBuilder } from '@esri/arcgis-rest-portal';
|
|
9
13
|
|
|
10
14
|
interface RemovableService {
|
|
11
15
|
remove(): void;
|
|
@@ -13,7 +17,13 @@ interface RemovableService {
|
|
|
13
17
|
/**
|
|
14
18
|
* Base hook for managing Esri services lifecycle
|
|
15
19
|
*/
|
|
16
|
-
declare function useEsriService<T extends RemovableService>(createService: (map: Map) => T, map: Map | null
|
|
20
|
+
declare function useEsriService<T extends RemovableService>(createService: (map: Map) => T, map: Map | null,
|
|
21
|
+
/**
|
|
22
|
+
* Values that, when changed, rebuild the service (and its source). Pass the
|
|
23
|
+
* service-defining options (e.g. `url`, `token`) so option changes are
|
|
24
|
+
* reflected; the base hook otherwise only rebuilds when `map` changes.
|
|
25
|
+
*/
|
|
26
|
+
deps?: ReadonlyArray<unknown>): UseEsriServiceResult<T>;
|
|
17
27
|
|
|
18
28
|
/**
|
|
19
29
|
* Hook for managing VectorBasemapStyle lifecycle
|
|
@@ -69,33 +79,18 @@ declare function useFind({ url, searchText, layers, searchFields }: UseFindOptio
|
|
|
69
79
|
error: Error | null;
|
|
70
80
|
};
|
|
71
81
|
|
|
72
|
-
interface UseFeatureEditingResult {
|
|
73
|
-
addFeatures: (features: GeoJSON.Feature[], options?: {
|
|
74
|
-
gdbVersion?: string;
|
|
75
|
-
}) => Promise<EditResult[]>;
|
|
76
|
-
updateFeatures: (features: GeoJSON.Feature[], options?: {
|
|
77
|
-
gdbVersion?: string;
|
|
78
|
-
}) => Promise<EditResult[]>;
|
|
79
|
-
deleteFeatures: (params: {
|
|
80
|
-
objectIds?: number[];
|
|
81
|
-
where?: string;
|
|
82
|
-
}) => Promise<EditResult[]>;
|
|
83
|
-
applyEdits: (edits: {
|
|
84
|
-
adds?: GeoJSON.Feature[];
|
|
85
|
-
updates?: GeoJSON.Feature[];
|
|
86
|
-
deletes?: number[];
|
|
87
|
-
}, options?: {
|
|
88
|
-
gdbVersion?: string;
|
|
89
|
-
}) => Promise<ApplyEditsResult>;
|
|
90
|
-
loading: boolean;
|
|
91
|
-
error: Error | null;
|
|
92
|
-
lastResult: EditResult[] | ApplyEditsResult | null;
|
|
93
|
-
}
|
|
94
82
|
/**
|
|
95
83
|
* Hook for feature editing operations on a FeatureService
|
|
96
84
|
*/
|
|
97
85
|
declare function useFeatureEditing(service: FeatureService | null): UseFeatureEditingResult;
|
|
98
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Resolve an ArcGIS portal item id to an esri-gl service (adding its source to
|
|
89
|
+
* the map) via {@link serviceFromPortalItem}. Re-resolves when `itemId` / `map`
|
|
90
|
+
* change and cleans up the previous service.
|
|
91
|
+
*/
|
|
92
|
+
declare function usePortalItem({ sourceId, map, itemId, options, }: UsePortalItemOptions): UsePortalItemResult;
|
|
93
|
+
|
|
99
94
|
interface EsriServiceContextValue {
|
|
100
95
|
map: Map | null;
|
|
101
96
|
}
|
|
@@ -113,4 +108,4 @@ declare function useEsriMap(): Map | null;
|
|
|
113
108
|
*/
|
|
114
109
|
declare function EsriLayer({ sourceId, layerId, type, paint, layout, beforeId, }: EsriLayerProps): null;
|
|
115
110
|
|
|
116
|
-
export {
|
|
111
|
+
export { EsriLayer, EsriLayerProps, EsriServiceProvider, EsriServiceProviderProps, FeatureService, IdentifyImage, UseEsriServiceResult, UseFeatureEditingResult, UseFindOptions, UseIdentifyFeaturesOptions, UseIdentifyImageOptions, UsePortalItemOptions, UsePortalItemResult, UseQueryOptions, UseVectorBasemapStyleOptions, VectorBasemapStyle, useEsriMap, useEsriService, useFeatureEditing, useFind, useIdentifyFeatures, useIdentifyImage, usePortalItem, useQuery, useVectorBasemapStyle };
|