@macrostrat/map-interface 1.0.12 → 1.1.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.
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view/terrain.ts","packages/map-interface/src/src/map-view/index.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view/terrain.ts","packages/map-interface/src/src/map-view/index.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@macrostrat/map-interface",
3
- "version": "1.0.12",
3
+ "version": "1.1.0",
4
4
  "description": "Map interface for Macrostrat",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  "dependencies": {
11
11
  "@macrostrat/color-utils": "^1.0.0",
12
12
  "@macrostrat/hyper": "^3.0.0",
13
- "@macrostrat/mapbox-react": "^2.2.3",
13
+ "@macrostrat/mapbox-react": "^2.4.0",
14
14
  "@macrostrat/mapbox-utils": "^1.3.2",
15
15
  "@macrostrat/ui-components": "^4.0.4",
16
16
  "@mapbox/tilebelt": "^2.0.0",
@@ -29,12 +29,11 @@ export function LoadingButton({
29
29
  }
30
30
 
31
31
  export function MapLoadingButton(props) {
32
- const { isLoading } = useMapStatus();
33
- const mapIsLoading = useMemo(() => isLoading, [isLoading]);
34
- return h(LoadingButton, { ...props, isLoading: mapIsLoading });
32
+ const isLoading = useMapStatus((s) => s.isLoading);
33
+ return h(LoadingButton, { ...props, isLoading });
35
34
  }
36
35
 
37
- type AnyChildren = React.ReactNode | React.ReactFragment;
36
+ type AnyChildren = React.ReactNode;
38
37
 
39
38
  export interface FloatingNavbarProps {
40
39
  className?: string;
@@ -4,7 +4,7 @@ import hyper from "@macrostrat/hyper";
4
4
  import { Spacer, useDarkMode, useStoredState } from "@macrostrat/ui-components";
5
5
  import mapboxgl from "mapbox-gl";
6
6
  import { useCallback, useState, useEffect } from "react";
7
- import { buildInspectorStyle, buildXRayStyle } from "./xray";
7
+ import { buildInspectorStyle } from "./xray";
8
8
  import { MapAreaContainer, PanelCard } from "../container";
9
9
  import { FloatingNavbar, MapLoadingButton } from "../context-panel";
10
10
  import { MapMarker } from "../helpers";
@@ -34,8 +34,9 @@ export function MapInspector({
34
34
  focusedSource = null,
35
35
  focusedSourceTitle = null,
36
36
  fitViewport = true,
37
+ styleType = "macrostrat",
37
38
  }: {
38
- headerElement?: React.ReactElement;
39
+ headerElement?: React.ReactNode;
39
40
  transformRequest?: mapboxgl.TransformRequestFunction;
40
41
  title?: string;
41
42
  style?: mapboxgl.Style | string;
@@ -48,6 +49,7 @@ export function MapInspector({
48
49
  mapPosition?: MapPosition;
49
50
  bounds?: [number, number, number, number];
50
51
  fitViewport?: boolean;
52
+ styleType: "standard" | "macrostrat";
51
53
  }) {
52
54
  /* We apply a custom style to the panel container when we are interacting
53
55
  with the search bar, so that we can block map interactions until search
@@ -63,9 +65,15 @@ export function MapInspector({
63
65
  mapboxgl.accessToken = mapboxToken;
64
66
  }
65
67
 
66
- style ??= isEnabled
67
- ? "mapbox://styles/mapbox/dark-v10"
68
- : "mapbox://styles/mapbox/light-v10";
68
+ if (styleType == "macrostrat") {
69
+ style ??= isEnabled
70
+ ? "mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true"
71
+ : "mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true";
72
+ } else {
73
+ style ??= isEnabled
74
+ ? "mapbox://styles/mapbox/dark-v10"
75
+ : "mapbox://styles/mapbox/light-v10";
76
+ }
69
77
 
70
78
  const [isOpen, setOpen] = useState(false);
71
79
 
@@ -75,9 +83,7 @@ export function MapInspector({
75
83
  });
76
84
  const { showTileExtent, xRay } = state;
77
85
 
78
- const [actualStyle, setActualStyle] = useState(style);
79
-
80
- console.log("actualStyle", actualStyle);
86
+ const [actualStyle, setActualStyle] = useState(null);
81
87
 
82
88
  useEffect(() => {
83
89
  buildInspectorStyle(style, overlayStyle, {
@@ -141,6 +147,7 @@ export function MapInspector({
141
147
  title,
142
148
  }),
143
149
  contextPanel: h(PanelCard, [
150
+ children,
144
151
  h(Switch, {
145
152
  checked: xRay,
146
153
  label: "X-ray mode",
@@ -148,7 +155,6 @@ export function MapInspector({
148
155
  setState({ ...state, xRay: !xRay });
149
156
  },
150
157
  }),
151
- children,
152
158
  ]),
153
159
  detailPanel: detailElement,
154
160
  contextPanelOpen: isOpen,
package/src/helpers.ts CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  useMapEaseTo,
4
4
  useMapDispatch,
5
5
  useMapStatus,
6
+ useMapInitialized,
6
7
  } from "@macrostrat/mapbox-react";
7
8
  import { useMemo, useRef } from "react";
8
9
  import { debounce } from "underscore";
@@ -86,6 +87,7 @@ export function MapPaddingManager({
86
87
  export function MapMovedReporter({ onMapMoved = null }) {
87
88
  const mapRef = useMapRef();
88
89
  const dispatch = useMapDispatch();
90
+ const isInitialized = useMapInitialized();
89
91
 
90
92
  const mapMovedCallback = useCallback(() => {
91
93
  const map = mapRef.current;
@@ -93,7 +95,7 @@ export function MapMovedReporter({ onMapMoved = null }) {
93
95
  const mapPosition = getMapPosition(map);
94
96
  dispatch({ type: "map-moved", payload: mapPosition });
95
97
  onMapMoved?.(mapPosition, map);
96
- }, [mapRef.current, onMapMoved, dispatch]);
98
+ }, [onMapMoved, dispatch, isInitialized]);
97
99
 
98
100
  useEffect(() => {
99
101
  // Get the current value of the map. Useful for gradually moving away
@@ -120,6 +122,7 @@ export function MapLoadingReporter({
120
122
  const mapRef = useMapRef();
121
123
  const loadingRef = useRef(false);
122
124
  const dispatch = useMapDispatch();
125
+ const isInitialized = useMapInitialized();
123
126
 
124
127
  useEffect(() => {
125
128
  const map = mapRef.current;
@@ -148,36 +151,35 @@ export function MapLoadingReporter({
148
151
  map?.off("sourcedataloading", loadingCallback);
149
152
  map?.off("idle", idleCallback);
150
153
  };
151
- }, [ignoredSources, mapRef.current, mapIsLoading]);
154
+ }, [ignoredSources, mapIsLoading, isInitialized]);
152
155
  return null;
153
156
  }
154
157
 
155
158
  export function MapMarker({ position, setPosition, centerMarker = true }) {
156
159
  const mapRef = useMapRef();
157
160
  const markerRef = useRef(null);
161
+ const isInitialized = useMapInitialized();
158
162
 
159
163
  useMapMarker(mapRef, markerRef, position);
160
164
 
161
- const handleMapClick = useCallback(
162
- (event: mapboxgl.MapMouseEvent) => {
165
+ useEffect(() => {
166
+ const map = mapRef.current;
167
+ if (map == null || setPosition == null) return;
168
+
169
+ const handleMapClick = (event: mapboxgl.MapMouseEvent) => {
163
170
  setPosition(event.lngLat, event, mapRef.current);
164
171
  // We should integrate this with the "easeToCenter" hook
165
172
  if (centerMarker) {
166
173
  mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });
167
174
  }
168
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
169
- [mapRef.current, setPosition]
170
- );
175
+ };
176
+
177
+ map.on("click", handleMapClick);
171
178
 
172
- useEffect(() => {
173
- const map = mapRef.current;
174
- if (map != null && setPosition != null) {
175
- map.on("click", handleMapClick);
176
- }
177
179
  return () => {
178
180
  map?.off("click", handleMapClick);
179
181
  };
180
- }, [mapRef.current, setPosition]);
182
+ }, [setPosition, isInitialized]);
181
183
 
182
184
  return null;
183
185
  }
@@ -3,6 +3,7 @@ import {
3
3
  useMapRef,
4
4
  useMapDispatch,
5
5
  useMapPosition,
6
+ useMapStatus,
6
7
  } from "@macrostrat/mapbox-react";
7
8
  import {
8
9
  mapViewInfo,
@@ -116,45 +117,40 @@ export function MapView(props: MapViewProps) {
116
117
  const ref = useRef<HTMLDivElement>();
117
118
  const parentRef = useRef<HTMLDivElement>();
118
119
 
119
- // Keep track of map position for reloads
120
- useEffect(() => {
121
- console.log("Map updated", mapRef.current);
122
- }, [mapRef.current]);
123
-
124
120
  useEffect(() => {
125
121
  if (style == null) return;
126
- if (mapRef.current != null) {
122
+ let map = mapRef.current;
123
+ if (map != null) {
127
124
  console.log("Setting style", style);
128
- mapRef.current.setStyle(style);
129
- return;
125
+ map.setStyle(style);
126
+ } else {
127
+ console.log("Initializing map", style);
128
+ const map = initializeMap(ref.current, {
129
+ style,
130
+ projection,
131
+ mapPosition,
132
+ ...rest,
133
+ });
134
+ dispatch({ type: "set-map", payload: map });
135
+ map.setPadding(getMapPadding(ref, parentRef), { animate: false });
136
+ onMapLoaded?.(map);
130
137
  }
131
- const map = initializeMap(ref.current, {
132
- style,
133
- projection,
134
- mapPosition,
135
- ...rest,
136
- });
137
- map.setPadding(getMapPadding(ref, parentRef), { animate: false });
138
- map.on("style.load", () => {
138
+
139
+ const loadCallback = () => {
139
140
  onStyleLoaded?.(map);
140
141
  dispatch({ type: "set-style-loaded", payload: true });
141
- });
142
- onMapLoaded?.(map);
143
- dispatch({ type: "set-map", payload: map });
144
- }, [style]);
142
+ };
145
143
 
146
- // Map style updating
147
- // useEffect(() => {
148
- // if (mapRef?.current == null || style == null) return;
149
- // mapRef?.current?.setStyle(style);
150
- // }, [mapRef.current, style]);
151
-
152
- // Set map position if it changes
153
- // useEffect(() => {
154
- // const map = mapRef.current;
155
- // if (map == null || mapPosition == null) return;
156
- // setMapPosition(map, mapPosition);
157
- // }, [mapPosition]);
144
+ map = mapRef.current;
145
+ if (map.isStyleLoaded()) {
146
+ // Catch a race condition where the style is loaded before the callback is set
147
+ loadCallback();
148
+ }
149
+ map.on("style.load", loadCallback);
150
+ return () => {
151
+ map.off("style.load", loadCallback);
152
+ };
153
+ }, [style]);
158
154
 
159
155
  const _computedMapPosition = useMapPosition();
160
156
  const { mapUse3D, mapIsRotated } = mapViewInfo(_computedMapPosition);