@macrostrat/map-interface 1.3.2 → 1.4.1
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/CHANGELOG.md +19 -0
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/{map-interface.3934d6d6.js → map-interface.10d442f4.js} +2 -2
- package/dist/cjs/{map-interface.3934d6d6.js.map → map-interface.10d442f4.js.map} +1 -1
- package/dist/cjs/{map-interface.f1eec151.js → map-interface.28d1a6b7.js} +7 -6
- package/dist/cjs/map-interface.28d1a6b7.js.map +1 -0
- package/dist/cjs/{map-interface.853e0edd.js → map-interface.3bc4f731.js} +2 -2
- package/dist/cjs/{map-interface.853e0edd.js.map → map-interface.3bc4f731.js.map} +1 -1
- package/dist/cjs/{map-interface.e7194f92.js → map-interface.7bdbe4b6.js} +59 -47
- package/dist/cjs/map-interface.7bdbe4b6.js.map +1 -0
- package/dist/cjs/{map-interface.5813e876.js → map-interface.cf6c9a68.js} +5 -5
- package/dist/cjs/{map-interface.5813e876.js.map → map-interface.cf6c9a68.js.map} +1 -1
- package/dist/cjs/{map-interface.1d19056e.js → map-interface.dcbd3874.js} +4 -2
- package/dist/cjs/map-interface.dcbd3874.js.map +1 -0
- package/dist/esm/index.d.ts +18 -38
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/{map-interface.e5349e97.js → map-interface.54ccd41f.js} +2 -2
- package/dist/esm/{map-interface.e5349e97.js.map → map-interface.54ccd41f.js.map} +1 -1
- package/dist/esm/{map-interface.25a708b1.js → map-interface.90d9023c.js} +2 -2
- package/dist/esm/{map-interface.25a708b1.js.map → map-interface.90d9023c.js.map} +1 -1
- package/dist/esm/{map-interface.9ce3d553.js → map-interface.ca1ee406.js} +61 -49
- package/dist/esm/map-interface.ca1ee406.js.map +1 -0
- package/dist/esm/{map-interface.e1493866.js → map-interface.e20a9bac.js} +4 -2
- package/dist/esm/map-interface.e20a9bac.js.map +1 -0
- package/dist/esm/{map-interface.f4e2f84e.js → map-interface.ec2278ab.js} +7 -6
- package/dist/esm/map-interface.ec2278ab.js.map +1 -0
- package/dist/esm/{map-interface.45814073.js → map-interface.f7b8bdb7.js} +5 -5
- package/dist/esm/{map-interface.45814073.js.map → map-interface.f7b8bdb7.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/{map-interface.eb663cae.js → map-interface.33b7734a.js} +2 -2
- package/dist/node/map-interface.33b7734a.js.map +1 -0
- package/dist/node/map-interface.56b5b2ee.js +2 -0
- package/dist/node/map-interface.56b5b2ee.js.map +1 -0
- package/dist/node/{map-interface.cf540298.js → map-interface.6184dc0f.js} +2 -2
- package/dist/node/{map-interface.cf540298.js.map → map-interface.6184dc0f.js.map} +1 -1
- package/dist/node/map-interface.7aaa58c9.js +2 -0
- package/dist/node/map-interface.7aaa58c9.js.map +1 -0
- package/dist/node/{map-interface.55fa679c.js → map-interface.7e13bea8.js} +2 -2
- package/dist/node/{map-interface.55fa679c.js.map → map-interface.7e13bea8.js.map} +1 -1
- package/dist/node/map-interface.ce86a010.js +2 -0
- package/dist/node/map-interface.ce86a010.js.map +1 -0
- package/package.json +4 -4
- package/src/dev/map-page.ts +25 -19
- package/src/helpers.ts +4 -4
- package/src/location-panel/header.ts +2 -5
- package/src/map-panel/components/buttons.module.styl +5 -0
- package/src/map-panel/components/buttons.ts +56 -0
- package/src/map-panel/components/card.module.styl +43 -0
- package/src/map-panel/components/closeable-card.ts +64 -0
- package/src/map-panel/components/docs.module.styl +93 -0
- package/src/map-panel/components/docs.ts +92 -0
- package/src/map-panel/components/info-blocks.module.styl +39 -0
- package/src/map-panel/components/info-blocks.ts +88 -0
- package/src/map-panel/components/info-drawer/fossil-collections/collections.tsx +156 -0
- package/src/map-panel/components/info-drawer/fossil-collections/index.ts +21 -0
- package/src/map-panel/components/info-drawer/fossil-collections/main.module.sass +16 -0
- package/src/map-panel/components/info-drawer/index.ts +117 -0
- package/src/map-panel/components/info-drawer/macrostrat-linked.ts +399 -0
- package/src/map-panel/components/info-drawer/main.module.styl +67 -0
- package/src/map-panel/components/info-drawer/physiography.ts +29 -0
- package/src/map-panel/components/info-drawer/reg-strat.ts +74 -0
- package/src/map-panel/components/info-drawer/xdd-panel/Article.tsx +69 -0
- package/src/map-panel/components/info-drawer/xdd-panel/Journal.tsx +48 -0
- package/src/map-panel/components/info-drawer/xdd-panel/index.ts +69 -0
- package/src/map-panel/components/transitions/index.ts +24 -0
- package/src/map-panel/components/transitions/main.module.styl +55 -0
- package/src/map-panel/utils/formatting.ts +14 -0
- package/src/map-panel/utils/fossils.ts +209 -0
- package/src/map-panel/utils/index.ts +157 -0
- package/src/map-view.ts +77 -52
- package/dist/cjs/map-interface.1d19056e.js.map +0 -1
- package/dist/cjs/map-interface.e7194f92.js.map +0 -1
- package/dist/cjs/map-interface.f1eec151.js.map +0 -1
- package/dist/esm/map-interface.9ce3d553.js.map +0 -1
- package/dist/esm/map-interface.e1493866.js.map +0 -1
- package/dist/esm/map-interface.f4e2f84e.js.map +0 -1
- package/dist/node/map-interface.20c346ba.js +0 -2
- package/dist/node/map-interface.20c346ba.js.map +0 -1
- package/dist/node/map-interface.bc0fb98b.js +0 -2
- package/dist/node/map-interface.bc0fb98b.js.map +0 -1
- package/dist/node/map-interface.d9814996.js +0 -2
- package/dist/node/map-interface.d9814996.js.map +0 -1
- package/dist/node/map-interface.eb663cae.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,Q,gD,I,6B,Q,4B,a,Q,S,kB,Q,c,yB,Q,uB,6B,Q,4B,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,C,S,e,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,mB,I,2C,e,O,O,C,oB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,qB,I,2C,e,O,O,C,Y,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,oB,I,2C,I,O,c,SCiBO,SAAS,0CAAiB,CAAA,aAAE,CAAY,CAAE,EAC/C,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,EAAkB,AAAA,CAAA,EAAA,aAAA,MAAK,AAAL,EACtB,AAAA,CAAA,EAAA,kBAAA,QAAO,AAAP,EAAS,KACP,EAAO,OAAO,EAAE,QAClB,EAAG,MAQL,OALA,AAAA,uBAAA,0BAAkB,CAChB,IAAK,EACL,SAAU,EAAgB,OAAO,AACnC,GAEO,IACT,CASO,SAAS,0CAAkB,CAAA,aAChC,CAAY,CAAA,UACZ,CAAS,CAAA,mBACT,CAAkB,CAAA,aAClB,EAAe,GAAA,CACQ,EACvB,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,CAAC,EAAS,EAAW,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAC5B,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,IAGxB,EAAoB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,KAEpC,EADmB,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,GAEjD,EAAG,CAAC,EAAa,OAAO,CAAE,EAAU,OAAO,CAAC,EAEtC,EAAmB,AAAA,CAAA,EAAA,aAAA,OAAM,A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","sources":["<anon>","packages/map-interface/src/helpers.ts"],"sourcesContent":["require(\"./map-interface.713361a4.js\");\nvar $2crMj$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $2crMj$react = require(\"react\");\nvar $2crMj$underscore = require(\"underscore\");\nvar $2crMj$useresizeobserver = require(\"use-resize-observer\");\nvar $2crMj$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\nvar $2crMj$macrostratuicomponents = require(\"@macrostrat/ui-components\");\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n$parcel$export(module.exports, \"MapResizeManager\", () => $f6c715b8ad8cb91a$export$31b2e088aff2dc5d);\n$parcel$export(module.exports, \"MapPaddingManager\", () => $f6c715b8ad8cb91a$export$2ab96428dea558d6);\n$parcel$export(module.exports, \"MapMovedReporter\", () => $f6c715b8ad8cb91a$export$f6eeee399afc4e9a);\n$parcel$export(module.exports, \"MapLoadingReporter\", () => $f6c715b8ad8cb91a$export$e57f9eaa51773f82);\n$parcel$export(module.exports, \"MapMarker\", () => $f6c715b8ad8cb91a$export$5c90a91c7455938c);\n$parcel$export(module.exports, \"useBasicMapStyle\", () => $f6c715b8ad8cb91a$export$6daf1520df36ae21);\n$parcel$export(module.exports, \"getBasicMapStyle\", () => $f6c715b8ad8cb91a$export$3503bf0b3851527b);\n$parcel$export(module.exports, \"useBasicStylePair\", () => $f6c715b8ad8cb91a$export$566518253d2584f8);\n\n\n\n\n\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nfunction $f6c715b8ad8cb91a$export$31b2e088aff2dc5d({ containerRef: containerRef }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const debouncedResize = (0, $2crMj$react.useRef)((0, $2crMj$underscore.debounce)(()=>{\n mapRef.current?.resize();\n }, 100));\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: containerRef,\n onResize: debouncedResize.current\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$2ab96428dea558d6({ containerRef: containerRef, parentRef: parentRef, infoMarkerPosition: infoMarkerPosition, debounceTime: debounceTime = 200 }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const [padding, setPadding] = (0, $2crMj$react.useState)((0, $R3my3.getMapPadding)(containerRef, parentRef));\n const _updateMapPadding = (0, $2crMj$react.useCallback)(()=>{\n const newPadding = (0, $R3my3.getMapPadding)(containerRef, parentRef);\n setPadding(newPadding);\n }, [\n containerRef.current,\n parentRef.current\n ]);\n const updateMapPadding = (0, $2crMj$react.useMemo)(()=>(0, $2crMj$underscore.debounce)(_updateMapPadding, debounceTime), [\n _updateMapPadding,\n debounceTime\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [\n mapRef.current\n ]);\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: parentRef,\n onResize (sz) {\n updateMapPadding();\n },\n round (n) {\n return Math.round(n);\n }\n });\n // Ideally, we would not have to do this when we know the infobox is loaded\n (0, $2crMj$macrostratmapboxreact.useMapEaseTo)({\n center: infoMarkerPosition,\n padding: padding\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$f6eeee399afc4e9a({ onMapMoved: onMapMoved = null }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n const mapMovedCallback = (0, $2crMj$react.useCallback)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = (0, $2crMj$macrostratmapboxutils.getMapPosition)(map);\n dispatch({\n type: \"map-moved\",\n payload: mapPosition\n });\n onMapMoved?.(mapPosition, map);\n }, [\n onMapMoved,\n dispatch,\n isInitialized\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = (0, $2crMj$underscore.debounce)(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return ()=>{\n map?.off(\"moveend\", cb);\n };\n }, [\n mapMovedCallback\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$e57f9eaa51773f82({ ignoredSources: ignoredSources, onMapLoading: onMapLoading = null, onMapIdle: onMapIdle = null, mapIsLoading: mapIsLoading }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const loadingRef = (0, $2crMj$react.useRef)(false);\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n let didSendLoading = false;\n const loadingCallback = (evt)=>{\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({\n type: \"set-loading\",\n payload: true\n });\n loadingRef.current = true;\n didSendLoading = true;\n };\n const idleCallback = (evt)=>{\n if (!mapIsLoading) return;\n dispatch({\n type: \"set-loading\",\n payload: false\n });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return ()=>{\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [\n ignoredSources,\n mapIsLoading,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$5c90a91c7455938c({ position: position, setPosition: setPosition, centerMarker: centerMarker = true }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const markerRef = (0, $2crMj$react.useRef)(null);\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $R3my3.useMapMarker)(mapRef, markerRef, position);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n const handleMapClick = (event)=>{\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) mapRef.current?.flyTo({\n center: event.lngLat,\n duration: 800\n });\n };\n map.on(\"click\", handleMapClick);\n return ()=>{\n map?.off(\"click\", handleMapClick);\n };\n }, [\n setPosition,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$6daf1520df36ae21(opts = {}) {\n const { styleType: styleType } = opts;\n const inDarkMode = (0, $2crMj$macrostratuicomponents.useInDarkMode)();\n const props = (0, $2crMj$react.useMemo)(()=>{\n return {\n styleType: styleType,\n inDarkMode: inDarkMode\n };\n }, [\n styleType,\n inDarkMode\n ]);\n return $f6c715b8ad8cb91a$export$3503bf0b3851527b(props);\n}\nfunction $f6c715b8ad8cb91a$export$3503bf0b3851527b(opts) {\n const { styleType: styleType = \"macrostrat\", inDarkMode: inDarkMode = false } = opts ?? {};\n if (styleType == \"macrostrat\") return inDarkMode ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\" : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n else return inDarkMode ? \"mapbox://styles/mapbox/dark-v10\" : \"mapbox://styles/mapbox/light-v10\";\n}\nconst $f6c715b8ad8cb91a$export$566518253d2584f8 = $f6c715b8ad8cb91a$export$6daf1520df36ae21;\n\n\n//# sourceMappingURL=map-interface.eb663cae.js.map\n","import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapStatus,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!mapIsLoading) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":["require","$2crMj$macrostratmapboxreact","$2crMj$react","$2crMj$underscore","$2crMj$useresizeobserver","$2crMj$macrostratmapboxutils","$2crMj$macrostratuicomponents","$parcel$interopDefault","a","__esModule","default","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$f6c715b8ad8cb91a$export$31b2e088aff2dc5d","$f6c715b8ad8cb91a$export$2ab96428dea558d6","$f6c715b8ad8cb91a$export$f6eeee399afc4e9a","$f6c715b8ad8cb91a$export$e57f9eaa51773f82","$f6c715b8ad8cb91a$export$5c90a91c7455938c","$f6c715b8ad8cb91a$export$6daf1520df36ae21","$f6c715b8ad8cb91a$export$3503bf0b3851527b","$f6c715b8ad8cb91a$export$566518253d2584f8","$R3my3","containerRef","mapRef","useMapRef","debouncedResize","useRef","debounce","current","resize","ref","onResize","parentRef","infoMarkerPosition","debounceTime","padding","setPadding","useState","getMapPadding","_updateMapPadding","useCallback","updateMapPadding","useMemo","useEffect","sz","round","Math","useMapEaseTo","center","onMapMoved","dispatch","useMapDispatch","isInitialized","useMapInitialized","mapMovedCallback","map","mapPosition","getMapPosition","type","payload","cb","on","off","ignoredSources","onMapLoading","onMapIdle","mapIsLoading","loadingRef","didSendLoading","loadingCallback","evt","includes","sourceId","idleCallback","position","setPosition","centerMarker","markerRef","useMapMarker","handleMapClick","event","lngLat","flyTo","duration","opts","styleType","inDarkMode","useInDarkMode"],"version":3,"file":"map-interface.eb663cae.js.map","sourceRoot":"../../../../"}
|