{"version":3,"file":"static/chunks/5365-134df9933fc0b35c.js","mappings":"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","sources":["webpack://_N_E/./node_modules/mapbox-gl/dist/mapbox-gl.css","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/use-map.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/transform.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/style-utils.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/deep-equal.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/mapbox/mapbox.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/mapbox/create-ref.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/use-isomorphic-layout-effect.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/set-globals.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/map.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/utils/apply-react-style.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/marker.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/popup.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/use-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/attribution-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/fullscreen-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/geolocate-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/navigation-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/scale-control.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/source.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/components/layer.js","webpack://_N_E/./node_modules/react-map-gl/dist/esm/index.js","webpack://_N_E/"],"sourcesContent":["// extracted by mini-css-extract-plugin","import * as React from 'react';\nimport { useState, useCallback, useMemo, useContext } from 'react';\nimport { MapContext } from './map';\nexport const MountedMapsContext = React.createContext(null);\nexport const MapProvider = props => {\n const [maps, setMaps] = useState({});\n const onMapMount = useCallback((map, id = 'default') => {\n setMaps(currMaps => {\n if (id === 'current') {\n throw new Error(\"'current' cannot be used as map id\");\n }\n if (currMaps[id]) {\n throw new Error(`Multiple maps with the same id: ${id}`);\n }\n return { ...currMaps, [id]: map };\n });\n }, []);\n const onMapUnmount = useCallback((id = 'default') => {\n setMaps(currMaps => {\n if (currMaps[id]) {\n const nextMaps = { ...currMaps };\n delete nextMaps[id];\n return nextMaps;\n }\n return currMaps;\n });\n }, []);\n return (React.createElement(MountedMapsContext.Provider, { value: {\n maps,\n onMapMount,\n onMapUnmount\n } }, props.children));\n};\nexport function useMap() {\n var _a;\n const maps = (_a = useContext(MountedMapsContext)) === null || _a === void 0 ? void 0 : _a.maps;\n const currentMap = useContext(MapContext);\n const mapsWithCurrent = useMemo(() => {\n return { ...maps, current: currentMap === null || currentMap === void 0 ? void 0 : currentMap.map };\n }, [maps, currentMap]);\n return mapsWithCurrent;\n}\n//# sourceMappingURL=use-map.js.map","/**\n * Make a copy of a transform\n * @param tr\n */\nexport function cloneTransform(tr) {\n const newTransform = tr.clone();\n // Work around mapbox bug - this value is not assigned in clone(), only in resize()\n newTransform.pixelsToGLUnits = tr.pixelsToGLUnits;\n return newTransform;\n}\n/**\n * Capture a transform's current state\n * @param transform\n * @returns descriptor of the view state\n */\nexport function transformToViewState(tr) {\n return {\n longitude: tr.center.lng,\n latitude: tr.center.lat,\n zoom: tr.zoom,\n pitch: tr.pitch,\n bearing: tr.bearing,\n padding: tr.padding\n };\n}\n/* eslint-disable complexity */\n/**\n * Mutate a transform to match the given view state\n * @param transform\n * @param viewState\n * @returns true if the transform has changed\n */\nexport function applyViewStateToTransform(tr, props) {\n const v = props.viewState || props;\n let changed = false;\n if ('longitude' in v && 'latitude' in v) {\n const center = tr.center;\n // @ts-ignore\n tr.center = new center.constructor(v.longitude, v.latitude);\n changed = changed || center !== tr.center;\n }\n if ('zoom' in v) {\n const zoom = tr.zoom;\n tr.zoom = v.zoom;\n changed = changed || zoom !== tr.zoom;\n }\n if ('bearing' in v) {\n const bearing = tr.bearing;\n tr.bearing = v.bearing;\n changed = changed || bearing !== tr.bearing;\n }\n if ('pitch' in v) {\n const pitch = tr.pitch;\n tr.pitch = v.pitch;\n changed = changed || pitch !== tr.pitch;\n }\n if (v.padding && !tr.isPaddingEqual(v.padding)) {\n changed = true;\n tr.padding = v.padding;\n }\n return changed;\n}\n//# sourceMappingURL=transform.js.map","const refProps = ['type', 'source', 'source-layer', 'minzoom', 'maxzoom', 'filter', 'layout'];\n// Prepare a map style object for diffing\n// If immutable - convert to plain object\n// Work around some issues in older styles that would fail Mapbox's diffing\nexport function normalizeStyle(style) {\n if (!style) {\n return null;\n }\n if (typeof style === 'string') {\n return style;\n }\n if ('toJS' in style) {\n style = style.toJS();\n }\n if (!style.layers) {\n return style;\n }\n const layerIndex = {};\n for (const layer of style.layers) {\n layerIndex[layer.id] = layer;\n }\n const layers = style.layers.map(layer => {\n // @ts-expect-error\n const layerRef = layerIndex[layer.ref];\n let normalizedLayer = null;\n if ('interactive' in layer) {\n normalizedLayer = { ...layer };\n // Breaks style diffing :(\n delete normalizedLayer.interactive;\n }\n // Style diffing doesn't work with refs so expand them out manually before diffing.\n if (layerRef) {\n normalizedLayer = normalizedLayer || { ...layer };\n delete normalizedLayer.ref;\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/deref.js\n for (const propName of refProps) {\n if (propName in layerRef) {\n normalizedLayer[propName] = layerRef[propName];\n }\n }\n }\n return normalizedLayer || layer;\n });\n // Do not mutate the style object provided by the user\n return { ...style, layers };\n}\n//# sourceMappingURL=style-utils.js.map","/**\n * Compare two points\n * @param a\n * @param b\n * @returns true if the points are equal\n */\nexport function arePointsEqual(a, b) {\n const ax = Array.isArray(a) ? a[0] : a ? a.x : 0;\n const ay = Array.isArray(a) ? a[1] : a ? a.y : 0;\n const bx = Array.isArray(b) ? b[0] : b ? b.x : 0;\n const by = Array.isArray(b) ? b[1] : b ? b.y : 0;\n return ax === bx && ay === by;\n}\n/* eslint-disable complexity */\n/**\n * Compare any two objects\n * @param a\n * @param b\n * @returns true if the objects are deep equal\n */\nexport function deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n else if (Array.isArray(b)) {\n return false;\n }\n if (typeof a === 'object' && typeof b === 'object') {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n for (const key of aKeys) {\n if (!b.hasOwnProperty(key)) {\n return false;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n//# sourceMappingURL=deep-equal.js.map","import { transformToViewState, applyViewStateToTransform, cloneTransform } from '../utils/transform';\nimport { normalizeStyle } from '../utils/style-utils';\nimport { deepEqual } from '../utils/deep-equal';\nconst pointerEvents = {\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n click: 'onClick',\n dblclick: 'onDblClick',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n mouseout: 'onMouseOut',\n contextmenu: 'onContextMenu',\n touchstart: 'onTouchStart',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchcancel: 'onTouchCancel'\n};\nconst cameraEvents = {\n movestart: 'onMoveStart',\n move: 'onMove',\n moveend: 'onMoveEnd',\n dragstart: 'onDragStart',\n drag: 'onDrag',\n dragend: 'onDragEnd',\n zoomstart: 'onZoomStart',\n zoom: 'onZoom',\n zoomend: 'onZoomEnd',\n rotatestart: 'onRotateStart',\n rotate: 'onRotate',\n rotateend: 'onRotateEnd',\n pitchstart: 'onPitchStart',\n pitch: 'onPitch',\n pitchend: 'onPitchEnd'\n};\nconst otherEvents = {\n wheel: 'onWheel',\n boxzoomstart: 'onBoxZoomStart',\n boxzoomend: 'onBoxZoomEnd',\n boxzoomcancel: 'onBoxZoomCancel',\n resize: 'onResize',\n load: 'onLoad',\n render: 'onRender',\n idle: 'onIdle',\n remove: 'onRemove',\n data: 'onData',\n styledata: 'onStyleData',\n sourcedata: 'onSourceData',\n error: 'onError'\n};\nconst settingNames = [\n 'minZoom',\n 'maxZoom',\n 'minPitch',\n 'maxPitch',\n 'maxBounds',\n 'projection',\n 'renderWorldCopies'\n];\nconst handlerNames = [\n 'scrollZoom',\n 'boxZoom',\n 'dragRotate',\n 'dragPan',\n 'keyboard',\n 'doubleClickZoom',\n 'touchZoomRotate',\n 'touchPitch'\n];\n/**\n * A wrapper for mapbox-gl's Map class\n */\nexport default class Mapbox {\n constructor(MapClass, props, container) {\n // mapboxgl.Map instance. Not using type here because we are accessing\n // private members and methods\n this._map = null;\n // Internal states\n this._internalUpdate = false;\n this._inRender = false;\n this._hoveredFeatures = null;\n this._deferredEvents = {\n move: false,\n zoom: false,\n pitch: false,\n rotate: false\n };\n this._onEvent = (e) => {\n // @ts-ignore\n const cb = this.props[otherEvents[e.type]];\n if (cb) {\n cb(e);\n }\n };\n this._onPointerEvent = (e) => {\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n this._updateHover(e);\n }\n // @ts-ignore\n const cb = this.props[pointerEvents[e.type]];\n if (cb) {\n if (this.props.interactiveLayerIds && e.type !== 'mouseover' && e.type !== 'mouseout') {\n e.features = this._hoveredFeatures || this._queryRenderedFeatures(e.point);\n }\n cb(e);\n delete e.features;\n }\n };\n this._onCameraEvent = (e) => {\n if (!this._internalUpdate) {\n // @ts-ignore\n const cb = this.props[cameraEvents[e.type]];\n if (cb) {\n cb(e);\n }\n }\n if (e.type in this._deferredEvents) {\n this._deferredEvents[e.type] = false;\n }\n };\n this._MapClass = MapClass;\n this.props = props;\n this._initialize(container);\n }\n get map() {\n return this._map;\n }\n get transform() {\n return this._renderTransform;\n }\n setProps(props) {\n const oldProps = this.props;\n this.props = props;\n const settingsChanged = this._updateSettings(props, oldProps);\n if (settingsChanged) {\n this._createShadowTransform(this._map);\n }\n const sizeChanged = this._updateSize(props);\n const viewStateChanged = this._updateViewState(props, true);\n this._updateStyle(props, oldProps);\n this._updateStyleComponents(props, oldProps);\n this._updateHandlers(props, oldProps);\n // If 1) view state has changed to match props and\n // 2) the props change is not triggered by map events,\n // it's driven by an external state change. Redraw immediately\n if (settingsChanged || sizeChanged || (viewStateChanged && !this._map.isMoving())) {\n this.redraw();\n }\n }\n static reuse(props, container) {\n const that = Mapbox.savedMaps.pop();\n if (!that) {\n return null;\n }\n const map = that.map;\n // When reusing the saved map, we need to reparent the map(canvas) and other child nodes\n // intoto the new container from the props.\n // Step 1: reparenting child nodes from old container to new container\n const oldContainer = map.getContainer();\n container.className = oldContainer.className;\n while (oldContainer.childNodes.length > 0) {\n container.appendChild(oldContainer.childNodes[0]);\n }\n // Step 2: replace the internal container with new container from the react component\n // @ts-ignore\n map._container = container;\n // With maplibre-gl as mapLib, map uses ResizeObserver to observe when its container resizes.\n // When reusing the saved map, we need to disconnect the observer and observe the new container.\n // Step 3: telling the ResizeObserver to disconnect and observe the new container\n // @ts-ignore\n const resizeObserver = map._resizeObserver;\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver.observe(container);\n }\n // Step 4: apply new props\n that.setProps({ ...props, styleDiffing: false });\n map.resize();\n const { initialViewState } = props;\n if (initialViewState) {\n if (initialViewState.bounds) {\n map.fitBounds(initialViewState.bounds, { ...initialViewState.fitBoundsOptions, duration: 0 });\n }\n else {\n that._updateViewState(initialViewState, false);\n }\n }\n // Simulate load event\n if (map.isStyleLoaded()) {\n map.fire('load');\n }\n else {\n map.once('styledata', () => map.fire('load'));\n }\n // Force reload\n // @ts-ignore\n map._update();\n return that;\n }\n /* eslint-disable complexity,max-statements */\n _initialize(container) {\n const { props } = this;\n const mapOptions = {\n ...props,\n ...props.initialViewState,\n accessToken: props.mapboxAccessToken || getAccessTokenFromEnv() || null,\n container,\n style: normalizeStyle(props.mapStyle)\n };\n const viewState = mapOptions.initialViewState || mapOptions.viewState || mapOptions;\n Object.assign(mapOptions, {\n center: [viewState.longitude || 0, viewState.latitude || 0],\n zoom: viewState.zoom || 0,\n pitch: viewState.pitch || 0,\n bearing: viewState.bearing || 0\n });\n if (props.gl) {\n // eslint-disable-next-line\n const getContext = HTMLCanvasElement.prototype.getContext;\n // Hijack canvas.getContext to return our own WebGLContext\n // This will be called inside the mapboxgl.Map constructor\n // @ts-expect-error\n HTMLCanvasElement.prototype.getContext = () => {\n // Unhijack immediately\n HTMLCanvasElement.prototype.getContext = getContext;\n return props.gl;\n };\n }\n const map = new this._MapClass(mapOptions);\n // Props that are not part of constructor options\n if (viewState.padding) {\n map.setPadding(viewState.padding);\n }\n if (props.cursor) {\n map.getCanvas().style.cursor = props.cursor;\n }\n this._createShadowTransform(map);\n // Hack\n // Insert code into map's render cycle\n const renderMap = map._render;\n map._render = (arg) => {\n this._inRender = true;\n renderMap.call(map, arg);\n this._inRender = false;\n };\n const runRenderTaskQueue = map._renderTaskQueue.run;\n map._renderTaskQueue.run = (arg) => {\n runRenderTaskQueue.call(map._renderTaskQueue, arg);\n this._onBeforeRepaint();\n };\n map.on('render', () => this._onAfterRepaint());\n // Insert code into map's event pipeline\n const fireEvent = map.fire;\n map.fire = this._fireEvent.bind(this, fireEvent);\n // add listeners\n map.on('resize', () => {\n this._renderTransform.resize(map.transform.width, map.transform.height);\n });\n map.on('styledata', () => this._updateStyleComponents(this.props, {}));\n map.on('sourcedata', () => this._updateStyleComponents(this.props, {}));\n for (const eventName in pointerEvents) {\n map.on(eventName, this._onPointerEvent);\n }\n for (const eventName in cameraEvents) {\n map.on(eventName, this._onCameraEvent);\n }\n for (const eventName in otherEvents) {\n map.on(eventName, this._onEvent);\n }\n this._map = map;\n }\n /* eslint-enable complexity,max-statements */\n recycle() {\n // Clean up unnecessary elements before storing for reuse.\n const container = this.map.getContainer();\n const children = container.querySelector('[mapboxgl-children]');\n children === null || children === void 0 ? void 0 : children.remove();\n Mapbox.savedMaps.push(this);\n }\n destroy() {\n this._map.remove();\n }\n // Force redraw the map now. Typically resize() and jumpTo() is reflected in the next\n // render cycle, which is managed by Mapbox's animation loop.\n // This removes the synchronization issue caused by requestAnimationFrame.\n redraw() {\n const map = this._map;\n // map._render will throw error if style does not exist\n // https://github.com/mapbox/mapbox-gl-js/blob/fb9fc316da14e99ff4368f3e4faa3888fb43c513\n // /src/ui/map.js#L1834\n if (!this._inRender && map.style) {\n // cancel the scheduled update\n if (map._frame) {\n map._frame.cancel();\n map._frame = null;\n }\n // the order is important - render() may schedule another update\n map._render();\n }\n }\n _createShadowTransform(map) {\n const renderTransform = cloneTransform(map.transform);\n map.painter.transform = renderTransform;\n this._renderTransform = renderTransform;\n }\n /* Trigger map resize if size is controlled\n @param {object} nextProps\n @returns {bool} true if size has changed\n */\n _updateSize(nextProps) {\n // Check if size is controlled\n const { viewState } = nextProps;\n if (viewState) {\n const map = this._map;\n if (viewState.width !== map.transform.width || viewState.height !== map.transform.height) {\n map.resize();\n return true;\n }\n }\n return false;\n }\n // Adapted from map.jumpTo\n /* Update camera to match props\n @param {object} nextProps\n @param {bool} triggerEvents - should fire camera events\n @returns {bool} true if anything is changed\n */\n _updateViewState(nextProps, triggerEvents) {\n if (this._internalUpdate) {\n return false;\n }\n const map = this._map;\n const tr = this._renderTransform;\n // Take a snapshot of the transform before mutation\n const { zoom, pitch, bearing } = tr;\n const isMoving = map.isMoving();\n if (isMoving) {\n // All movement of the camera is done relative to the sea level\n tr.cameraElevationReference = 'sea';\n }\n const changed = applyViewStateToTransform(tr, {\n ...transformToViewState(map.transform),\n ...nextProps\n });\n if (isMoving) {\n // Reset camera reference\n tr.cameraElevationReference = 'ground';\n }\n if (changed && triggerEvents) {\n const deferredEvents = this._deferredEvents;\n // Delay DOM control updates to the next render cycle\n deferredEvents.move = true;\n deferredEvents.zoom || (deferredEvents.zoom = zoom !== tr.zoom);\n deferredEvents.rotate || (deferredEvents.rotate = bearing !== tr.bearing);\n deferredEvents.pitch || (deferredEvents.pitch = pitch !== tr.pitch);\n }\n // Avoid manipulating the real transform when interaction/animation is ongoing\n // as it would interfere with Mapbox's handlers\n if (!isMoving) {\n applyViewStateToTransform(map.transform, nextProps);\n }\n return changed;\n }\n /* Update camera constraints and projection settings to match props\n @param {object} nextProps\n @param {object} currProps\n @returns {bool} true if anything is changed\n */\n _updateSettings(nextProps, currProps) {\n const map = this._map;\n let changed = false;\n for (const propName of settingNames) {\n if (propName in nextProps && !deepEqual(nextProps[propName], currProps[propName])) {\n changed = true;\n map[`set${propName[0].toUpperCase()}${propName.slice(1)}`](nextProps[propName]);\n }\n }\n return changed;\n }\n /* Update map style to match props\n @param {object} nextProps\n @param {object} currProps\n @returns {bool} true if style is changed\n */\n _updateStyle(nextProps, currProps) {\n if (nextProps.cursor !== currProps.cursor) {\n this._map.getCanvas().style.cursor = nextProps.cursor;\n }\n if (nextProps.mapStyle !== currProps.mapStyle) {\n const options = {\n diff: nextProps.styleDiffing\n };\n if ('localIdeographFontFamily' in nextProps) {\n options.localIdeographFontFamily = nextProps.localIdeographFontFamily;\n }\n this._map.setStyle(normalizeStyle(nextProps.mapStyle), options);\n return true;\n }\n return false;\n }\n /* Update fog, light and terrain to match props\n @param {object} nextProps\n @param {object} currProps\n @returns {bool} true if anything is changed\n */\n _updateStyleComponents(nextProps, currProps) {\n const map = this._map;\n let changed = false;\n if (map.style.loaded()) {\n if ('light' in nextProps && !deepEqual(nextProps.light, currProps.light)) {\n changed = true;\n map.setLight(nextProps.light);\n }\n if ('fog' in nextProps && !deepEqual(nextProps.fog, currProps.fog)) {\n changed = true;\n map.setFog(nextProps.fog);\n }\n if ('terrain' in nextProps && !deepEqual(nextProps.terrain, currProps.terrain)) {\n if (!nextProps.terrain || map.getSource(nextProps.terrain.source)) {\n changed = true;\n map.setTerrain(nextProps.terrain);\n }\n }\n }\n return changed;\n }\n /* Update interaction handlers to match props\n @param {object} nextProps\n @param {object} currProps\n @returns {bool} true if anything is changed\n */\n _updateHandlers(nextProps, currProps) {\n const map = this._map;\n let changed = false;\n for (const propName of handlerNames) {\n const newValue = nextProps[propName];\n if (!deepEqual(newValue, currProps[propName])) {\n changed = true;\n if (newValue) {\n map[propName].enable(newValue);\n }\n else {\n map[propName].disable();\n }\n }\n }\n return changed;\n }\n _queryRenderedFeatures(point) {\n const map = this._map;\n const { interactiveLayerIds = [] } = this.props;\n try {\n return map.queryRenderedFeatures(point, {\n layers: interactiveLayerIds.filter(map.getLayer.bind(map))\n });\n }\n catch (_a) {\n // May fail if style is not loaded\n return [];\n }\n }\n _updateHover(e) {\n var _a;\n const { props } = this;\n const shouldTrackHoveredFeatures = props.interactiveLayerIds && (props.onMouseMove || props.onMouseEnter || props.onMouseLeave);\n if (shouldTrackHoveredFeatures) {\n const eventType = e.type;\n const wasHovering = ((_a = this._hoveredFeatures) === null || _a === void 0 ? void 0 : _a.length) > 0;\n const features = this._queryRenderedFeatures(e.point);\n const isHovering = features.length > 0;\n if (!isHovering && wasHovering) {\n e.type = 'mouseleave';\n this._onPointerEvent(e);\n }\n this._hoveredFeatures = features;\n if (isHovering && !wasHovering) {\n e.type = 'mouseenter';\n this._onPointerEvent(e);\n }\n e.type = eventType;\n }\n else {\n this._hoveredFeatures = null;\n }\n }\n _fireEvent(baseFire, event, properties) {\n const map = this._map;\n const tr = map.transform;\n const eventType = typeof event === 'string' ? event : event.type;\n if (eventType === 'move') {\n this._updateViewState(this.props, false);\n }\n if (eventType in cameraEvents) {\n if (typeof event === 'object') {\n event.viewState = transformToViewState(tr);\n }\n if (this._map.isMoving()) {\n // Replace map.transform with ours during the callbacks\n map.transform = this._renderTransform;\n baseFire.call(map, event, properties);\n map.transform = tr;\n return map;\n }\n }\n baseFire.call(map, event, properties);\n return map;\n }\n // All camera manipulations are complete, ready to repaint\n _onBeforeRepaint() {\n const map = this._map;\n // If there are camera changes driven by props, invoke camera events so that DOM controls are synced\n this._internalUpdate = true;\n for (const eventType in this._deferredEvents) {\n if (this._deferredEvents[eventType]) {\n map.fire(eventType);\n }\n }\n this._internalUpdate = false;\n const tr = this._map.transform;\n // Make sure camera matches the current props\n this._map.transform = this._renderTransform;\n this._onAfterRepaint = () => {\n // Restores camera state before render/load events are fired\n this._map.transform = tr;\n };\n }\n}\nMapbox.savedMaps = [];\n/**\n * Access token can be provided via one of:\n * mapboxAccessToken prop\n * access_token query parameter\n * MapboxAccessToken environment variable\n * REACT_APP_MAPBOX_ACCESS_TOKEN environment variable\n * @returns access token\n */\nfunction getAccessTokenFromEnv() {\n let accessToken = null;\n /* global location, process */\n if (typeof location !== 'undefined') {\n const match = /access_token=([^&\\/]*)/.exec(location.search);\n accessToken = match && match[1];\n }\n // Note: This depends on bundler plugins (e.g. webpack) importing environment correctly\n try {\n accessToken = accessToken || process.env.MapboxAccessToken;\n }\n catch (_a) {\n // ignore\n }\n try {\n accessToken = accessToken || process.env.REACT_APP_MAPBOX_ACCESS_TOKEN;\n }\n catch (_b) {\n // ignore\n }\n return accessToken;\n}\n//# sourceMappingURL=mapbox.js.map","/** These methods may break the react binding if called directly */\nconst skipMethods = [\n 'setMaxBounds',\n 'setMinZoom',\n 'setMaxZoom',\n 'setMinPitch',\n 'setMaxPitch',\n 'setRenderWorldCopies',\n 'setProjection',\n 'setStyle',\n 'addSource',\n 'removeSource',\n 'addLayer',\n 'removeLayer',\n 'setLayerZoomRange',\n 'setFilter',\n 'setPaintProperty',\n 'setLayoutProperty',\n 'setLight',\n 'setTerrain',\n 'setFog',\n 'remove'\n];\nexport default function createRef(mapInstance, mapLib) {\n if (!mapInstance) {\n return null;\n }\n const map = mapInstance.map;\n const result = {\n getMap: () => map,\n // Overwrite getters to use our shadow transform\n getCenter: () => mapInstance.transform.center,\n getZoom: () => mapInstance.transform.zoom,\n getBearing: () => mapInstance.transform.bearing,\n getPitch: () => mapInstance.transform.pitch,\n getPadding: () => mapInstance.transform.padding,\n getBounds: () => mapInstance.transform.getBounds(),\n project: (lnglat) => {\n return mapInstance.transform.locationPoint(mapLib.LngLat.convert(lnglat));\n },\n unproject: (point) => {\n return mapInstance.transform.pointLocation(mapLib.Point.convert(point));\n },\n queryTerrainElevation: (lnglat, options) => {\n // @ts-ignore transform not defined\n const tr = map.transform;\n // @ts-ignore transform not defined\n map.transform = mapInstance.transform;\n const result = map.queryTerrainElevation(lnglat, options);\n // @ts-ignore transform not defined\n map.transform = tr;\n return result;\n }\n };\n for (const key of getMethodNames(map)) {\n // @ts-expect-error\n if (!(key in result) && !skipMethods.includes(key)) {\n result[key] = map[key].bind(map);\n }\n }\n return result;\n}\nfunction getMethodNames(obj) {\n const result = new Set();\n let proto = obj;\n while (proto) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n if (key[0] !== '_' &&\n typeof obj[key] === 'function' &&\n key !== 'fire' &&\n key !== 'setEventedParent') {\n result.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return Array.from(result);\n}\n//# sourceMappingURL=create-ref.js.map","// From https://github.com/streamich/react-use/blob/master/src/useIsomorphicLayoutEffect.ts\n// useLayoutEffect but does not trigger warning in server-side rendering\nimport { useEffect, useLayoutEffect } from 'react';\nconst useIsomorphicLayoutEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n//# sourceMappingURL=use-isomorphic-layout-effect.js.map","const globalSettings = [\n 'baseApiUrl',\n 'maxParallelImageRequests',\n 'workerClass',\n 'workerCount',\n 'workerUrl'\n];\nexport default function setGlobals(mapLib, props) {\n for (const key of globalSettings) {\n if (key in props) {\n mapLib[key] = props[key];\n }\n }\n if (props.RTLTextPlugin &&\n mapLib.getRTLTextPluginStatus &&\n mapLib.getRTLTextPluginStatus() === 'unavailable') {\n mapLib.setRTLTextPlugin(props.RTLTextPlugin, (error) => {\n if (error) {\n // eslint-disable-next-line\n console.error(error);\n }\n }, false);\n }\n}\n//# sourceMappingURL=set-globals.js.map","import * as React from 'react';\nimport { useState, useRef, useEffect, useContext, useMemo, forwardRef, useImperativeHandle } from 'react';\nimport { MountedMapsContext } from './use-map';\nimport Mapbox from '../mapbox/mapbox';\nimport createRef from '../mapbox/create-ref';\nimport useIsomorphicLayoutEffect from '../utils/use-isomorphic-layout-effect';\nimport setGlobals from '../utils/set-globals';\nexport const MapContext = React.createContext(null);\nconst defaultProps = {\n // Constraints\n minZoom: 0,\n maxZoom: 22,\n minPitch: 0,\n maxPitch: 60,\n // Interaction handlers\n scrollZoom: true,\n boxZoom: true,\n dragRotate: true,\n dragPan: true,\n keyboard: true,\n doubleClickZoom: true,\n touchZoomRotate: true,\n touchPitch: true,\n // Style\n mapStyle: { version: 8, sources: {}, layers: [] },\n styleDiffing: true,\n projection: 'mercator',\n renderWorldCopies: true,\n // Callbacks\n onError: e => console.error(e.error),\n // Globals\n RTLTextPlugin: 'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js'\n};\nconst Map = forwardRef((props, ref) => {\n const mountedMapsContext = useContext(MountedMapsContext);\n const [mapInstance, setMapInstance] = useState(null);\n const containerRef = useRef();\n const { current: contextValue } = useRef({ mapLib: null, map: null });\n useEffect(() => {\n const mapLib = props.mapLib;\n let isMounted = true;\n let mapbox;\n Promise.resolve(mapLib || import('mapbox-gl'))\n .then(mapboxgl => {\n if (!isMounted) {\n return;\n }\n if (!mapboxgl.Map) {\n // commonjs style\n mapboxgl = mapboxgl.default;\n }\n if (!mapboxgl || !mapboxgl.Map) {\n throw new Error('Invalid mapLib');\n }\n // workerUrl & workerClass may change the result of supported()\n // https://github.com/visgl/react-map-gl/discussions/2027\n setGlobals(mapboxgl, props);\n if (!mapboxgl.supported || mapboxgl.supported(props)) {\n if (props.reuseMaps) {\n mapbox = Mapbox.reuse(props, containerRef.current);\n }\n if (!mapbox) {\n mapbox = new Mapbox(mapboxgl.Map, props, containerRef.current);\n }\n contextValue.map = createRef(mapbox, mapboxgl);\n contextValue.mapLib = mapboxgl;\n setMapInstance(mapbox);\n mountedMapsContext === null || mountedMapsContext === void 0 ? void 0 : mountedMapsContext.onMapMount(contextValue.map, props.id);\n }\n else {\n throw new Error('Map is not supported by this browser');\n }\n })\n .catch(error => {\n props.onError({\n type: 'error',\n target: null,\n originalEvent: null,\n error\n });\n });\n return () => {\n isMounted = false;\n if (mapbox) {\n mountedMapsContext === null || mountedMapsContext === void 0 ? void 0 : mountedMapsContext.onMapUnmount(props.id);\n if (props.reuseMaps) {\n mapbox.recycle();\n }\n else {\n mapbox.destroy();\n }\n }\n };\n }, []);\n useIsomorphicLayoutEffect(() => {\n if (mapInstance) {\n mapInstance.setProps(props);\n }\n });\n useImperativeHandle(ref, () => contextValue.map, [mapInstance]);\n const style = useMemo(() => ({\n position: 'relative',\n width: '100%',\n height: '100%',\n ...props.style\n }), [props.style]);\n const CHILD_CONTAINER_STYLE = {\n height: '100%'\n };\n return (React.createElement(\"div\", { id: props.id, ref: containerRef, style: style }, mapInstance && (React.createElement(MapContext.Provider, { value: contextValue },\n React.createElement(\"div\", { \"mapboxgl-children\": \"\", style: CHILD_CONTAINER_STYLE }, props.children)))));\n});\nMap.displayName = 'Map';\nMap.defaultProps = defaultProps;\nexport default Map;\n//# sourceMappingURL=map.js.map","// This is a simplified version of\n// https://github.com/facebook/react/blob/4131af3e4bf52f3a003537ec95a1655147c81270/src/renderers/dom/shared/CSSPropertyOperations.js#L62\nconst unitlessNumber = /box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;\nexport function applyReactStyle(element, styles) {\n if (!element || !styles) {\n return;\n }\n const style = element.style;\n for (const key in styles) {\n const value = styles[key];\n if (Number.isFinite(value) && !unitlessNumber.test(key)) {\n style[key] = `${value}px`;\n }\n else {\n style[key] = value;\n }\n }\n}\n//# sourceMappingURL=apply-react-style.js.map","/* global document */\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useEffect, useMemo, useRef, useContext } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport { MapContext } from './map';\nimport { arePointsEqual } from '../utils/deep-equal';\nconst defaultProps = {\n draggable: false,\n popup: null,\n rotation: 0,\n rotationAlignment: 'auto',\n pitchAlignment: 'auto'\n};\n/* eslint-disable complexity,max-statements */\nfunction Marker(props) {\n const { map, mapLib } = useContext(MapContext);\n const thisRef = useRef({ props });\n thisRef.current.props = props;\n const marker = useMemo(() => {\n let hasChildren = false;\n React.Children.forEach(props.children, el => {\n if (el) {\n hasChildren = true;\n }\n });\n const options = {\n ...props,\n element: hasChildren ? document.createElement('div') : null\n };\n const mk = new mapLib.Marker(options).setLngLat([props.longitude, props.latitude]);\n mk.getElement().addEventListener('click', (e) => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, {\n type: 'click',\n target: mk,\n originalEvent: e\n });\n });\n mk.on('dragstart', e => {\n var _a, _b;\n const evt = e;\n evt.lngLat = marker.getLngLat();\n (_b = (_a = thisRef.current.props).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n });\n mk.on('drag', e => {\n var _a, _b;\n const evt = e;\n evt.lngLat = marker.getLngLat();\n (_b = (_a = thisRef.current.props).onDrag) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n });\n mk.on('dragend', e => {\n var _a, _b;\n const evt = e;\n evt.lngLat = marker.getLngLat();\n (_b = (_a = thisRef.current.props).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n });\n return mk;\n }, []);\n useEffect(() => {\n marker.addTo(map.getMap());\n return () => {\n marker.remove();\n };\n }, []);\n useEffect(() => {\n applyReactStyle(marker.getElement(), props.style);\n }, [props.style]);\n if (marker.getLngLat().lng !== props.longitude || marker.getLngLat().lat !== props.latitude) {\n marker.setLngLat([props.longitude, props.latitude]);\n }\n if (props.offset && !arePointsEqual(marker.getOffset(), props.offset)) {\n marker.setOffset(props.offset);\n }\n if (marker.isDraggable() !== props.draggable) {\n marker.setDraggable(props.draggable);\n }\n if (marker.getRotation() !== props.rotation) {\n marker.setRotation(props.rotation);\n }\n if (marker.getRotationAlignment() !== props.rotationAlignment) {\n marker.setRotationAlignment(props.rotationAlignment);\n }\n if (marker.getPitchAlignment() !== props.pitchAlignment) {\n marker.setPitchAlignment(props.pitchAlignment);\n }\n if (marker.getPopup() !== props.popup) {\n marker.setPopup(props.popup);\n }\n return createPortal(props.children, marker.getElement());\n}\nMarker.defaultProps = defaultProps;\n// @ts-ignore\nexport default React.memo(Marker);\n//# sourceMappingURL=marker.js.map","/* global document */\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useEffect, useMemo, useRef, useContext } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport { MapContext } from './map';\nimport { deepEqual } from '../utils/deep-equal';\n// Adapted from https://github.com/mapbox/mapbox-gl-js/blob/v1.13.0/src/ui/popup.js\nfunction getClassList(className) {\n return new Set(className ? className.trim().split(/\\s+/) : []);\n}\n/* eslint-disable complexity,max-statements */\nfunction Popup(props) {\n const { map, mapLib } = useContext(MapContext);\n const container = useMemo(() => {\n return document.createElement('div');\n }, []);\n const thisRef = useRef({ props });\n thisRef.current.props = props;\n const popup = useMemo(() => {\n const options = { ...props };\n const pp = new mapLib.Popup(options).setLngLat([props.longitude, props.latitude]);\n pp.once('open', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onOpen) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n return pp;\n }, []);\n useEffect(() => {\n const onClose = e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onClose) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n popup.on('close', onClose);\n popup.setDOMContent(container).addTo(map.getMap());\n return () => {\n // https://github.com/visgl/react-map-gl/issues/1825\n // onClose should not be fired if the popup is removed by unmounting\n // When using React strict mode, the component is mounted twice.\n // Firing the onClose callback here would be a false signal to remove the component.\n popup.off('close', onClose);\n if (popup.isOpen()) {\n popup.remove();\n }\n };\n }, []);\n useEffect(() => {\n applyReactStyle(popup.getElement(), props.style);\n }, [props.style]);\n if (popup.isOpen()) {\n if (popup.getLngLat().lng !== props.longitude || popup.getLngLat().lat !== props.latitude) {\n popup.setLngLat([props.longitude, props.latitude]);\n }\n // @ts-ignore\n if (props.offset && !deepEqual(popup.options.offset, props.offset)) {\n popup.setOffset(props.offset);\n }\n // @ts-ignore\n if (popup.options.anchor !== props.anchor || popup.options.maxWidth !== props.maxWidth) {\n // @ts-ignore\n popup.options.anchor = props.anchor;\n popup.setMaxWidth(props.maxWidth);\n }\n // @ts-ignore\n if (popup.options.className !== props.className) {\n // @ts-ignore\n const prevClassList = getClassList(popup.options.className);\n const nextClassList = getClassList(props.className);\n for (const c of prevClassList) {\n if (!nextClassList.has(c)) {\n popup.removeClassName(c);\n }\n }\n for (const c of nextClassList) {\n if (!prevClassList.has(c)) {\n popup.addClassName(c);\n }\n }\n // @ts-ignore\n popup.options.className = props.className;\n }\n }\n return createPortal(props.children, container);\n}\n// @ts-ignore\nexport default React.memo(Popup);\n//# sourceMappingURL=popup.js.map","import { useContext, useMemo, useEffect } from 'react';\nimport { MapContext } from './map';\nfunction useControl(onCreate, arg1, arg2, arg3) {\n const context = useContext(MapContext);\n const ctrl = useMemo(() => onCreate(context), []);\n useEffect(() => {\n const opts = (arg3 || arg2 || arg1);\n const onAdd = typeof arg1 === 'function' && typeof arg2 === 'function' ? arg1 : null;\n const onRemove = typeof arg2 === 'function' ? arg2 : typeof arg1 === 'function' ? arg1 : null;\n const { map } = context;\n if (!map.hasControl(ctrl)) {\n map.addControl(ctrl, opts === null || opts === void 0 ? void 0 : opts.position);\n if (onAdd) {\n onAdd(context);\n }\n }\n return () => {\n if (onRemove) {\n onRemove(context);\n }\n // Map might have been removed (parent effects are destroyed before child ones)\n if (map.hasControl(ctrl)) {\n map.removeControl(ctrl);\n }\n };\n }, []);\n return ctrl;\n}\nexport default useControl;\n//# sourceMappingURL=use-control.js.map","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport useControl from './use-control';\nfunction AttributionControl(props) {\n const ctrl = useControl(({ mapLib }) => new mapLib.AttributionControl(props), {\n position: props.position\n });\n useEffect(() => {\n // @ts-ignore\n applyReactStyle(ctrl._container, props.style);\n }, [props.style]);\n return null;\n}\nexport default React.memo(AttributionControl);\n//# sourceMappingURL=attribution-control.js.map","/* global document */\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport useControl from './use-control';\nfunction FullscreenControl(props) {\n const ctrl = useControl(({ mapLib }) => new mapLib.FullscreenControl({\n container: props.containerId && document.getElementById(props.containerId)\n }), { position: props.position });\n useEffect(() => {\n // @ts-ignore\n applyReactStyle(ctrl._controlContainer, props.style);\n }, [props.style]);\n return null;\n}\nexport default React.memo(FullscreenControl);\n//# sourceMappingURL=fullscreen-control.js.map","import * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport useControl from './use-control';\nconst GeolocateControl = forwardRef((props, ref) => {\n const thisRef = useRef({ props });\n const ctrl = useControl(({ mapLib }) => {\n const gc = new mapLib.GeolocateControl(props);\n // Hack: fix GeolocateControl reuse\n // When using React strict mode, the component is mounted twice.\n // GeolocateControl's UI creation is asynchronous. Removing and adding it back causes the UI to be initialized twice.\n const setupUI = gc._setupUI;\n gc._setupUI = args => {\n if (!gc._container.hasChildNodes()) {\n setupUI(args);\n }\n };\n gc.on('geolocate', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onGeolocate) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n gc.on('error', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onError) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n gc.on('outofmaxbounds', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onOutOfMaxBounds) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n gc.on('trackuserlocationstart', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onTrackUserLocationStart) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n gc.on('trackuserlocationend', e => {\n var _a, _b;\n (_b = (_a = thisRef.current.props).onTrackUserLocationEnd) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n });\n return gc;\n }, { position: props.position });\n thisRef.current.props = props;\n useImperativeHandle(ref, () => ({\n trigger: () => ctrl.trigger()\n }), []);\n useEffect(() => {\n // @ts-ignore\n applyReactStyle(ctrl._container, props.style);\n }, [props.style]);\n return null;\n});\nGeolocateControl.displayName = 'GeolocateControl';\nexport default React.memo(GeolocateControl);\n//# sourceMappingURL=geolocate-control.js.map","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport useControl from './use-control';\nfunction NavigationControl(props) {\n const ctrl = useControl(({ mapLib }) => new mapLib.NavigationControl(props), {\n position: props.position\n });\n useEffect(() => {\n // @ts-ignore\n applyReactStyle(ctrl._container, props.style);\n }, [props.style]);\n return null;\n}\nexport default React.memo(NavigationControl);\n//# sourceMappingURL=navigation-control.js.map","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { applyReactStyle } from '../utils/apply-react-style';\nimport useControl from './use-control';\nconst defaultProps = {\n unit: 'metric',\n maxWidth: 100\n};\nfunction ScaleControl(props) {\n const ctrl = useControl(({ mapLib }) => new mapLib.ScaleControl(props), {\n position: props.position\n });\n // @ts-ignore\n if (ctrl.options.unit !== props.unit || ctrl.options.maxWidth !== props.maxWidth) {\n // @ts-ignore\n ctrl.options.maxWidth = props.maxWidth;\n // This method will trigger an update\n ctrl.setUnit(props.unit);\n }\n useEffect(() => {\n // @ts-ignore\n applyReactStyle(ctrl._container, props.style);\n }, [props.style]);\n return null;\n}\nScaleControl.defaultProps = defaultProps;\nexport default React.memo(ScaleControl);\n//# sourceMappingURL=scale-control.js.map","import * as React from 'react';\nimport { useContext, useEffect, useMemo, useState, useRef } from 'react';\nimport { cloneElement } from 'react';\nimport { MapContext } from './map';\nimport assert from '../utils/assert';\nimport { deepEqual } from '../utils/deep-equal';\nlet sourceCounter = 0;\nfunction createSource(map, id, props) {\n // @ts-ignore\n if (map.style && map.style._loaded) {\n const options = { ...props };\n delete options.id;\n delete options.children;\n // @ts-ignore\n map.addSource(id, options);\n return map.getSource(id);\n }\n return null;\n}\n/* eslint-disable complexity */\nfunction updateSource(source, props, prevProps) {\n assert(props.id === prevProps.id, 'source id changed');\n assert(props.type === prevProps.type, 'source type changed');\n let changedKey = '';\n let changedKeyCount = 0;\n for (const key in props) {\n if (key !== 'children' && key !== 'id' && !deepEqual(prevProps[key], props[key])) {\n changedKey = key;\n changedKeyCount++;\n }\n }\n if (!changedKeyCount) {\n return;\n }\n const type = props.type;\n if (type === 'geojson') {\n source.setData(props.data);\n }\n else if (type === 'image') {\n source.updateImage({ url: props.url, coordinates: props.coordinates });\n }\n else if ((type === 'canvas' || type === 'video') &&\n changedKeyCount === 1 &&\n changedKey === 'coordinates') {\n source.setCoordinates(props.coordinates);\n }\n else if (type === 'vector' && 'setUrl' in source) {\n // Added in 1.12.0:\n // vectorTileSource.setTiles\n // vectorTileSource.setUrl\n switch (changedKey) {\n case 'url':\n source.setUrl(props.url);\n break;\n case 'tiles':\n source.setTiles(props.tiles);\n break;\n default:\n }\n }\n else {\n // eslint-disable-next-line\n console.warn(`Unable to update prop: ${changedKey}`);\n }\n}\n/* eslint-enable complexity */\nfunction Source(props) {\n const map = useContext(MapContext).map.getMap();\n const propsRef = useRef(props);\n const [, setStyleLoaded] = useState(0);\n const id = useMemo(() => props.id || `jsx-source-${sourceCounter++}`, []);\n useEffect(() => {\n if (map) {\n const forceUpdate = () => setTimeout(() => setStyleLoaded(version => version + 1), 0);\n map.on('styledata', forceUpdate);\n forceUpdate();\n return () => {\n var _a;\n map.off('styledata', forceUpdate);\n // @ts-ignore\n if (map.style && map.style._loaded && map.getSource(id)) {\n // Parent effects are destroyed before child ones, see\n // https://github.com/facebook/react/issues/16728\n // Source can only be removed after all child layers are removed\n const allLayers = (_a = map.getStyle()) === null || _a === void 0 ? void 0 : _a.layers;\n if (allLayers) {\n for (const layer of allLayers) {\n // @ts-ignore (2339) source does not exist on all layer types\n if (layer.source === id) {\n map.removeLayer(layer.id);\n }\n }\n }\n map.removeSource(id);\n }\n };\n }\n return undefined;\n }, [map]);\n // @ts-ignore\n let source = map && map.style && map.getSource(id);\n if (source) {\n updateSource(source, props, propsRef.current);\n }\n else {\n source = createSource(map, id, props);\n }\n propsRef.current = props;\n return ((source &&\n React.Children.map(props.children, child => child &&\n cloneElement(child, {\n source: id\n }))) ||\n null);\n}\nexport default Source;\n//# sourceMappingURL=source.js.map","import { useContext, useEffect, useMemo, useState, useRef } from 'react';\nimport { MapContext } from './map';\nimport assert from '../utils/assert';\nimport { deepEqual } from '../utils/deep-equal';\n/* eslint-disable complexity, max-statements */\nfunction updateLayer(map, id, props, prevProps) {\n assert(props.id === prevProps.id, 'layer id changed');\n assert(props.type === prevProps.type, 'layer type changed');\n if (props.type === 'custom' || prevProps.type === 'custom') {\n return;\n }\n const { layout = {}, paint = {}, filter, minzoom, maxzoom, beforeId } = props;\n if (beforeId !== prevProps.beforeId) {\n map.moveLayer(id, beforeId);\n }\n if (layout !== prevProps.layout) {\n const prevLayout = prevProps.layout || {};\n for (const key in layout) {\n if (!deepEqual(layout[key], prevLayout[key])) {\n map.setLayoutProperty(id, key, layout[key]);\n }\n }\n for (const key in prevLayout) {\n if (!layout.hasOwnProperty(key)) {\n map.setLayoutProperty(id, key, undefined);\n }\n }\n }\n if (paint !== prevProps.paint) {\n const prevPaint = prevProps.paint || {};\n for (const key in paint) {\n if (!deepEqual(paint[key], prevPaint[key])) {\n map.setPaintProperty(id, key, paint[key]);\n }\n }\n for (const key in prevPaint) {\n if (!paint.hasOwnProperty(key)) {\n map.setPaintProperty(id, key, undefined);\n }\n }\n }\n if (!deepEqual(filter, prevProps.filter)) {\n map.setFilter(id, filter);\n }\n if (minzoom !== prevProps.minzoom || maxzoom !== prevProps.maxzoom) {\n map.setLayerZoomRange(id, minzoom, maxzoom);\n }\n}\nfunction createLayer(map, id, props) {\n // @ts-ignore\n if (map.style && map.style._loaded && (!('source' in props) || map.getSource(props.source))) {\n const options = { ...props, id };\n delete options.beforeId;\n // @ts-ignore\n map.addLayer(options, props.beforeId);\n }\n}\n/* eslint-enable complexity, max-statements */\nlet layerCounter = 0;\nfunction Layer(props) {\n const map = useContext(MapContext).map.getMap();\n const propsRef = useRef(props);\n const [, setStyleLoaded] = useState(0);\n const id = useMemo(() => props.id || `jsx-layer-${layerCounter++}`, []);\n useEffect(() => {\n if (map) {\n const forceUpdate = () => setStyleLoaded(version => version + 1);\n map.on('styledata', forceUpdate);\n forceUpdate();\n return () => {\n map.off('styledata', forceUpdate);\n // @ts-ignore\n if (map.style && map.style._loaded && map.getLayer(id)) {\n map.removeLayer(id);\n }\n };\n }\n return undefined;\n }, [map]);\n // @ts-ignore\n const layer = map && map.style && map.getLayer(id);\n if (layer) {\n try {\n updateLayer(map, id, props, propsRef.current);\n }\n catch (error) {\n console.warn(error); // eslint-disable-line\n }\n }\n else {\n createLayer(map, id, props);\n }\n // Store last rendered props\n propsRef.current = props;\n return null;\n}\nexport default Layer;\n//# sourceMappingURL=layer.js.map","export { default } from './components/map';\nexport { default as Map } from './components/map';\nexport { default as Marker } from './components/marker';\nexport { default as Popup } from './components/popup';\nexport { default as AttributionControl } from './components/attribution-control';\nexport { default as FullscreenControl } from './components/fullscreen-control';\nexport { default as GeolocateControl } from './components/geolocate-control';\nexport { default as NavigationControl } from './components/navigation-control';\nexport { default as ScaleControl } from './components/scale-control';\nexport { default as Source } from './components/source';\nexport { default as Layer } from './components/layer';\nexport { default as useControl } from './components/use-control';\nexport { MapProvider, useMap } from './components/use-map';\n// Types\nexport * from './types/external';\n//# sourceMappingURL=index.js.map"],"names":["MountedMapsContext","react","createContext","transformToViewState","tr","longitude","center","lng","latitude","lat","zoom","pitch","bearing","padding","applyViewStateToTransform","props","v","viewState","changed","constructor","isPaddingEqual","refProps","normalizeStyle","style","toJS","layers","layerIndex","layer","id","map","layerRef","ref","normalizedLayer","interactive","propName","deep_equal_deepEqual","a","b","Array","isArray","length","i","aKeys","Object","keys","bKeys","key","hasOwnProperty","pointerEvents","mousedown","mouseup","mouseover","mousemove","click","dblclick","mouseenter","mouseleave","mouseout","contextmenu","touchstart","touchend","touchmove","touchcancel","cameraEvents","movestart","move","moveend","dragstart","drag","dragend","zoomstart","zoomend","rotatestart","rotate","rotateend","pitchstart","pitchend","otherEvents","wheel","boxzoomstart","boxzoomend","boxzoomcancel","resize","load","render","idle","remove","data","styledata","sourcedata","error","settingNames","handlerNames","Mapbox","MapClass","container","_map","_internalUpdate","_inRender","_hoveredFeatures","_deferredEvents","_onEvent","cb","e","type","_onPointerEvent","_updateHover","interactiveLayerIds","features","_queryRenderedFeatures","point","_onCameraEvent","_MapClass","_initialize","transform","_renderTransform","setProps","oldProps","settingsChanged","_updateSettings","_createShadowTransform","sizeChanged","_updateSize","viewStateChanged","_updateViewState","_updateStyle","_updateStyleComponents","_updateHandlers","isMoving","redraw","reuse","that","savedMaps","pop","oldContainer","getContainer","className","childNodes","appendChild","_container","resizeObserver","_resizeObserver","disconnect","observe","styleDiffing","initialViewState","bounds","fitBounds","fitBoundsOptions","duration","isStyleLoaded","fire","once","_update","mapOptions","accessToken","mapboxAccessToken","getAccessTokenFromEnv","location","match","exec","search","process","env","MapboxAccessToken","_a","REACT_APP_MAPBOX_ACCESS_TOKEN","_b","mapStyle","assign","gl","getContext","HTMLCanvasElement","prototype","setPadding","cursor","getCanvas","renderMap","_render","call","arg","runRenderTaskQueue","_renderTaskQueue","run","_onBeforeRepaint","on","_onAfterRepaint","fireEvent","eventName","_fireEvent","bind","width","height","recycle","children","querySelector","push","destroy","_frame","cancel","renderTransform","cloneTransform","newTransform","clone","pixelsToGLUnits","painter","nextProps","triggerEvents","cameraElevationReference","deferredEvents","currProps","toUpperCase","slice","options","diff","localIdeographFontFamily","setStyle","loaded","light","setLight","fog","setFog","terrain","getSource","source","setTerrain","newValue","enable","disable","queryRenderedFeatures","filter","getLayer","shouldTrackHoveredFeatures","onMouseMove","onMouseEnter","onMouseLeave","eventType","wasHovering","isHovering","baseFire","event","properties","skipMethods","useIsomorphicLayoutEffect","document","useLayoutEffect","useEffect","globalSettings","map_MapContext","Map","forwardRef","mountedMapsContext","useContext","mapInstance","setMapInstance","useState","containerRef","useRef","current","contextValue","mapLib","mapbox","isMounted","Promise","resolve","__webpack_require__","then","t","mapboxgl","default","setGlobals","RTLTextPlugin","getRTLTextPluginStatus","setRTLTextPlugin","console","supported","reuseMaps","createRef","result","getMap","getCenter","getZoom","getBearing","getPitch","getPadding","getBounds","project","locationPoint","LngLat","convert","lnglat","unproject","pointLocation","Point","queryTerrainElevation","getMethodNames","obj","Set","proto","getOwnPropertyNames","add","getPrototypeOf","from","includes","onMapMount","catch","onError","target","originalEvent","onMapUnmount","use_isomorphic_layout_effect","useImperativeHandle","useMemo","position","createElement","Provider","value","displayName","defaultProps","minZoom","maxZoom","minPitch","maxPitch","scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","touchPitch","version","sources","projection","renderWorldCopies","unitlessNumber","applyReactStyle","element","styles","Number","isFinite","test","Marker","thisRef","marker","hasChildren","Children","forEach","el","mk","setLngLat","getElement","addEventListener","onClick","evt","lngLat","getLngLat","onDragStart","onDrag","onDragEnd","addTo","offset","arePointsEqual","ax","x","ay","y","bx","by","getOffset","setOffset","isDraggable","draggable","setDraggable","getRotation","rotation","setRotation","getRotationAlignment","rotationAlignment","setRotationAlignment","getPitchAlignment","pitchAlignment","setPitchAlignment","getPopup","popup","setPopup","react_dom","createPortal","memo","getClassList","trim","split","pp","Popup","onOpen","onClose","setDOMContent","off","isOpen","anchor","maxWidth","setMaxWidth","prevClassList","nextClassList","c","has","removeClassName","addClassName","use_control","onCreate","arg1","arg2","arg3","context","ctrl","opts","onAdd","onRemove","hasControl","addControl","removeControl","AttributionControl","FullscreenControl","containerId","getElementById","_controlContainer","GeolocateControl","gc","setupUI","_setupUI","args","hasChildNodes","onGeolocate","onOutOfMaxBounds","onTrackUserLocationStart","onTrackUserLocationEnd","trigger","ScaleControl","unit","setUnit","NavigationControl"],"sourceRoot":""}