@macrostrat/map-interface 1.2.2 → 1.2.4
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 +13 -0
- package/dist/cjs/{container.72611900.js → container.d2e83c46.js} +4 -4
- package/dist/cjs/{container.72611900.js.map → container.d2e83c46.js.map} +1 -1
- package/dist/cjs/{context-panel.8c4b009c.js → context-panel.3061a63e.js} +2 -2
- package/dist/cjs/{context-panel.8c4b009c.js.map → context-panel.3061a63e.js.map} +1 -1
- package/dist/cjs/{controls.7ce3e95c.js → controls.5fcf8a91.js} +2 -2
- package/dist/cjs/{controls.7ce3e95c.js.map → controls.5fcf8a91.js.map} +1 -1
- package/dist/cjs/{dev.10ac2fb3.js → dev.e6613cda.js} +2 -2
- package/dist/cjs/{dev.10ac2fb3.js.map → dev.e6613cda.js.map} +1 -1
- package/dist/cjs/{header.b86c0710.js → header.af864bde.js} +2 -2
- package/dist/cjs/{header.b86c0710.js.map → header.af864bde.js.map} +1 -1
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/{location-panel.42ca3200.js → location-panel.e33becf0.js} +4 -4
- package/dist/cjs/{location-panel.42ca3200.js.map → location-panel.e33becf0.js.map} +1 -1
- package/dist/cjs/{main.module.3dbc089f.css → main.module.13eb33f8.css} +10 -1
- package/dist/cjs/main.module.13eb33f8.css.map +1 -0
- package/dist/cjs/{main.module.92978d8b.css → main.module.e872989b.css} +2 -2
- package/dist/cjs/{main.module.92978d8b.css.map → main.module.e872989b.css.map} +1 -1
- package/dist/cjs/{main.module.f085a193.css → main.module.f57e27f2.css} +4 -4
- package/dist/cjs/main.module.f57e27f2.css.map +1 -0
- package/dist/cjs/{map-page.9c19b2a9.js → map-page.1e1970d8.js} +6 -6
- package/dist/cjs/{map-page.9c19b2a9.js.map → map-page.1e1970d8.js.map} +1 -1
- package/dist/cjs/map-view.61e50e18.js +178 -0
- package/dist/cjs/map-view.61e50e18.js.map +1 -0
- package/dist/esm/{container.16bde261.js → container.bba0b16c.js} +4 -4
- package/dist/esm/{container.16bde261.js.map → container.bba0b16c.js.map} +1 -1
- package/dist/esm/{context-panel.c288c5cd.js → context-panel.5dae1a8c.js} +2 -2
- package/dist/esm/{context-panel.c288c5cd.js.map → context-panel.5dae1a8c.js.map} +1 -1
- package/dist/esm/{controls.f757ce16.js → controls.42c750c4.js} +2 -2
- package/dist/esm/{controls.f757ce16.js.map → controls.42c750c4.js.map} +1 -1
- package/dist/esm/{dev.30b435dc.js → dev.b2d9d35d.js} +2 -2
- package/dist/esm/{dev.30b435dc.js.map → dev.b2d9d35d.js.map} +1 -1
- package/dist/esm/{header.b4aa864a.js → header.a73b6e0a.js} +2 -2
- package/dist/esm/{header.b4aa864a.js.map → header.a73b6e0a.js.map} +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{location-panel.b56899ab.js → location-panel.c620b13b.js} +4 -4
- package/dist/esm/{location-panel.b56899ab.js.map → location-panel.c620b13b.js.map} +1 -1
- package/dist/esm/{map-page.93c11cef.js → map-page.1da2d70c.js} +6 -6
- package/dist/esm/{map-page.93c11cef.js.map → map-page.1da2d70c.js.map} +1 -1
- package/dist/esm/map-view.1fc6297b.js +172 -0
- package/dist/esm/map-view.1fc6297b.js.map +1 -0
- package/dist/node/{container.abd6f0d2.js → container.053f798f.js} +2 -2
- package/dist/node/{container.abd6f0d2.js.map → container.053f798f.js.map} +1 -1
- package/dist/node/{context-panel.7c2f42c9.js → context-panel.0ae29ecf.js} +2 -2
- package/dist/node/{context-panel.7c2f42c9.js.map → context-panel.0ae29ecf.js.map} +1 -1
- package/dist/node/{controls.ffb44307.js → controls.6ec8e9ac.js} +2 -2
- package/dist/node/{controls.ffb44307.js.map → controls.6ec8e9ac.js.map} +1 -1
- package/dist/node/{dev.ee1e89e9.js → dev.4640438e.js} +2 -2
- package/dist/node/{dev.ee1e89e9.js.map → dev.4640438e.js.map} +1 -1
- package/dist/node/{header.4b58753a.js → header.cf9ba12b.js} +2 -2
- package/dist/node/{header.4b58753a.js.map → header.cf9ba12b.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/{location-panel.c39983e3.js → location-panel.2e422cc0.js} +2 -2
- package/dist/node/{location-panel.c39983e3.js.map → location-panel.2e422cc0.js.map} +1 -1
- package/dist/node/{main.module.ba3f4a78.css → main.module.3943144e.css} +2 -2
- package/dist/node/main.module.3943144e.css.map +1 -0
- package/dist/node/main.module.65e40c2e.css +2 -0
- package/dist/node/main.module.65e40c2e.css.map +1 -0
- package/dist/node/{main.module.61b261c8.css → main.module.8a9943af.css} +2 -2
- package/dist/node/main.module.8a9943af.css.map +1 -0
- package/dist/node/{map-page.cb4c713e.js → map-page.d0e099ab.js} +2 -2
- package/dist/node/{map-page.cb4c713e.js.map → map-page.d0e099ab.js.map} +1 -1
- package/dist/node/map-view.9dc96288.js +2 -0
- package/dist/node/map-view.9dc96288.js.map +1 -0
- package/package.json +3 -3
- package/src/container.ts +1 -1
- package/src/context-panel/main.module.sass +1 -1
- package/src/location-panel/main.module.sass +5 -0
- package/src/main.module.sass +2 -2
- package/src/{map-view/index.ts → map-view.ts} +51 -18
- package/dist/cjs/main.module.3dbc089f.css.map +0 -1
- package/dist/cjs/main.module.f085a193.css.map +0 -1
- package/dist/cjs/map-view.93363b41.js +0 -167
- package/dist/cjs/map-view.93363b41.js.map +0 -1
- package/dist/cjs/terrain.90f76b4e.js +0 -59
- package/dist/cjs/terrain.90f76b4e.js.map +0 -1
- package/dist/esm/map-view.a3fe6257.js +0 -161
- package/dist/esm/map-view.a3fe6257.js.map +0 -1
- package/dist/esm/terrain.f65cf7c5.js +0 -54
- package/dist/esm/terrain.f65cf7c5.js.map +0 -1
- package/dist/node/main.module.61b261c8.css.map +0 -1
- package/dist/node/main.module.89f269c7.css +0 -2
- package/dist/node/main.module.89f269c7.css.map +0 -1
- package/dist/node/main.module.ba3f4a78.css.map +0 -1
- package/dist/node/map-view.c6746dca.js +0 -2
- package/dist/node/map-view.c6746dca.js.map +0 -1
- package/dist/node/terrain.96ae432a.js +0 -2
- package/dist/node/terrain.96ae432a.js.map +0 -1
- package/src/map-view/terrain.ts +0 -63
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
var $35f1bc0112883d51$exports = require("./main.module.62939ea7.js");
|
|
2
|
-
require("./main.module.f085a193.css");
|
|
3
|
-
var $ecfbeec2ae4211a4$exports = require("./terrain.90f76b4e.js");
|
|
4
|
-
var $2611a7b4364593e5$exports = require("./helpers.0f72ddaf.js");
|
|
5
|
-
var $3490fc4f4bda12f7$exports = require("./utils.26f02633.js");
|
|
6
|
-
var $3Vvow$macrostrathyper = require("@macrostrat/hyper");
|
|
7
|
-
var $3Vvow$macrostratmapboxreact = require("@macrostrat/mapbox-react");
|
|
8
|
-
var $3Vvow$macrostratmapboxutils = require("@macrostrat/mapbox-utils");
|
|
9
|
-
var $3Vvow$classnames = require("classnames");
|
|
10
|
-
var $3Vvow$mapboxgl = require("mapbox-gl");
|
|
11
|
-
var $3Vvow$react = require("react");
|
|
12
|
-
require("mapbox-gl/dist/mapbox-gl.css");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function $parcel$interopDefault(a) {
|
|
16
|
-
return a && a.__esModule ? a.default : a;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function $parcel$export(e, n, v, s) {
|
|
20
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
$parcel$export(module.exports, "MapView", () => $12b6032029db16d4$export$ab1e7a67d6ec5ad8);
|
|
24
|
-
$parcel$export(module.exports, "MapTerrainManager", () => $12b6032029db16d4$export$cee395a8a2a00b29);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const $12b6032029db16d4$var$h = (0, ($parcel$interopDefault($3Vvow$macrostrathyper))).styled((0, ($parcel$interopDefault($35f1bc0112883d51$exports))));
|
|
37
|
-
function $12b6032029db16d4$var$defaultInitializeMap(container, args = {}) {
|
|
38
|
-
const { mapPosition: mapPosition, ...rest } = args;
|
|
39
|
-
console.log("Initializing map (default)", args);
|
|
40
|
-
const map = new (0, ($parcel$interopDefault($3Vvow$mapboxgl))).Map({
|
|
41
|
-
container: container,
|
|
42
|
-
maxZoom: 18,
|
|
43
|
-
//maxTileCacheSize: 0,
|
|
44
|
-
logoPosition: "bottom-left",
|
|
45
|
-
trackResize: true,
|
|
46
|
-
antialias: true,
|
|
47
|
-
optimizeForTerrain: true,
|
|
48
|
-
...rest
|
|
49
|
-
});
|
|
50
|
-
// set initial map position
|
|
51
|
-
if (mapPosition != null) (0, $3Vvow$macrostratmapboxutils.setMapPosition)(map, mapPosition);
|
|
52
|
-
//setMapPosition(map, mapPosition);
|
|
53
|
-
return map;
|
|
54
|
-
}
|
|
55
|
-
const $12b6032029db16d4$var$defaultMapPosition = {
|
|
56
|
-
camera: {
|
|
57
|
-
lat: 34,
|
|
58
|
-
lng: -120,
|
|
59
|
-
altitude: 300000
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
function $12b6032029db16d4$export$ab1e7a67d6ec5ad8(props) {
|
|
63
|
-
let { terrainSourceID: terrainSourceID } = props;
|
|
64
|
-
const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition = $12b6032029db16d4$var$defaultMapPosition, initializeMap: initializeMap = $12b6032029db16d4$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
|
|
65
|
-
accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, ...rest } = props;
|
|
66
|
-
if (enableTerrain) terrainSourceID ??= "mapbox-3d-dem";
|
|
67
|
-
const _mapboxToken = mapboxToken ?? accessToken;
|
|
68
|
-
if (_mapboxToken != null) (0, ($parcel$interopDefault($3Vvow$mapboxgl))).accessToken = _mapboxToken;
|
|
69
|
-
const dispatch = (0, $3Vvow$macrostratmapboxreact.useMapDispatch)();
|
|
70
|
-
let mapRef = (0, $3Vvow$macrostratmapboxreact.useMapRef)();
|
|
71
|
-
const ref = (0, $3Vvow$react.useRef)();
|
|
72
|
-
const parentRef = (0, $3Vvow$react.useRef)();
|
|
73
|
-
(0, $3Vvow$react.useEffect)(()=>{
|
|
74
|
-
if (style == null) return;
|
|
75
|
-
let map = mapRef.current;
|
|
76
|
-
if (map != null) {
|
|
77
|
-
console.log("Setting style", style);
|
|
78
|
-
map.setStyle(style);
|
|
79
|
-
} else {
|
|
80
|
-
console.log("Initializing map", style);
|
|
81
|
-
const map = initializeMap(ref.current, {
|
|
82
|
-
style: style,
|
|
83
|
-
projection: projection,
|
|
84
|
-
mapPosition: mapPosition,
|
|
85
|
-
transformRequest: transformRequest,
|
|
86
|
-
...rest
|
|
87
|
-
});
|
|
88
|
-
dispatch({
|
|
89
|
-
type: "set-map",
|
|
90
|
-
payload: map
|
|
91
|
-
});
|
|
92
|
-
map.setPadding((0, $3490fc4f4bda12f7$exports.getMapPadding)(ref, parentRef), {
|
|
93
|
-
animate: false
|
|
94
|
-
});
|
|
95
|
-
onMapLoaded?.(map);
|
|
96
|
-
}
|
|
97
|
-
const loadCallback = ()=>{
|
|
98
|
-
onStyleLoaded?.(map);
|
|
99
|
-
dispatch({
|
|
100
|
-
type: "set-style-loaded",
|
|
101
|
-
payload: true
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
map = mapRef.current;
|
|
105
|
-
if (map.isStyleLoaded()) // Catch a race condition where the style is loaded before the callback is set
|
|
106
|
-
loadCallback();
|
|
107
|
-
map.on("style.load", loadCallback);
|
|
108
|
-
return ()=>{
|
|
109
|
-
map.off("style.load", loadCallback);
|
|
110
|
-
};
|
|
111
|
-
}, [
|
|
112
|
-
style
|
|
113
|
-
]);
|
|
114
|
-
const _computedMapPosition = (0, $3Vvow$macrostratmapboxreact.useMapPosition)();
|
|
115
|
-
const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $3Vvow$macrostratmapboxutils.mapViewInfo)(_computedMapPosition);
|
|
116
|
-
// Get map projection
|
|
117
|
-
const _projection = mapRef.current?.getProjection()?.name ?? "mercator";
|
|
118
|
-
const className = (0, ($parcel$interopDefault($3Vvow$classnames)))({
|
|
119
|
-
"is-rotated": mapIsRotated ?? false,
|
|
120
|
-
"is-3d-available": mapUse3D ?? false
|
|
121
|
-
}, `${_projection}-projection`);
|
|
122
|
-
return $12b6032029db16d4$var$h("div.map-view-container.main-view", {
|
|
123
|
-
ref: parentRef
|
|
124
|
-
}, [
|
|
125
|
-
$12b6032029db16d4$var$h("div.mapbox-map#map", {
|
|
126
|
-
ref: ref,
|
|
127
|
-
className: className
|
|
128
|
-
}),
|
|
129
|
-
$12b6032029db16d4$var$h((0, $2611a7b4364593e5$exports.MapLoadingReporter), {
|
|
130
|
-
ignoredSources: [
|
|
131
|
-
"elevationMarker",
|
|
132
|
-
"crossSectionEndpoints"
|
|
133
|
-
]
|
|
134
|
-
}),
|
|
135
|
-
$12b6032029db16d4$var$h((0, $2611a7b4364593e5$exports.MapMovedReporter), {
|
|
136
|
-
onMapMoved: onMapMoved
|
|
137
|
-
}),
|
|
138
|
-
$12b6032029db16d4$var$h((0, $2611a7b4364593e5$exports.MapResizeManager), {
|
|
139
|
-
containerRef: ref
|
|
140
|
-
}),
|
|
141
|
-
$12b6032029db16d4$var$h((0, $2611a7b4364593e5$exports.MapPaddingManager), {
|
|
142
|
-
containerRef: ref,
|
|
143
|
-
parentRef: parentRef,
|
|
144
|
-
infoMarkerPosition: infoMarkerPosition
|
|
145
|
-
}),
|
|
146
|
-
$12b6032029db16d4$var$h($12b6032029db16d4$export$cee395a8a2a00b29, {
|
|
147
|
-
mapUse3D: mapUse3D,
|
|
148
|
-
terrainSourceID: terrainSourceID
|
|
149
|
-
}),
|
|
150
|
-
children
|
|
151
|
-
]);
|
|
152
|
-
}
|
|
153
|
-
function $12b6032029db16d4$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrainSourceID: terrainSourceID }) {
|
|
154
|
-
const mapRef = (0, $3Vvow$macrostratmapboxreact.useMapRef)();
|
|
155
|
-
(0, $3Vvow$react.useEffect)(()=>{
|
|
156
|
-
const map = mapRef.current;
|
|
157
|
-
if (map == null) return;
|
|
158
|
-
(0, $ecfbeec2ae4211a4$exports.enable3DTerrain)(map, mapUse3D, terrainSourceID);
|
|
159
|
-
}, [
|
|
160
|
-
mapRef.current,
|
|
161
|
-
mapUse3D
|
|
162
|
-
]);
|
|
163
|
-
return null;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
//# sourceMappingURL=map-view.93363b41.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/map-interface/src/map-view/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n useMapRef,\n useMapDispatch,\n useMapPosition,\n} from \"@macrostrat/mapbox-react\";\nimport {\n mapViewInfo,\n MapPosition,\n setMapPosition,\n} from \"@macrostrat/mapbox-utils\";\nimport classNames from \"classnames\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useEffect, useRef, useCallback } from \"react\";\nimport styles from \"../main.module.sass\";\nimport { enable3DTerrain } from \"./terrain\";\nimport {\n MapLoadingReporter,\n MapMovedReporter,\n MapPaddingManager,\n MapResizeManager,\n} from \"../helpers\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport { getMapPadding } from \"../utils\";\n\nconst h = hyper.styled(styles);\n\ntype MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, \"container\">;\n\nexport interface MapViewProps extends MapboxCoreOptions {\n showLineSymbols?: boolean;\n children?: React.ReactNode;\n mapboxToken?: string;\n // Deprecated\n accessToken?: string;\n terrainSourceID?: string;\n enableTerrain?: boolean;\n infoMarkerPosition?: mapboxgl.LngLatLike;\n mapPosition?: MapPosition;\n initializeMap?: (\n container: HTMLElement,\n args: MapboxOptionsExt\n ) => mapboxgl.Map;\n onMapLoaded?: (map: mapboxgl.Map) => void;\n onStyleLoaded?: (map: mapboxgl.Map) => void;\n onMapMoved?: (mapPosition: MapPosition, map: mapboxgl.Map) => void;\n}\n\nexport interface MapboxOptionsExt extends MapboxCoreOptions {\n mapPosition?: MapPosition;\n}\n\nfunction defaultInitializeMap(container, args: MapboxOptionsExt = {}) {\n const { mapPosition, ...rest } = args;\n console.log(\"Initializing map (default)\", args);\n\n const map = new mapboxgl.Map({\n container,\n maxZoom: 18,\n //maxTileCacheSize: 0,\n logoPosition: \"bottom-left\",\n trackResize: true,\n antialias: true,\n optimizeForTerrain: true,\n ...rest,\n });\n\n // set initial map position\n if (mapPosition != null) {\n setMapPosition(map, mapPosition);\n }\n\n //setMapPosition(map, mapPosition);\n return map;\n}\n\nconst defaultMapPosition: MapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000,\n },\n};\n\nexport function MapView(props: MapViewProps) {\n let { terrainSourceID } = props;\n const {\n enableTerrain = true,\n style,\n mapPosition = defaultMapPosition,\n initializeMap = defaultInitializeMap,\n children,\n mapboxToken,\n // Deprecated\n accessToken,\n infoMarkerPosition,\n transformRequest,\n projection,\n onMapLoaded = null,\n onStyleLoaded = null,\n onMapMoved = null,\n ...rest\n } = props;\n if (enableTerrain) {\n terrainSourceID ??= \"mapbox-3d-dem\";\n }\n\n const _mapboxToken = mapboxToken ?? accessToken;\n\n if (_mapboxToken != null) {\n mapboxgl.accessToken = _mapboxToken;\n }\n\n const dispatch = useMapDispatch();\n let mapRef = useMapRef();\n const ref = useRef<HTMLDivElement>();\n const parentRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (style == null) return;\n let map = mapRef.current;\n if (map != null) {\n console.log(\"Setting style\", style);\n map.setStyle(style);\n } else {\n console.log(\"Initializing map\", style);\n const map = initializeMap(ref.current, {\n style,\n projection,\n mapPosition,\n transformRequest,\n ...rest,\n });\n dispatch({ type: \"set-map\", payload: map });\n map.setPadding(getMapPadding(ref, parentRef), { animate: false });\n onMapLoaded?.(map);\n }\n\n const loadCallback = () => {\n onStyleLoaded?.(map);\n dispatch({ type: \"set-style-loaded\", payload: true });\n };\n\n map = mapRef.current;\n if (map.isStyleLoaded()) {\n // Catch a race condition where the style is loaded before the callback is set\n loadCallback();\n }\n map.on(\"style.load\", loadCallback);\n return () => {\n map.off(\"style.load\", loadCallback);\n };\n }, [style]);\n\n const _computedMapPosition = useMapPosition();\n const { mapUse3D, mapIsRotated } = mapViewInfo(_computedMapPosition);\n\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n\n const className = classNames(\n {\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": mapUse3D ?? false,\n },\n `${_projection}-projection`\n );\n\n return h(\"div.map-view-container.main-view\", { ref: parentRef }, [\n h(\"div.mapbox-map#map\", { ref, className }),\n h(MapLoadingReporter, {\n ignoredSources: [\"elevationMarker\", \"crossSectionEndpoints\"],\n }),\n h(MapMovedReporter, { onMapMoved }),\n h(MapResizeManager, { containerRef: ref }),\n h(MapPaddingManager, { containerRef: ref, parentRef, infoMarkerPosition }),\n h(MapTerrainManager, { mapUse3D, terrainSourceID }),\n children,\n ]);\n}\n\nexport function MapTerrainManager({\n mapUse3D,\n terrainSourceID,\n}: {\n mapUse3D?: boolean;\n terrainSourceID?: string;\n}) {\n const mapRef = useMapRef();\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n enable3DTerrain(map, mapUse3D, terrainSourceID);\n }, [mapRef.current, mapUse3D]);\n return null;\n}\n"],"names":[],"version":3,"file":"map-view.93363b41.js.map"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
function $parcel$export(e, n, v, s) {
|
|
3
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
$parcel$export(module.exports, "enable3DTerrain", () => $ecfbeec2ae4211a4$export$b730542ee281c4b1);
|
|
7
|
-
// We should merge this with code in @macrostrat/mapbox-react/src/terrain.ts:
|
|
8
|
-
function $ecfbeec2ae4211a4$export$b730542ee281c4b1(map, shouldEnable, sourceID = null) {
|
|
9
|
-
if (!map.style?._loaded) {
|
|
10
|
-
map.once("style.load", ()=>{
|
|
11
|
-
$ecfbeec2ae4211a4$export$b730542ee281c4b1(map, shouldEnable, sourceID);
|
|
12
|
-
});
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const currentTerrainSource = $ecfbeec2ae4211a4$var$getTerrainSourceID(map);
|
|
16
|
-
let demSourceID = sourceID ?? currentTerrainSource ?? "mapbox-dem";
|
|
17
|
-
console.log("Enabling 3D terrain with source", demSourceID);
|
|
18
|
-
// Enable or disable terrain depending on our current desires...
|
|
19
|
-
const currentTerrain = map.getTerrain();
|
|
20
|
-
if (!shouldEnable) {
|
|
21
|
-
if (currentTerrain != null) map.setTerrain(null);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (currentTerrain != null) return;
|
|
25
|
-
// Add a DEM source if one is not found already.
|
|
26
|
-
if (map.getSource(demSourceID) == null) map.addSource(demSourceID, {
|
|
27
|
-
type: "raster-dem",
|
|
28
|
-
url: "mapbox://mapbox.mapbox-terrain-dem-v1",
|
|
29
|
-
tileSize: 512,
|
|
30
|
-
maxzoom: 14
|
|
31
|
-
});
|
|
32
|
-
// add a sky layer that will show when the map is highly pitched
|
|
33
|
-
if (map.getLayer("sky") == null) map.addLayer({
|
|
34
|
-
id: "sky",
|
|
35
|
-
type: "sky",
|
|
36
|
-
paint: {
|
|
37
|
-
"sky-type": "atmosphere",
|
|
38
|
-
"sky-atmosphere-sun": [
|
|
39
|
-
0.0,
|
|
40
|
-
0.0
|
|
41
|
-
],
|
|
42
|
-
"sky-atmosphere-sun-intensity": 15
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
map.setTerrain({
|
|
46
|
-
source: demSourceID,
|
|
47
|
-
exaggeration: 1
|
|
48
|
-
});
|
|
49
|
-
console.log(map.getTerrain());
|
|
50
|
-
}
|
|
51
|
-
function $ecfbeec2ae4211a4$var$getTerrainSourceID(map) {
|
|
52
|
-
for (const [key, source] of Object.entries(map.getStyle().sources)){
|
|
53
|
-
if (source.type == "raster-dem") return key;
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=terrain.90f76b4e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;AAAA,6EAA6E;AAEtE,SAAS,0CACd,GAAG,EACH,YAAqB,EACrB,WAA0B,IAAI;IAE9B,IAAI,CAAC,IAAI,KAAK,EAAE,SAAS;QACvB,IAAI,IAAI,CAAC,cAAc;YACrB,0CAAgB,KAAK,cAAc;QACrC;QACA;IACF;IAEA,MAAM,uBAAuB,yCAAmB;IAChD,IAAI,cAAc,YAAY,wBAAwB;IAEtD,QAAQ,GAAG,CAAC,mCAAmC;IAE/C,gEAAgE;IAChE,MAAM,iBAAiB,IAAI,UAAU;IAErC,IAAI,CAAC,cAAc;QACjB,IAAI,kBAAkB,MAAM,IAAI,UAAU,CAAC;QAC3C;IACF;IACA,IAAI,kBAAkB,MAAM;IAE5B,gDAAgD;IAChD,IAAI,IAAI,SAAS,CAAC,gBAAgB,MAChC,IAAI,SAAS,CAAC,aAAa;QACzB,MAAM;QACN,KAAK;QACL,UAAU;QACV,SAAS;IACX;IAGF,gEAAgE;IAChE,IAAI,IAAI,QAAQ,CAAC,UAAU,MACzB,IAAI,QAAQ,CAAC;QACX,IAAI;QACJ,MAAM;QACN,OAAO;YACL,YAAY;YACZ,sBAAsB;gBAAC;gBAAK;aAAI;YAChC,gCAAgC;QAClC;IACF;IAGF,IAAI,UAAU,CAAC;QAAE,QAAQ;QAAa,cAAc;IAAE;IACtD,QAAQ,GAAG,CAAC,IAAI,UAAU;AAC5B;AAEA,SAAS,yCAAmB,GAAG;IAC7B,KAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAG;QAClE,IAAI,OAAO,IAAI,IAAI,cACjB,OAAO;IAEX;IACA,OAAO;AACT","sources":["packages/map-interface/src/map-view/terrain.ts"],"sourcesContent":["// We should merge this with code in @macrostrat/mapbox-react/src/terrain.ts:\n\nexport function enable3DTerrain(\n map,\n shouldEnable: boolean,\n sourceID: string | null = null\n) {\n if (!map.style?._loaded) {\n map.once(\"style.load\", () => {\n enable3DTerrain(map, shouldEnable, sourceID);\n });\n return;\n }\n\n const currentTerrainSource = getTerrainSourceID(map);\n let demSourceID = sourceID ?? currentTerrainSource ?? \"mapbox-dem\";\n\n console.log(\"Enabling 3D terrain with source\", demSourceID);\n\n // Enable or disable terrain depending on our current desires...\n const currentTerrain = map.getTerrain();\n\n if (!shouldEnable) {\n if (currentTerrain != null) map.setTerrain(null);\n return;\n }\n if (currentTerrain != null) return;\n\n // Add a DEM source if one is not found already.\n if (map.getSource(demSourceID) == null) {\n map.addSource(demSourceID, {\n type: \"raster-dem\",\n url: \"mapbox://mapbox.mapbox-terrain-dem-v1\",\n tileSize: 512,\n maxzoom: 14,\n });\n }\n\n // add a sky layer that will show when the map is highly pitched\n if (map.getLayer(\"sky\") == null) {\n map.addLayer({\n id: \"sky\",\n type: \"sky\",\n paint: {\n \"sky-type\": \"atmosphere\",\n \"sky-atmosphere-sun\": [0.0, 0.0],\n \"sky-atmosphere-sun-intensity\": 15,\n },\n });\n }\n\n map.setTerrain({ source: demSourceID, exaggeration: 1 });\n console.log(map.getTerrain());\n}\n\nfunction getTerrainSourceID(map) {\n for (const [key, source] of Object.entries(map.getStyle().sources)) {\n if (source.type == \"raster-dem\") {\n return key;\n }\n }\n return null;\n}\n"],"names":[],"version":3,"file":"terrain.90f76b4e.js.map"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import $44I7C$mainmodulef70e002bjs from "./main.module.f70e002b.js";
|
|
2
|
-
import "../cjs/main.module.f085a193.css";
|
|
3
|
-
import {enable3DTerrain as $286fbb15f2139dc1$export$b730542ee281c4b1} from "./terrain.f65cf7c5.js";
|
|
4
|
-
import {MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6} from "./helpers.fb1d7227.js";
|
|
5
|
-
import {getMapPadding as $82fe09613877ffc2$export$bb78f9f01775eef1} from "./utils.d40349f0.js";
|
|
6
|
-
import $44I7C$macrostrathyper from "@macrostrat/hyper";
|
|
7
|
-
import {useMapDispatch as $44I7C$useMapDispatch, useMapRef as $44I7C$useMapRef, useMapPosition as $44I7C$useMapPosition} from "@macrostrat/mapbox-react";
|
|
8
|
-
import {setMapPosition as $44I7C$setMapPosition, mapViewInfo as $44I7C$mapViewInfo} from "@macrostrat/mapbox-utils";
|
|
9
|
-
import $44I7C$classnames from "classnames";
|
|
10
|
-
import $44I7C$mapboxgl from "mapbox-gl";
|
|
11
|
-
import {useRef as $44I7C$useRef, useEffect as $44I7C$useEffect} from "react";
|
|
12
|
-
import "mapbox-gl/dist/mapbox-gl.css";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function $parcel$interopDefault(a) {
|
|
16
|
-
return a && a.__esModule ? a.default : a;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const $9e150e311a3261e9$var$h = (0, $44I7C$macrostrathyper).styled((0, ($parcel$interopDefault($44I7C$mainmodulef70e002bjs))));
|
|
30
|
-
function $9e150e311a3261e9$var$defaultInitializeMap(container, args = {}) {
|
|
31
|
-
const { mapPosition: mapPosition, ...rest } = args;
|
|
32
|
-
console.log("Initializing map (default)", args);
|
|
33
|
-
const map = new (0, $44I7C$mapboxgl).Map({
|
|
34
|
-
container: container,
|
|
35
|
-
maxZoom: 18,
|
|
36
|
-
//maxTileCacheSize: 0,
|
|
37
|
-
logoPosition: "bottom-left",
|
|
38
|
-
trackResize: true,
|
|
39
|
-
antialias: true,
|
|
40
|
-
optimizeForTerrain: true,
|
|
41
|
-
...rest
|
|
42
|
-
});
|
|
43
|
-
// set initial map position
|
|
44
|
-
if (mapPosition != null) (0, $44I7C$setMapPosition)(map, mapPosition);
|
|
45
|
-
//setMapPosition(map, mapPosition);
|
|
46
|
-
return map;
|
|
47
|
-
}
|
|
48
|
-
const $9e150e311a3261e9$var$defaultMapPosition = {
|
|
49
|
-
camera: {
|
|
50
|
-
lat: 34,
|
|
51
|
-
lng: -120,
|
|
52
|
-
altitude: 300000
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
function $9e150e311a3261e9$export$ab1e7a67d6ec5ad8(props) {
|
|
56
|
-
let { terrainSourceID: terrainSourceID } = props;
|
|
57
|
-
const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition = $9e150e311a3261e9$var$defaultMapPosition, initializeMap: initializeMap = $9e150e311a3261e9$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
|
|
58
|
-
accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, ...rest } = props;
|
|
59
|
-
if (enableTerrain) terrainSourceID ??= "mapbox-3d-dem";
|
|
60
|
-
const _mapboxToken = mapboxToken ?? accessToken;
|
|
61
|
-
if (_mapboxToken != null) (0, $44I7C$mapboxgl).accessToken = _mapboxToken;
|
|
62
|
-
const dispatch = (0, $44I7C$useMapDispatch)();
|
|
63
|
-
let mapRef = (0, $44I7C$useMapRef)();
|
|
64
|
-
const ref = (0, $44I7C$useRef)();
|
|
65
|
-
const parentRef = (0, $44I7C$useRef)();
|
|
66
|
-
(0, $44I7C$useEffect)(()=>{
|
|
67
|
-
if (style == null) return;
|
|
68
|
-
let map = mapRef.current;
|
|
69
|
-
if (map != null) {
|
|
70
|
-
console.log("Setting style", style);
|
|
71
|
-
map.setStyle(style);
|
|
72
|
-
} else {
|
|
73
|
-
console.log("Initializing map", style);
|
|
74
|
-
const map = initializeMap(ref.current, {
|
|
75
|
-
style: style,
|
|
76
|
-
projection: projection,
|
|
77
|
-
mapPosition: mapPosition,
|
|
78
|
-
transformRequest: transformRequest,
|
|
79
|
-
...rest
|
|
80
|
-
});
|
|
81
|
-
dispatch({
|
|
82
|
-
type: "set-map",
|
|
83
|
-
payload: map
|
|
84
|
-
});
|
|
85
|
-
map.setPadding((0, $82fe09613877ffc2$export$bb78f9f01775eef1)(ref, parentRef), {
|
|
86
|
-
animate: false
|
|
87
|
-
});
|
|
88
|
-
onMapLoaded?.(map);
|
|
89
|
-
}
|
|
90
|
-
const loadCallback = ()=>{
|
|
91
|
-
onStyleLoaded?.(map);
|
|
92
|
-
dispatch({
|
|
93
|
-
type: "set-style-loaded",
|
|
94
|
-
payload: true
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
map = mapRef.current;
|
|
98
|
-
if (map.isStyleLoaded()) // Catch a race condition where the style is loaded before the callback is set
|
|
99
|
-
loadCallback();
|
|
100
|
-
map.on("style.load", loadCallback);
|
|
101
|
-
return ()=>{
|
|
102
|
-
map.off("style.load", loadCallback);
|
|
103
|
-
};
|
|
104
|
-
}, [
|
|
105
|
-
style
|
|
106
|
-
]);
|
|
107
|
-
const _computedMapPosition = (0, $44I7C$useMapPosition)();
|
|
108
|
-
const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $44I7C$mapViewInfo)(_computedMapPosition);
|
|
109
|
-
// Get map projection
|
|
110
|
-
const _projection = mapRef.current?.getProjection()?.name ?? "mercator";
|
|
111
|
-
const className = (0, $44I7C$classnames)({
|
|
112
|
-
"is-rotated": mapIsRotated ?? false,
|
|
113
|
-
"is-3d-available": mapUse3D ?? false
|
|
114
|
-
}, `${_projection}-projection`);
|
|
115
|
-
return $9e150e311a3261e9$var$h("div.map-view-container.main-view", {
|
|
116
|
-
ref: parentRef
|
|
117
|
-
}, [
|
|
118
|
-
$9e150e311a3261e9$var$h("div.mapbox-map#map", {
|
|
119
|
-
ref: ref,
|
|
120
|
-
className: className
|
|
121
|
-
}),
|
|
122
|
-
$9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$e57f9eaa51773f82), {
|
|
123
|
-
ignoredSources: [
|
|
124
|
-
"elevationMarker",
|
|
125
|
-
"crossSectionEndpoints"
|
|
126
|
-
]
|
|
127
|
-
}),
|
|
128
|
-
$9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$f6eeee399afc4e9a), {
|
|
129
|
-
onMapMoved: onMapMoved
|
|
130
|
-
}),
|
|
131
|
-
$9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$31b2e088aff2dc5d), {
|
|
132
|
-
containerRef: ref
|
|
133
|
-
}),
|
|
134
|
-
$9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$2ab96428dea558d6), {
|
|
135
|
-
containerRef: ref,
|
|
136
|
-
parentRef: parentRef,
|
|
137
|
-
infoMarkerPosition: infoMarkerPosition
|
|
138
|
-
}),
|
|
139
|
-
$9e150e311a3261e9$var$h($9e150e311a3261e9$export$cee395a8a2a00b29, {
|
|
140
|
-
mapUse3D: mapUse3D,
|
|
141
|
-
terrainSourceID: terrainSourceID
|
|
142
|
-
}),
|
|
143
|
-
children
|
|
144
|
-
]);
|
|
145
|
-
}
|
|
146
|
-
function $9e150e311a3261e9$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrainSourceID: terrainSourceID }) {
|
|
147
|
-
const mapRef = (0, $44I7C$useMapRef)();
|
|
148
|
-
(0, $44I7C$useEffect)(()=>{
|
|
149
|
-
const map = mapRef.current;
|
|
150
|
-
if (map == null) return;
|
|
151
|
-
(0, $286fbb15f2139dc1$export$b730542ee281c4b1)(map, mapUse3D, terrainSourceID);
|
|
152
|
-
}, [
|
|
153
|
-
mapRef.current,
|
|
154
|
-
mapUse3D
|
|
155
|
-
]);
|
|
156
|
-
return null;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
export {$9e150e311a3261e9$export$ab1e7a67d6ec5ad8 as MapView, $9e150e311a3261e9$export$cee395a8a2a00b29 as MapTerrainManager};
|
|
161
|
-
//# sourceMappingURL=map-view.a3fe6257.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/map-interface/src/map-view/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n useMapRef,\n useMapDispatch,\n useMapPosition,\n} from \"@macrostrat/mapbox-react\";\nimport {\n mapViewInfo,\n MapPosition,\n setMapPosition,\n} from \"@macrostrat/mapbox-utils\";\nimport classNames from \"classnames\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useEffect, useRef, useCallback } from \"react\";\nimport styles from \"../main.module.sass\";\nimport { enable3DTerrain } from \"./terrain\";\nimport {\n MapLoadingReporter,\n MapMovedReporter,\n MapPaddingManager,\n MapResizeManager,\n} from \"../helpers\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport { getMapPadding } from \"../utils\";\n\nconst h = hyper.styled(styles);\n\ntype MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, \"container\">;\n\nexport interface MapViewProps extends MapboxCoreOptions {\n showLineSymbols?: boolean;\n children?: React.ReactNode;\n mapboxToken?: string;\n // Deprecated\n accessToken?: string;\n terrainSourceID?: string;\n enableTerrain?: boolean;\n infoMarkerPosition?: mapboxgl.LngLatLike;\n mapPosition?: MapPosition;\n initializeMap?: (\n container: HTMLElement,\n args: MapboxOptionsExt\n ) => mapboxgl.Map;\n onMapLoaded?: (map: mapboxgl.Map) => void;\n onStyleLoaded?: (map: mapboxgl.Map) => void;\n onMapMoved?: (mapPosition: MapPosition, map: mapboxgl.Map) => void;\n}\n\nexport interface MapboxOptionsExt extends MapboxCoreOptions {\n mapPosition?: MapPosition;\n}\n\nfunction defaultInitializeMap(container, args: MapboxOptionsExt = {}) {\n const { mapPosition, ...rest } = args;\n console.log(\"Initializing map (default)\", args);\n\n const map = new mapboxgl.Map({\n container,\n maxZoom: 18,\n //maxTileCacheSize: 0,\n logoPosition: \"bottom-left\",\n trackResize: true,\n antialias: true,\n optimizeForTerrain: true,\n ...rest,\n });\n\n // set initial map position\n if (mapPosition != null) {\n setMapPosition(map, mapPosition);\n }\n\n //setMapPosition(map, mapPosition);\n return map;\n}\n\nconst defaultMapPosition: MapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000,\n },\n};\n\nexport function MapView(props: MapViewProps) {\n let { terrainSourceID } = props;\n const {\n enableTerrain = true,\n style,\n mapPosition = defaultMapPosition,\n initializeMap = defaultInitializeMap,\n children,\n mapboxToken,\n // Deprecated\n accessToken,\n infoMarkerPosition,\n transformRequest,\n projection,\n onMapLoaded = null,\n onStyleLoaded = null,\n onMapMoved = null,\n ...rest\n } = props;\n if (enableTerrain) {\n terrainSourceID ??= \"mapbox-3d-dem\";\n }\n\n const _mapboxToken = mapboxToken ?? accessToken;\n\n if (_mapboxToken != null) {\n mapboxgl.accessToken = _mapboxToken;\n }\n\n const dispatch = useMapDispatch();\n let mapRef = useMapRef();\n const ref = useRef<HTMLDivElement>();\n const parentRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (style == null) return;\n let map = mapRef.current;\n if (map != null) {\n console.log(\"Setting style\", style);\n map.setStyle(style);\n } else {\n console.log(\"Initializing map\", style);\n const map = initializeMap(ref.current, {\n style,\n projection,\n mapPosition,\n transformRequest,\n ...rest,\n });\n dispatch({ type: \"set-map\", payload: map });\n map.setPadding(getMapPadding(ref, parentRef), { animate: false });\n onMapLoaded?.(map);\n }\n\n const loadCallback = () => {\n onStyleLoaded?.(map);\n dispatch({ type: \"set-style-loaded\", payload: true });\n };\n\n map = mapRef.current;\n if (map.isStyleLoaded()) {\n // Catch a race condition where the style is loaded before the callback is set\n loadCallback();\n }\n map.on(\"style.load\", loadCallback);\n return () => {\n map.off(\"style.load\", loadCallback);\n };\n }, [style]);\n\n const _computedMapPosition = useMapPosition();\n const { mapUse3D, mapIsRotated } = mapViewInfo(_computedMapPosition);\n\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n\n const className = classNames(\n {\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": mapUse3D ?? false,\n },\n `${_projection}-projection`\n );\n\n return h(\"div.map-view-container.main-view\", { ref: parentRef }, [\n h(\"div.mapbox-map#map\", { ref, className }),\n h(MapLoadingReporter, {\n ignoredSources: [\"elevationMarker\", \"crossSectionEndpoints\"],\n }),\n h(MapMovedReporter, { onMapMoved }),\n h(MapResizeManager, { containerRef: ref }),\n h(MapPaddingManager, { containerRef: ref, parentRef, infoMarkerPosition }),\n h(MapTerrainManager, { mapUse3D, terrainSourceID }),\n children,\n ]);\n}\n\nexport function MapTerrainManager({\n mapUse3D,\n terrainSourceID,\n}: {\n mapUse3D?: boolean;\n terrainSourceID?: string;\n}) {\n const mapRef = useMapRef();\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n enable3DTerrain(map, mapUse3D, terrainSourceID);\n }, [mapRef.current, mapUse3D]);\n return null;\n}\n"],"names":[],"version":3,"file":"map-view.a3fe6257.js.map"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// We should merge this with code in @macrostrat/mapbox-react/src/terrain.ts:
|
|
2
|
-
function $286fbb15f2139dc1$export$b730542ee281c4b1(map, shouldEnable, sourceID = null) {
|
|
3
|
-
if (!map.style?._loaded) {
|
|
4
|
-
map.once("style.load", ()=>{
|
|
5
|
-
$286fbb15f2139dc1$export$b730542ee281c4b1(map, shouldEnable, sourceID);
|
|
6
|
-
});
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const currentTerrainSource = $286fbb15f2139dc1$var$getTerrainSourceID(map);
|
|
10
|
-
let demSourceID = sourceID ?? currentTerrainSource ?? "mapbox-dem";
|
|
11
|
-
console.log("Enabling 3D terrain with source", demSourceID);
|
|
12
|
-
// Enable or disable terrain depending on our current desires...
|
|
13
|
-
const currentTerrain = map.getTerrain();
|
|
14
|
-
if (!shouldEnable) {
|
|
15
|
-
if (currentTerrain != null) map.setTerrain(null);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (currentTerrain != null) return;
|
|
19
|
-
// Add a DEM source if one is not found already.
|
|
20
|
-
if (map.getSource(demSourceID) == null) map.addSource(demSourceID, {
|
|
21
|
-
type: "raster-dem",
|
|
22
|
-
url: "mapbox://mapbox.mapbox-terrain-dem-v1",
|
|
23
|
-
tileSize: 512,
|
|
24
|
-
maxzoom: 14
|
|
25
|
-
});
|
|
26
|
-
// add a sky layer that will show when the map is highly pitched
|
|
27
|
-
if (map.getLayer("sky") == null) map.addLayer({
|
|
28
|
-
id: "sky",
|
|
29
|
-
type: "sky",
|
|
30
|
-
paint: {
|
|
31
|
-
"sky-type": "atmosphere",
|
|
32
|
-
"sky-atmosphere-sun": [
|
|
33
|
-
0.0,
|
|
34
|
-
0.0
|
|
35
|
-
],
|
|
36
|
-
"sky-atmosphere-sun-intensity": 15
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
map.setTerrain({
|
|
40
|
-
source: demSourceID,
|
|
41
|
-
exaggeration: 1
|
|
42
|
-
});
|
|
43
|
-
console.log(map.getTerrain());
|
|
44
|
-
}
|
|
45
|
-
function $286fbb15f2139dc1$var$getTerrainSourceID(map) {
|
|
46
|
-
for (const [key, source] of Object.entries(map.getStyle().sources)){
|
|
47
|
-
if (source.type == "raster-dem") return key;
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export {$286fbb15f2139dc1$export$b730542ee281c4b1 as enable3DTerrain};
|
|
54
|
-
//# sourceMappingURL=terrain.f65cf7c5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAAA,6EAA6E;AAEtE,SAAS,0CACd,GAAG,EACH,YAAqB,EACrB,WAA0B,IAAI;IAE9B,IAAI,CAAC,IAAI,KAAK,EAAE,SAAS;QACvB,IAAI,IAAI,CAAC,cAAc;YACrB,0CAAgB,KAAK,cAAc;QACrC;QACA;IACF;IAEA,MAAM,uBAAuB,yCAAmB;IAChD,IAAI,cAAc,YAAY,wBAAwB;IAEtD,QAAQ,GAAG,CAAC,mCAAmC;IAE/C,gEAAgE;IAChE,MAAM,iBAAiB,IAAI,UAAU;IAErC,IAAI,CAAC,cAAc;QACjB,IAAI,kBAAkB,MAAM,IAAI,UAAU,CAAC;QAC3C;IACF;IACA,IAAI,kBAAkB,MAAM;IAE5B,gDAAgD;IAChD,IAAI,IAAI,SAAS,CAAC,gBAAgB,MAChC,IAAI,SAAS,CAAC,aAAa;QACzB,MAAM;QACN,KAAK;QACL,UAAU;QACV,SAAS;IACX;IAGF,gEAAgE;IAChE,IAAI,IAAI,QAAQ,CAAC,UAAU,MACzB,IAAI,QAAQ,CAAC;QACX,IAAI;QACJ,MAAM;QACN,OAAO;YACL,YAAY;YACZ,sBAAsB;gBAAC;gBAAK;aAAI;YAChC,gCAAgC;QAClC;IACF;IAGF,IAAI,UAAU,CAAC;QAAE,QAAQ;QAAa,cAAc;IAAE;IACtD,QAAQ,GAAG,CAAC,IAAI,UAAU;AAC5B;AAEA,SAAS,yCAAmB,GAAG;IAC7B,KAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAG;QAClE,IAAI,OAAO,IAAI,IAAI,cACjB,OAAO;IAEX;IACA,OAAO;AACT","sources":["packages/map-interface/src/map-view/terrain.ts"],"sourcesContent":["// We should merge this with code in @macrostrat/mapbox-react/src/terrain.ts:\n\nexport function enable3DTerrain(\n map,\n shouldEnable: boolean,\n sourceID: string | null = null\n) {\n if (!map.style?._loaded) {\n map.once(\"style.load\", () => {\n enable3DTerrain(map, shouldEnable, sourceID);\n });\n return;\n }\n\n const currentTerrainSource = getTerrainSourceID(map);\n let demSourceID = sourceID ?? currentTerrainSource ?? \"mapbox-dem\";\n\n console.log(\"Enabling 3D terrain with source\", demSourceID);\n\n // Enable or disable terrain depending on our current desires...\n const currentTerrain = map.getTerrain();\n\n if (!shouldEnable) {\n if (currentTerrain != null) map.setTerrain(null);\n return;\n }\n if (currentTerrain != null) return;\n\n // Add a DEM source if one is not found already.\n if (map.getSource(demSourceID) == null) {\n map.addSource(demSourceID, {\n type: \"raster-dem\",\n url: \"mapbox://mapbox.mapbox-terrain-dem-v1\",\n tileSize: 512,\n maxzoom: 14,\n });\n }\n\n // add a sky layer that will show when the map is highly pitched\n if (map.getLayer(\"sky\") == null) {\n map.addLayer({\n id: \"sky\",\n type: \"sky\",\n paint: {\n \"sky-type\": \"atmosphere\",\n \"sky-atmosphere-sun\": [0.0, 0.0],\n \"sky-atmosphere-sun-intensity\": 15,\n },\n });\n }\n\n map.setTerrain({ source: demSourceID, exaggeration: 1 });\n console.log(map.getTerrain());\n}\n\nfunction getTerrainSourceID(map) {\n for (const [key, source] of Object.entries(map.getStyle().sources)) {\n if (source.type == \"raster-dem\") {\n return key;\n }\n }\n return null;\n}\n"],"names":[],"version":3,"file":"terrain.f65cf7c5.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"ACAA,4FAME,iFAIA,sPAUE,sFAIJ,gCAGA,2DAIA,0HASA,iCACE","sources":["main.module.61b261c8.css","packages/map-interface/src/context-panel/main.module.sass"],"sourcesContent":["._8hZKsW_searchbar-holder {\n flex-direction: column;\n margin: 0;\n transition: margin .3s;\n display: flex;\n}\n\n._8hZKsW_searchbar-holder ._8hZKsW_navbar-holder {\n flex-direction: row;\n display: flex;\n}\n\n._8hZKsW_searchbar-holder ._8hZKsW_searchbar {\n background-color: var(--panel-background-color);\n border-radius: var(--map-panel-border-radius, 5px);\n width: 100%;\n padding: var(--navbar-padding, 10px);\n flex-direction: row;\n align-items: center;\n gap: 5px;\n display: flex;\n}\n\n._8hZKsW_searchbar-holder ._8hZKsW_searchbar .bp5-input-group {\n cursor: text;\n flex-grow: 1;\n}\n\n._8hZKsW_navbar {\n min-height: 50px;\n}\n\n.bp5-navbar > ._8hZKsW_loading-button {\n width: 40px;\n height: 40px;\n}\n\n._8hZKsW_status-tongue {\n background-color: var(--panel-background-color);\n margin: -12px 5px 0;\n padding: 12px 0 0;\n overflow: hidden;\n}\n\n@media screen and (width <= 768px) {\n ._8hZKsW_status-tongue {\n border-radius: 0;\n max-width: 100vw;\n margin: -3px 0 0;\n }\n}\n/*# sourceMappingURL=main.module.61b261c8.css.map */\n",".searchbar-holder\n transition: margin 300ms\n display: flex\n flex-direction: column\n margin: 0\n\n .navbar-holder\n display: flex\n flex-direction: row\n\n .searchbar\n width: 100%\n background-color: var(--panel-background-color)\n border-radius: var(--map-panel-border-radius, 5px)\n padding: var(--navbar-padding, 10px)\n display: flex\n flex-direction: row\n align-items: center\n gap: 5px\n\n :global(.bp5-input-group)\n flex-grow: 1\n cursor: text\n\n.navbar\n min-height: 50px\n\n:global(.bp5-navbar) > .loading-button\n width: 40px\n height: 40px\n\n.status-tongue\n background-color: var(--panel-background-color)\n margin: 5px\n margin-bottom: 0\n margin-top: -12px\n padding: 0\n padding-top: 12px\n overflow: hidden\n\n@media screen and (max-width: 768px)\n .status-tongue\n max-width: 100vw\n margin: 0\n border-radius: 0\n margin-top: -3px\n"],"names":[],"version":3,"file":"main.module.61b261c8.css.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.map-container_4c0a66{--map-panel-border-radius:4px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.map-container_4c0a66.show-panel-outlines_4c0a66 .map-view-container_4c0a66{outline:2px dotted #1e90ff}.map-container_4c0a66.fit-viewport_4c0a66{width:100vw;height:100vh;max-height:-webkit-fill-available}.map-container_4c0a66 .compass-control_4c0a66{display:none}.map-container_4c0a66.map-is-rotated_4c0a66 .compass-control_4c0a66{display:block}.map-container_4c0a66 .map-3d-control_4c0a66{display:none}.map-container_4c0a66.map-3d-available_4c0a66 .map-3d-control_4c0a66{display:block}.map-container_4c0a66.map-is-rotated_4c0a66.map-3d-available_4c0a66 .map-3d-control_4c0a66,.map-container_4c0a66 .globe-control_4c0a66{display:none}.map-container_4c0a66 .globe-control_4c0a66 svg{color:var(--secondary-color)}.map-container_4c0a66.map-is-global_4c0a66 .globe-control_4c0a66{display:block}.map-container_4c0a66.detail-panel-open_4c0a66 .zoom-control_4c0a66{opacity:0;display:none}.map-container_4c0a66.detail-panel-fixed_4c0a66 .detail-panel-holder_4c0a66>*{border-radius:unset}.detail-panel-holder_4c0a66{flex-direction:column;min-height:0;display:flex}.detail-panel-holder_4c0a66>*{flex:1}.map-control-stack_4c0a66{pointer-events:none;flex-direction:column;width:30em;margin-left:-30em;display:flex}.main-row_4c0a66{flex-direction:row;flex:1;min-height:0;max-height:100%;display:flex;position:relative}.map-ui_4c0a66{height:100%;max-height:100%;box-shadow:0 0 10px 4px var(--card-shadow-color);flex-direction:column;flex:1;display:flex;position:relative}.mapbox-map_4c0a66{position:absolute;inset:0}.mapbox-map_4c0a66.mapboxgl-map{position:absolute}.context-panel-holder_4c0a66>.bp5-card{background-color:var(--panel-background-color);padding:10px}.panel-card_4c0a66{background-color:var(--panel-background-color);border-radius:var(--map-panel-border-radius);padding:10px;overflow:hidden}.panel-card_4c0a66>:last-child{margin-bottom:0}.bp5-dark .panel-card_4c0a66{background-color:var(--panel-background-color)}.context-stack_4c0a66>div{flex-shrink:1}.context-stack_4c0a66>.searchbar_4c0a66{flex:0}.context-stack_4c0a66,.detail-stack_4c0a66{z-index:10;max-height:100%}.panel-container_4c0a66{flex-direction:column;display:flex}.panel-container_4c0a66>div{pointer-events:all}.panel-title_4c0a66{font-size:16px}.spacer_4c0a66{pointer-events:none;flex-grow:1}.map-view-container_4c0a66{flex-grow:1;position:relative;overflow:hidden}.searchbar-holder_4c0a66{margin-bottom:.5em}.right-panel_4c0a66{width:24em}.buttons_4c0a66{flex-direction:row;flex:1;min-width:0;display:flex}.tab-button_4c0a66{text-align:right;flex-shrink:1;min-width:40px;overflow:hidden}.tab-button_4c0a66 .bp5-button-text{transition:all .2s .1s}.menu-card_4c0a66.narrow-card_4c0a66 .panel-header_4c0a66:not(.minimal_4c0a66) .tab-button_4c0a66.bp5-active~.tab-button_4c0a66 .bp5-button-text{opacity:0;width:0;margin-left:-7px}.context-panel-leave_4c0a66 .menu-card_4c0a66 .panel-header_4c0a66 .tab-button_4c0a66 .bp5-button-text{opacity:0;width:0}.narrow-card_4c0a66.narrow-enter_4c0a66 .panel-header_4c0a66 .buttons_4c0a66{margin-right:-500px}.panel-header_4c0a66.minimal_4c0a66 .tab-button_4c0a66:not(:hover):not(.bp5-active){width:30px;min-width:30px;padding-left:0;padding-right:0}.panel-header_4c0a66.minimal_4c0a66 .tab-button_4c0a66:not(:hover) .bp5-button-text{opacity:0;width:0;margin-left:-7px}.menu-group_4c0a66{margin-top:.2em;margin-bottom:.5em}.menu-card_4c0a66 .bp5-text ul,.menu-card_4c0a66 .text-panel ul{padding-left:1em}.menu-content_4c0a66{flex-direction:column;margin-bottom:-8px;display:flex}.menu-content_4c0a66 .bp5-button-group_4c0a66{margin-bottom:4px}.menu-content_4c0a66 hr{width:100%}.mapbox-map .mapbox-compass,.mapbox-map .mapbox-3d{display:none}.mapboxgl-ctrl.mapbox-3d.mapbox-control{width:unset}.mapboxgl-ctrl.mapbox-3d.mapbox-control button{width:unset;padding-inline:4px}.mapboxgl-canvas-container{width:100%;height:100%}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:var(--translucent-panel-background-color)!important}.mapboxgl-ctrl.mapboxgl-ctrl-attrib a{color:var(--text-color)}.mapboxgl-marker svg path{fill:var(--panel-background-color)!important}.mapboxgl-marker svg circle{fill:var(--secondary-color)!important}.mapbox-control.mapbox-zoom{background:var(--translucent-panel-background-inner)}.mapbox-control.mapbox-zoom svg{fill:var(--text-color)!important}.mapboxgl-ctrl-logo{transform:scale(.9)translate(-8px,2px)}.bp5-dark .mapboxgl-ctrl-group{background-color:var(--panel-background-color)}.bp5-dark .mapboxgl-ctrl-logo{filter:invert()}.mapboxgl-ctrl-group button+button{border-top:1px solid var(--panel-rule-color)!important}.bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon{filter:invert(40%)}.bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon:hover{filter:invert(50%)}.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{filter:invert(40%)}.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon:hover{filter:invert(50%)}.detail-stack_4c0a66{position:relative}.detail-panel-container_4c0a66,.map-right-controls_4c0a66{flex:1}.zoom-control_4c0a66{width:30px;transition:opacity 1s ease-in-out;position:absolute;top:0;right:0}.map-controls_4c0a66{flex-direction:row;justify-content:right;gap:.5em;margin-bottom:0;display:flex}.map-controls_4c0a66 .map-control>.bp5-button{padding:0;transform:translate(-3.5px,-3.5px);width:22px!important}.map-controls_4c0a66 .mapbox-control,.map-controls_4c0a66 .map-control-wrapper,.map-controls_4c0a66 .map-control{background-color:var(--panel-background-color);height:22px;max-height:22px;box-shadow:0 0 0 1px var(--card-shadow-color);border-radius:4px}.map-controls_4c0a66 .mapbox-control button,.map-controls_4c0a66 .map-control-wrapper button,.map-controls_4c0a66 .map-control button{background-position:50%;width:22px;max-width:22px;height:22px;max-height:22px;padding:0}.map-controls_4c0a66 .map-scale-control_4c0a66{box-shadow:none;background:0 0;padding-top:8px}.map-controls_4c0a66 .map-scale-control_4c0a66 .mapboxgl-ctrl-scale{background-color:var(--translucent-panel-background-color);border-color:var(--secondary-text-color);color:var(--secondary-text-color)}@media only screen and (width<=768px){.map-container_4c0a66.detail-panel-enter_4c0a66 .context-stack_4c0a66{visibility:hidden;height:0;transition:height .5s ease-in-out}.detail-stack_4c0a66{height:fit-content;position:inherit;max-height:70%}.infodrawer-stack_4c0a66{max-height:70%}.infodrawer-stack_4c0a66.exit-active{max-height:0}.mapbox-control.mapbox-zoom{display:none}.map-controls_4c0a66{position:absolute;top:-60px;right:10px}.detail-panel_4c0a66{border-radius:0}}@media screen and (width>=768px){.map-ui_4c0a66{flex-direction:row;gap:.5em;min-height:80px;padding:1em 1em 2em}.context-stack_4c0a66{max-width:var(--map-context-stack-max-width,34em);min-width:14em;width:var(--map-context-stack-width,16em);flex-direction:column;margin-right:.5em;padding-bottom:.5em;transition:width .3s;display:flex}.context-stack_4c0a66.adaptive-width_4c0a66{width:var(--map-context-stack-width,none);max-width:var(--map-context-stack-max-width,none);transition:width .3s}.context-stack_4c0a66 .bp5-navbar h1,.context-stack_4c0a66 .bp5-navbar h2,.context-stack_4c0a66 .bp5-navbar h3{margin:0}.context-stack_4c0a66>.spacer_4c0a66{flex-grow:0}.context-panel-holder_4c0a66{min-height:0;position:relative}.context-panel-holder_4c0a66>div{max-height:100%}.detail-stack_4c0a66{width:var(--map-detail-stack-width,30em);flex-direction:column;display:flex}.context-stack_4c0a66,.detail-stack_4c0a66{pointer-events:none;z-index:10}.context-stack_4c0a66>div,.detail-stack_4c0a66>div{pointer-events:all;margin-bottom:.5em}.context-stack_4c0a66>div:last-child,.detail-stack_4c0a66>div:last-child{margin-bottom:0}.context-stack_4c0a66>div.spacer_4c0a66,.detail-stack_4c0a66>div.spacer_4c0a66{pointer-events:none}.context-stack_4c0a66 .context-stack_4c0a66 .spacer_4c0a66,.detail-stack_4c0a66 .context-stack_4c0a66 .spacer_4c0a66{min-height:1em}.map-view-container_4c0a66{position:unset}}.map-container_4c0a66 .context-panel-holder_4c0a66{pointer-events:none;flex:1}.map-container_4c0a66 .context-panel-holder_4c0a66>div{pointer-events:all;transition:opacity .8s}.map-container_4c0a66.context-panel-from_4c0a66 .context-panel-holder_4c0a66>div{opacity:0}.map-container_4c0a66.context-panel-enter_4c0a66 .context-panel-holder_4c0a66>div{opacity:1}.map-container_4c0a66.context-panel-leave_4c0a66 .context-panel-holder_4c0a66>div,.map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-from_4c0a66 .detail-panel-holder_4c0a66{opacity:0}.map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-enter_4c0a66 .detail-panel-holder_4c0a66{opacity:1}.map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-leave_4c0a66 .detail-panel-holder_4c0a66{opacity:0}.map-container_4c0a66.detail-panel-floating_4c0a66 .detail-panel_4c0a66{transition:opacity .8s,height .8s,max-height .8s}.map-container_4c0a66.detail-panel-fixed_4c0a66 .map-ui_4c0a66,.map-container_4c0a66.detail-panel-fixed_4c0a66 .detail-stack_4c0a66{transition:margin-right .8s}.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-from_4c0a66 .detail-panel-holder_4c0a66{margin-right:calc(-1*var(--map-detail-stack-width,30em))}.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-enter_4c0a66 .detail-panel-holder_4c0a66{margin-right:0}.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-leave_4c0a66 .detail-panel-holder_4c0a66{margin-right:calc(-1*var(--map-detail-stack-width,30em))}@media only screen and (width<=768px){.map-container_4c0a66 .detail-stack_4c0a66{transition:opacity .8s,height .8s,max-height .8s}.map-container_4c0a66.detail-panel-from_4c0a66 .detail-stack_4c0a66{height:0;max-height:0}.map-container_4c0a66.detail-panel-leave_4c0a66 .detail-stack_4c0a66{max-height:0}.map-container_4c0a66.context-panel-from_4c0a66 .context-panel_4c0a66{height:0;max-height:0}.map-container_4c0a66.context-panel-leave_4c0a66 .context-stack_4c0a66 .context-panel-holder_4c0a66{flex:0}.map-container_4c0a66.context-panel-leave_4c0a66 .context-stack_4c0a66 .spacer_4c0a66{flex:1}}@media only screen and (width>=768px){.map-container_4c0a66.detail-panel-leave_4c0a66 .map-view-container_4c0a66{margin-right:-14em}.map-container_4c0a66.map-is-global_4c0a66.detail-panel-leave_4c0a66 .map-view-container_4c0a66{margin-right:-30em}.map-container_4c0a66.map-is-global_4c0a66.context-panel-leave_4c0a66 .map-view-container_4c0a66{margin-left:-16em}}
|
|
2
|
-
/*# sourceMappingURL=main.module.89f269c7.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"ACAA,gJAUI,uGAGF,qGAOA,2DAIE,kFAGF,0DAGA,mFAGA,oJAME,6EAGF,+EAIE,2FAME,kG,4E,qC,8GAgBJ,uGAOA,wJAYF,6CAME,kDAGA,mGAKE,4I,+CAQF,4EAGA,wCAGE,+CAEJ,sEAKI,2D,+CAKJ,mC,+CAOE,yE,4C,+BASA,mEAKA,iF,2D,oLAYA,yHAGF,iGAGE,6I,uH,sD,iF,2EAsBA,gE,mCAKA,gE,oDAKA,8EAEF,kDAIA,yGAGE,8DAGE,uEAGA,kEAIA,iFAGF,iEAGA,2D,8EAME,8CAGA,0FAGA,sEAGA,4EAGA,gEAGA,sEAGA,uCAGA,iEAIE,kG,oGAcJ,gH,4P,8NAqBA,8F,0MAaF,sCAAA,mIAME,wEAGF,wCAIE,kDAGA,yC,4D,sC,iCA4BE,+EAMA,+N,6J,wH,iDAoBJ,4DAME,iDAIA,iG,0EASE,yFAIA,yFAIA,mGAGE,oIAQF,2CAKA,8E,iGAQA,2FAGA,4FAGA,oM,mH,mH,yHAeF,gKAQE,8JAGA,qH,+J,sCAQF,4FAGA,0FAOI,kFAGA,4F,2G,8FAaF,sCACE,8FAGA,mHAGA","sources":["main.module.89f269c7.css","packages/map-interface/src/main.module.sass"],"sourcesContent":[".map-container_4c0a66 {\n --map-panel-border-radius: 4px;\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\n.map-container_4c0a66.show-panel-outlines_4c0a66 .map-view-container_4c0a66 {\n outline: 2px dotted #1e90ff;\n}\n\n.map-container_4c0a66.fit-viewport_4c0a66 {\n width: 100vw;\n height: 100vh;\n max-height: -webkit-fill-available;\n}\n\n.map-container_4c0a66 .compass-control_4c0a66 {\n display: none;\n}\n\n.map-container_4c0a66.map-is-rotated_4c0a66 .compass-control_4c0a66 {\n display: block;\n}\n\n.map-container_4c0a66 .map-3d-control_4c0a66 {\n display: none;\n}\n\n.map-container_4c0a66.map-3d-available_4c0a66 .map-3d-control_4c0a66 {\n display: block;\n}\n\n.map-container_4c0a66.map-is-rotated_4c0a66.map-3d-available_4c0a66 .map-3d-control_4c0a66, .map-container_4c0a66 .globe-control_4c0a66 {\n display: none;\n}\n\n.map-container_4c0a66 .globe-control_4c0a66 svg {\n color: var(--secondary-color);\n}\n\n.map-container_4c0a66.map-is-global_4c0a66 .globe-control_4c0a66 {\n display: block;\n}\n\n.map-container_4c0a66.detail-panel-open_4c0a66 .zoom-control_4c0a66 {\n opacity: 0;\n display: none;\n}\n\n.map-container_4c0a66.detail-panel-fixed_4c0a66 .detail-panel-holder_4c0a66 > * {\n border-radius: unset;\n}\n\n.detail-panel-holder_4c0a66 {\n flex-direction: column;\n min-height: 0;\n display: flex;\n}\n\n.detail-panel-holder_4c0a66 > * {\n flex: 1;\n}\n\n.map-control-stack_4c0a66 {\n pointer-events: none;\n flex-direction: column;\n width: 30em;\n margin-left: -30em;\n display: flex;\n}\n\n.main-row_4c0a66 {\n flex-direction: row;\n flex: 1;\n min-height: 0;\n max-height: 100%;\n display: flex;\n position: relative;\n}\n\n.map-ui_4c0a66 {\n height: 100%;\n max-height: 100%;\n box-shadow: 0 0 10px 4px var(--card-shadow-color);\n flex-direction: column;\n flex: 1;\n display: flex;\n position: relative;\n}\n\n.mapbox-map_4c0a66 {\n position: absolute;\n inset: 0;\n}\n\n.mapbox-map_4c0a66.mapboxgl-map {\n position: absolute;\n}\n\n.context-panel-holder_4c0a66 > .bp5-card {\n background-color: var(--panel-background-color);\n padding: 10px;\n}\n\n.panel-card_4c0a66 {\n background-color: var(--panel-background-color);\n border-radius: var(--map-panel-border-radius);\n padding: 10px;\n overflow: hidden;\n}\n\n.panel-card_4c0a66 > :last-child {\n margin-bottom: 0;\n}\n\n.bp5-dark .panel-card_4c0a66 {\n background-color: var(--panel-background-color);\n}\n\n.context-stack_4c0a66 > div {\n flex-shrink: 1;\n}\n\n.context-stack_4c0a66 > .searchbar_4c0a66 {\n flex: 0;\n}\n\n.context-stack_4c0a66, .detail-stack_4c0a66 {\n z-index: 10;\n max-height: 100%;\n}\n\n.panel-container_4c0a66 {\n flex-direction: column;\n display: flex;\n}\n\n.panel-container_4c0a66 > div {\n pointer-events: all;\n}\n\n.panel-title_4c0a66 {\n font-size: 16px;\n}\n\n.spacer_4c0a66 {\n pointer-events: none;\n flex-grow: 1;\n}\n\n.map-view-container_4c0a66 {\n flex-grow: 1;\n position: relative;\n overflow: hidden;\n}\n\n.searchbar-holder_4c0a66 {\n margin-bottom: .5em;\n}\n\n.right-panel_4c0a66 {\n width: 24em;\n}\n\n.buttons_4c0a66 {\n flex-direction: row;\n flex: 1;\n min-width: 0;\n display: flex;\n}\n\n.tab-button_4c0a66 {\n text-align: right;\n flex-shrink: 1;\n min-width: 40px;\n overflow: hidden;\n}\n\n.tab-button_4c0a66 .bp5-button-text {\n transition: all .2s .1s;\n}\n\n.menu-card_4c0a66.narrow-card_4c0a66 .panel-header_4c0a66:not(.minimal_4c0a66) .tab-button_4c0a66.bp5-active ~ .tab-button_4c0a66 .bp5-button-text {\n opacity: 0;\n width: 0;\n margin-left: -7px;\n}\n\n.context-panel-leave_4c0a66 .menu-card_4c0a66 .panel-header_4c0a66 .tab-button_4c0a66 .bp5-button-text {\n opacity: 0;\n width: 0;\n}\n\n.narrow-card_4c0a66.narrow-enter_4c0a66 .panel-header_4c0a66 .buttons_4c0a66 {\n margin-right: -500px;\n}\n\n.panel-header_4c0a66.minimal_4c0a66 .tab-button_4c0a66:not(:hover):not(.bp5-active) {\n width: 30px;\n min-width: 30px;\n padding-left: 0;\n padding-right: 0;\n}\n\n.panel-header_4c0a66.minimal_4c0a66 .tab-button_4c0a66:not(:hover) .bp5-button-text {\n opacity: 0;\n width: 0;\n margin-left: -7px;\n}\n\n.menu-group_4c0a66 {\n margin-top: .2em;\n margin-bottom: .5em;\n}\n\n.menu-card_4c0a66 .bp5-text ul, .menu-card_4c0a66 .text-panel ul {\n padding-left: 1em;\n}\n\n.menu-content_4c0a66 {\n flex-direction: column;\n margin-bottom: -8px;\n display: flex;\n}\n\n.menu-content_4c0a66 .bp5-button-group_4c0a66 {\n margin-bottom: 4px;\n}\n\n.menu-content_4c0a66 hr {\n width: 100%;\n}\n\n.mapbox-map .mapbox-compass, .mapbox-map .mapbox-3d {\n display: none;\n}\n\n.mapboxgl-ctrl.mapbox-3d.mapbox-control {\n width: unset;\n}\n\n.mapboxgl-ctrl.mapbox-3d.mapbox-control button {\n width: unset;\n padding-inline: 4px;\n}\n\n.mapboxgl-canvas-container {\n width: 100%;\n height: 100%;\n}\n\n.mapboxgl-ctrl.mapboxgl-ctrl-attrib {\n background-color: var(--translucent-panel-background-color) !important;\n}\n\n.mapboxgl-ctrl.mapboxgl-ctrl-attrib a {\n color: var(--text-color);\n}\n\n.mapboxgl-marker svg path {\n fill: var(--panel-background-color) !important;\n}\n\n.mapboxgl-marker svg circle {\n fill: var(--secondary-color) !important;\n}\n\n.mapbox-control.mapbox-zoom {\n background: var(--translucent-panel-background-inner);\n}\n\n.mapbox-control.mapbox-zoom svg {\n fill: var(--text-color) !important;\n}\n\n.mapboxgl-ctrl-logo {\n transform: scale(.9)translate(-8px, 2px);\n}\n\n.bp5-dark .mapboxgl-ctrl-group {\n background-color: var(--panel-background-color);\n}\n\n.bp5-dark .mapboxgl-ctrl-logo {\n filter: invert();\n}\n\n.mapboxgl-ctrl-group button + button {\n border-top: 1px solid var(--panel-rule-color) !important;\n}\n\n.bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon {\n filter: invert(40%);\n}\n\n.bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon:hover {\n filter: invert(50%);\n}\n\n.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n filter: invert(40%);\n}\n\n.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon:hover {\n filter: invert(50%);\n}\n\n.detail-stack_4c0a66 {\n position: relative;\n}\n\n.detail-panel-container_4c0a66, .map-right-controls_4c0a66 {\n flex: 1;\n}\n\n.zoom-control_4c0a66 {\n width: 30px;\n transition: opacity 1s ease-in-out;\n position: absolute;\n top: 0;\n right: 0;\n}\n\n.map-controls_4c0a66 {\n flex-direction: row;\n justify-content: right;\n gap: .5em;\n margin-bottom: 0;\n display: flex;\n}\n\n.map-controls_4c0a66 .map-control > .bp5-button {\n padding: 0;\n transform: translate(-3.5px, -3.5px);\n width: 22px !important;\n}\n\n.map-controls_4c0a66 .mapbox-control, .map-controls_4c0a66 .map-control-wrapper, .map-controls_4c0a66 .map-control {\n background-color: var(--panel-background-color);\n height: 22px;\n max-height: 22px;\n box-shadow: 0 0 0 1px var(--card-shadow-color);\n border-radius: 4px;\n}\n\n.map-controls_4c0a66 .mapbox-control button, .map-controls_4c0a66 .map-control-wrapper button, .map-controls_4c0a66 .map-control button {\n background-position: center;\n width: 22px;\n max-width: 22px;\n height: 22px;\n max-height: 22px;\n padding: 0;\n}\n\n.map-controls_4c0a66 .map-scale-control_4c0a66 {\n box-shadow: none;\n background: none;\n padding-top: 8px;\n}\n\n.map-controls_4c0a66 .map-scale-control_4c0a66 .mapboxgl-ctrl-scale {\n background-color: var(--translucent-panel-background-color);\n border-color: var(--secondary-text-color);\n color: var(--secondary-text-color);\n}\n\n@media only screen and (width <= 768px) {\n .map-container_4c0a66.detail-panel-enter_4c0a66 .context-stack_4c0a66 {\n visibility: hidden;\n height: 0;\n transition: height .5s ease-in-out;\n }\n\n .detail-stack_4c0a66 {\n height: fit-content;\n position: inherit;\n max-height: 70%;\n }\n\n .infodrawer-stack_4c0a66 {\n max-height: 70%;\n }\n\n .infodrawer-stack_4c0a66.exit-active {\n max-height: 0;\n }\n\n .mapbox-control.mapbox-zoom {\n display: none;\n }\n\n .map-controls_4c0a66 {\n position: absolute;\n top: -60px;\n right: 10px;\n }\n\n .detail-panel_4c0a66 {\n border-radius: 0;\n }\n}\n\n@media screen and (width >= 768px) {\n .map-ui_4c0a66 {\n flex-direction: row;\n gap: .5em;\n min-height: 80px;\n padding: 1em 1em 2em;\n }\n\n .context-stack_4c0a66 {\n max-width: var(--map-context-stack-max-width, 34em);\n min-width: 14em;\n width: var(--map-context-stack-width, 16em);\n flex-direction: column;\n margin-right: .5em;\n padding-bottom: .5em;\n transition: width .3s;\n display: flex;\n }\n\n .context-stack_4c0a66.adaptive-width_4c0a66 {\n width: var(--map-context-stack-width, none);\n max-width: var(--map-context-stack-max-width, none);\n transition: width .3s;\n }\n\n .context-stack_4c0a66 .bp5-navbar h1, .context-stack_4c0a66 .bp5-navbar h2, .context-stack_4c0a66 .bp5-navbar h3 {\n margin: 0;\n }\n\n .context-stack_4c0a66 > .spacer_4c0a66 {\n flex-grow: 0;\n }\n\n .context-panel-holder_4c0a66 {\n min-height: 0;\n position: relative;\n }\n\n .context-panel-holder_4c0a66 > div {\n max-height: 100%;\n }\n\n .detail-stack_4c0a66 {\n width: var(--map-detail-stack-width, 30em);\n flex-direction: column;\n display: flex;\n }\n\n .context-stack_4c0a66, .detail-stack_4c0a66 {\n pointer-events: none;\n z-index: 10;\n }\n\n .context-stack_4c0a66 > div, .detail-stack_4c0a66 > div {\n pointer-events: all;\n margin-bottom: .5em;\n }\n\n .context-stack_4c0a66 > div:last-child, .detail-stack_4c0a66 > div:last-child {\n margin-bottom: 0;\n }\n\n .context-stack_4c0a66 > div.spacer_4c0a66, .detail-stack_4c0a66 > div.spacer_4c0a66 {\n pointer-events: none;\n }\n\n .context-stack_4c0a66 .context-stack_4c0a66 .spacer_4c0a66, .detail-stack_4c0a66 .context-stack_4c0a66 .spacer_4c0a66 {\n min-height: 1em;\n }\n\n .map-view-container_4c0a66 {\n position: unset;\n }\n}\n\n.map-container_4c0a66 .context-panel-holder_4c0a66 {\n pointer-events: none;\n flex: 1;\n}\n\n.map-container_4c0a66 .context-panel-holder_4c0a66 > div {\n pointer-events: all;\n transition: opacity .8s;\n}\n\n.map-container_4c0a66.context-panel-from_4c0a66 .context-panel-holder_4c0a66 > div {\n opacity: 0;\n}\n\n.map-container_4c0a66.context-panel-enter_4c0a66 .context-panel-holder_4c0a66 > div {\n opacity: 1;\n}\n\n.map-container_4c0a66.context-panel-leave_4c0a66 .context-panel-holder_4c0a66 > div, .map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-from_4c0a66 .detail-panel-holder_4c0a66 {\n opacity: 0;\n}\n\n.map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-enter_4c0a66 .detail-panel-holder_4c0a66 {\n opacity: 1;\n}\n\n.map-container_4c0a66.detail-panel-floating_4c0a66.detail-panel-leave_4c0a66 .detail-panel-holder_4c0a66 {\n opacity: 0;\n}\n\n.map-container_4c0a66.detail-panel-floating_4c0a66 .detail-panel_4c0a66 {\n transition: opacity .8s, height .8s, max-height .8s;\n}\n\n.map-container_4c0a66.detail-panel-fixed_4c0a66 .map-ui_4c0a66, .map-container_4c0a66.detail-panel-fixed_4c0a66 .detail-stack_4c0a66 {\n transition: margin-right .8s;\n}\n\n.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-from_4c0a66 .detail-panel-holder_4c0a66 {\n margin-right: calc(-1 * var(--map-detail-stack-width, 30em));\n}\n\n.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-enter_4c0a66 .detail-panel-holder_4c0a66 {\n margin-right: 0;\n}\n\n.map-container_4c0a66.detail-panel-fixed_4c0a66.detail-panel-leave_4c0a66 .detail-panel-holder_4c0a66 {\n margin-right: calc(-1 * var(--map-detail-stack-width, 30em));\n}\n\n@media only screen and (width <= 768px) {\n .map-container_4c0a66 .detail-stack_4c0a66 {\n transition: opacity .8s, height .8s, max-height .8s;\n }\n\n .map-container_4c0a66.detail-panel-from_4c0a66 .detail-stack_4c0a66 {\n height: 0;\n max-height: 0;\n }\n\n .map-container_4c0a66.detail-panel-leave_4c0a66 .detail-stack_4c0a66 {\n max-height: 0;\n }\n\n .map-container_4c0a66.context-panel-from_4c0a66 .context-panel_4c0a66 {\n height: 0;\n max-height: 0;\n }\n\n .map-container_4c0a66.context-panel-leave_4c0a66 .context-stack_4c0a66 .context-panel-holder_4c0a66 {\n flex: 0;\n }\n\n .map-container_4c0a66.context-panel-leave_4c0a66 .context-stack_4c0a66 .spacer_4c0a66 {\n flex: 1;\n }\n}\n\n@media only screen and (width >= 768px) {\n .map-container_4c0a66.detail-panel-leave_4c0a66 .map-view-container_4c0a66 {\n margin-right: -14em;\n }\n\n .map-container_4c0a66.map-is-global_4c0a66.detail-panel-leave_4c0a66 .map-view-container_4c0a66 {\n margin-right: -30em;\n }\n\n .map-container_4c0a66.map-is-global_4c0a66.context-panel-leave_4c0a66 .map-view-container_4c0a66 {\n margin-left: -16em;\n }\n}\n/*# sourceMappingURL=main.module.89f269c7.css.map */\n",".map-container\n display: flex\n flex-direction: column\n position: relative\n width: 100%\n height: 100%\n overflow: hidden\n --map-panel-border-radius: 4px\n\n &.show-panel-outlines\n .map-view-container\n outline: 2px dotted dodgerblue\n\n &.fit-viewport\n height: 100vh\n width: 100vw\n /* mobile viewport bug fix */\n max-height: -webkit-fill-available\n\n // Compass display\n .compass-control\n display: none\n\n &.map-is-rotated\n .compass-control\n display: block\n\n .map-3d-control\n display: none\n\n &.map-3d-available .map-3d-control\n display: block\n\n &.map-is-rotated.map-3d-available .map-3d-control\n display: none\n\n .globe-control\n display: none\n\n svg\n color: var(--secondary-color)\n\n &.map-is-global .globe-control\n display: block\n\n &.detail-panel-open\n .zoom-control\n opacity: 0\n display: none\n\n &.detail-panel-fixed\n .detail-panel-holder\n & > *\n border-radius: unset\n\n.detail-panel-holder\n display: flex\n flex-direction: column\n min-height: 0\n\n & > *\n flex: 1\n\n.map-control-stack\n display: flex\n flex-direction: column\n width: 30em\n margin-left: -30em\n pointer-events: none\n\n.main-row\n flex: 1\n display: flex\n flex-direction: row\n position: relative\n max-height: 100%\n min-height: 0\n\n.map-ui\n flex: 1\n position: relative\n display: flex\n flex-direction: column\n max-height: 100%\n height: 100%\n box-shadow: 0 0 10px 4px var(--card-shadow-color)\n\n.map-view-container\n flex-grow: 1\n position: relative\n overflow: hidden\n\n.mapbox-map\n position: absolute\n top: 0\n bottom: 0\n left: 0\n right: 0\n\n &:global(.mapboxgl-map)\n // override the default mapbox position: relative in all cases\n position: absolute\n\n\n.context-panel-holder > :global(.bp5-card)\n padding: 10px\n background-color: var(--panel-background-color)\n\n.panel-card\n padding: 10px\n background-color: var(--panel-background-color)\n overflow: hidden\n border-radius: var(--map-panel-border-radius)\n\n & > :last-child\n margin-bottom: 0\n\n:global(.bp5-dark) .panel-card\n background-color: var(--panel-background-color)\n\n.context-stack\n & > div\n flex-shrink: 1\n\n & > .searchbar\n flex: 0\n\n.context-stack,\n.detail-stack\n z-index: 10\n max-height: 100%\n\n.panel-container\n display: flex\n flex-direction: column\n\n & > div\n pointer-events: all\n\n.panel-title\n font-size: 16px\n\n.spacer\n flex-grow: 1\n pointer-events: none\n\n.map-view-container\n flex-grow: 1\n position: relative\n overflow: hidden\n\n.searchbar-holder\n margin-bottom: 0.5em\n\n.right-panel\n width: 24em\n\n.buttons\n display: flex\n flex-direction: row\n flex: 1\n min-width: 0\n\n.tab-button\n flex-shrink: 1\n min-width: 40px\n overflow: hidden\n text-align: right\n\n & :global(.bp5-button-text)\n transition: all 0.2s\n transition-delay: 0.1s\n\n .menu-card.narrow-card .panel-header:not(.minimal) &:global(.bp5-active) ~ & :global(.bp5-button-text)\n width: 0\n opacity: 0\n margin-left: -7px\n\n .context-panel-leave .menu-card .panel-header & :global(.bp5-button-text)\n opacity: 0\n width: 0\n\n.narrow-card.narrow-enter .panel-header .buttons\n margin-right: -500px\n\n.panel-header.minimal .tab-button:not(:hover):not(:global(.bp5-active))\n padding-left: 0\n padding-right: 0\n min-width: 30px\n width: 30px\n\n.panel-header.minimal .tab-button:not(:hover) :global(.bp5-button-text)\n width: 0\n opacity: 0\n margin-left: -7px\n\n.menu-group\n margin-bottom: 0.5em\n margin-top: 0.2em\n\n.menu-card :global .bp5-text ul,\n.menu-card :global .text-panel ul\n padding-left: 1em\n\n.menu-content\n display: flex\n flex-direction: column\n margin-bottom: -8px\n\n & .bp5-button-group\n margin-bottom: 4px\n\n & hr\n width: 100%\n\n:global\n .mapbox-map\n .mapbox-compass, .mapbox-3d\n display: none\n\n .mapboxgl-ctrl.mapbox-3d.mapbox-control\n width: unset\n\n .mapboxgl-ctrl.mapbox-3d.mapbox-control button\n width: unset\n padding-inline: 4px\n\n .mapboxgl-canvas-container\n width: 100%\n height: 100%\n\n .mapboxgl-ctrl.mapboxgl-ctrl-attrib\n background-color: var(--translucent-panel-background-color) !important\n\n .mapboxgl-ctrl.mapboxgl-ctrl-attrib a\n color: var(--text-color)\n\n .mapboxgl-marker svg path\n fill: var(--panel-background-color) !important\n\n .mapboxgl-marker svg circle\n fill: var(--secondary-color) !important\n\n .mapbox-control.mapbox-zoom\n background: var(--translucent-panel-background-inner)\n\n .mapbox-control.mapbox-zoom svg\n fill: var(--text-color) !important\n\n .mapboxgl-ctrl-logo\n transform: scale(0.9) translate(-8px, 2px)\n\n .bp5-dark\n .mapboxgl-ctrl-group\n background-color: var(--panel-background-color)\n\n .mapboxgl-ctrl-logo\n filter: invert(100%)\n\n .mapboxgl-ctrl-group button + button\n border-top: 1px solid var(--panel-rule-color) !important\n\n .bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon\n filter: invert(40%)\n\n .bp5-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon:hover\n filter: invert(50%)\n\n .mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon\n filter: invert(40%)\n\n .mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon:hover\n filter: invert(50%)\n\n.detail-stack\n position: relative\n\n.detail-panel-container, .map-right-controls\n flex: 1\n\n\n.zoom-control\n transition: opacity 1s ease-in-out\n width: 30px\n position: absolute\n top: 0\n right: 0\n\n.map-controls\n display: flex\n flex-direction: row\n justify-content: right\n margin-bottom: 0\n gap: 0.5em\n\n :global(.map-control)\n & > :global(.bp5-button)\n padding: 0\n transform: translate(-3.5px, -3.5px)\n width: 22px !important\n\n\n.map-controls :global(.mapbox-control),\n.map-controls :global(.map-control-wrapper),\n.map-controls :global(.map-control)\n max-height: 22px\n height: 22px\n border-radius: 4px\n background-color: var(--panel-background-color)\n box-shadow: 0 0 0 1px var(--card-shadow-color)\n\n.map-controls :global(.mapbox-control) button,\n.map-controls :global(.map-control-wrapper) button,\n.map-controls :global(.map-control) button\n max-height: 22px\n height: 22px\n width: 22px\n max-width: 22px\n background-position: center center\n padding: 0\n//background-color: var(--panel-background-color)\n//color: var(--text-color)\n\n//.map-controls :global(.mapbox-control) button:hover,\n//.map-controls :global(.map-control-wrapper) button:hover,\n//.map-controls .map-control button:hover\n// background-color: var(--panel-background-color) !important\n\n.map-controls .map-scale-control\n background: none\n box-shadow: none\n padding-top: 8px\n\n :global(.mapboxgl-ctrl-scale)\n background-color: var(--translucent-panel-background-color)\n border-color: var(--secondary-text-color)\n color: var(--secondary-text-color)\n\n// .map-container.detail-panel-fixed\n// right: 30em\n\n/* For mobile phones, we want to make the most of screen space,\n which in some cases means adding complications to the basic page. */\n@media only screen and (max-width: 768px)\n .map-container.detail-panel-enter .context-stack\n height: 0\n visibility: hidden\n transition: height 0.5s ease-in-out\n\n .detail-stack\n height: fit-content\n position: inherit\n max-height: 70%\n\n .infodrawer-stack\n max-height: 70%\n\n &:global(.exit-active)\n max-height: 0\n\n :global(.mapbox-control.mapbox-zoom)\n display: none\n\n .map-controls\n position: absolute\n top: -60px\n right: 10px\n\n .detail-panel\n border-radius: 0px\n\n\n/* Desktop styling is necessarily much more complicated than mobile\n to handle a two-column layout. */\n@media screen and (min-width: 768px)\n /* Make map fill page rather than containing div,\n by unsetting map position */\n // We should move this to another file.\n .map-view-container\n position: unset\n\n\n .map-ui\n flex-direction: row\n padding: 1em 1em 2em\n min-height: 80px\n gap: 0.5em\n\n .context-stack\n max-width: var(--map-context-stack-max-width, 34em)\n min-width: 14em\n transition: width 300ms ease\n padding-bottom: 0.5em\n width: var(--map-context-stack-width, 16em)\n margin-right: 0.5em\n display: flex\n flex-direction: column\n\n\n &.adaptive-width\n width: var(--map-context-stack-width, none)\n max-width: var(--map-context-stack-max-width, none)\n transition: width 300ms ease\n\n :global(.bp5-navbar)\n //height: unset\n //padding: 5px\n h1, h2, h3\n margin: 0\n\n & > .spacer\n flex-grow: 0\n\n .context-panel-holder\n min-height: 0\n position: relative\n\n & > div\n max-height: 100%\n\n .detail-stack\n width: var(--map-detail-stack-width, 30em)\n display: flex\n flex-direction: column\n\n .context-stack, .detail-stack\n pointer-events: none\n z-index: 10\n\n & > div\n pointer-events: all\n margin-bottom: 0.5em\n\n &:last-child\n margin-bottom: 0\n\n &.spacer\n pointer-events: none\n\n .context-stack .spacer\n min-height: 1em\n\n /* Make map fill page rather than containing div,\n by unsetting map position */\n .map-view-container\n position: unset\n\n/** CSS Transitions **/\n\n.map-container\n // Context panel\n .context-panel-holder\n pointer-events: none\n flex: 1\n\n & > div\n pointer-events: all\n transition: opacity 0.8s ease\n //, height 0.8s ease, max-height 0.8s ease, padding 0.8s ease\n\n &.context-panel-from .context-panel-holder > div\n opacity: 0\n\n &.context-panel-enter .context-panel-holder > div\n opacity: 1\n\n &.context-panel-leave .context-panel-holder > div\n opacity: 0\n\n // Detail panel (floating)\n &.detail-panel-floating\n // We assume that the relevant panel is the first child of the stack.\n &.detail-panel-from .detail-panel-holder\n opacity: 0\n\n &.detail-panel-enter .detail-panel-holder\n opacity: 1\n\n &.detail-panel-leave .detail-panel-holder\n opacity: 0\n\n .detail-panel\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n // TODO: these styles have not been evaluated for mobile\n &.detail-panel-fixed\n .map-ui\n transition: margin-right 0.8s ease\n\n .detail-stack\n transition: margin-right 0.8s ease\n\n &.detail-panel-from .detail-panel-holder\n margin-right: calc(-1 * var(--map-detail-stack-width, 30em))\n\n &.detail-panel-enter .detail-panel-holder\n margin-right: 0\n\n &.detail-panel-leave .detail-panel-holder\n margin-right: calc(-1 * var(--map-detail-stack-width, 30em))\n\n\n// The max-height transition is a bit jerky because of panel padding.\n// We could probably fix this by pulling the panel container itself into\n// the class.\n//max-height: 0\n//padding: 0i\n\n@media only screen and (max-width: 768px)\n .map-container .detail-stack\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n .map-container.detail-panel-from .detail-stack\n max-height: 0\n height: 0\n\n .map-container.detail-panel-leave .detail-stack\n max-height: 0\n\n .map-container.context-panel-from .context-panel\n max-height: 0\n height: 0\n\n .map-container.context-panel-leave\n .context-stack\n .context-panel-holder\n flex: 0\n\n .spacer\n flex: 1\n\n\n// Shift UI around to center elements if we're in the global view\n@media only screen and (min-width: 768px)\n .map-container.detail-panel-leave .map-view-container\n margin-right: -14em\n\n .map-container.map-is-global.detail-panel-leave .map-view-container\n margin-right: -30em\n\n .map-container.map-is-global.context-panel-leave .map-view-container\n margin-left: -16em\n"],"names":[],"version":3,"file":"main.module.89f269c7.css.map","sourceRoot":"../../../../"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"ACAA,+EAGE,kFAGF,0NAQE,yFAGA,6GAKA,4DAGA,6FAIA,qSAKE,2UAGJ,8CAGE,wFAIF,4LAUE,qFAME,4FAKJ,0CAEE,yDAEA,2DAIF,iHAQA,iCACE","sources":["main.module.ba3f4a78.css","packages/map-interface/src/location-panel/main.module.sass"],"sourcesContent":[".VPa3-W_copy-link-button.bp5-minimal.bp5-button {\n color: var(--text-subtle-color);\n}\n\n.VPa3-W_copy-link-button.bp5-minimal.bp5-button svg {\n fill: var(--text-subtle-color);\n}\n\n.VPa3-W_location-panel-header {\n align-items: center;\n gap: var(--panel-header-gap, .5rem);\n min-height: var(--panel-header-height, 40px);\n border-bottom: 1px solid var(--panel-rule-color);\n flex-direction: row;\n padding: 5px;\n display: flex;\n}\n\n.VPa3-W_location-panel-header.VPa3-W_fixed-height {\n height: var(--panel-header-height, 40px);\n}\n\n.VPa3-W_location-panel-header .VPa3-W_spacer {\n margin-right: calc(-1 * var(--panel-header-gap, .5rem));\n flex-grow: 1;\n}\n\n.VPa3-W_location-panel-header .VPa3-W_left-icon {\n padding: 7px;\n}\n\n.VPa3-W_location-panel-header .VPa3-W_position-controls .bp5-button {\n font-size: 12px !important;\n}\n\n.VPa3-W_location-panel-header h1, .VPa3-W_location-panel-header h2, .VPa3-W_location-panel-header h3, .VPa3-W_location-panel-header h4, .VPa3-W_location-panel-header h5, .VPa3-W_location-panel-header h6, .VPa3-W_location-panel-header p {\n text-overflow: ellipsis;\n margin: 0;\n font-size: 16px;\n overflow: hidden;\n}\n\n.VPa3-W_location-panel-header h1:first-child, .VPa3-W_location-panel-header h2:first-child, .VPa3-W_location-panel-header h3:first-child, .VPa3-W_location-panel-header h4:first-child, .VPa3-W_location-panel-header h5:first-child, .VPa3-W_location-panel-header h6:first-child, .VPa3-W_location-panel-header p:first-child {\n margin-left: 10px;\n}\n\n.VPa3-W_infodrawer-header-item {\n font-size: 12px;\n}\n\n.VPa3-W_infodrawer-header-item .secondary {\n color: var(--text-subtle-color);\n font-size: .9em;\n}\n\n.VPa3-W_infodrawer {\n pointer-events: all;\n background-color: var(--panel-background-color);\n flex-direction: column;\n max-width: 100%;\n height: fit-content;\n max-height: 100%;\n display: flex;\n overflow-y: hidden;\n}\n\n.VPa3-W_infodrawer.bp5-card {\n background-color: var(--panel-background-color);\n padding: 0;\n}\n\n.VPa3-W_infodrawer.VPa3-W_loading .VPa3-W_infodrawer-body {\n min-height: 70px;\n overflow-y: hidden;\n}\n\n.VPa3-W_infodrawer-contents {\n padding: 0 1em;\n}\n\n.VPa3-W_infodrawer-contents > :first-child {\n margin-top: 1rem;\n}\n\n.VPa3-W_infodrawer-contents > :last-child {\n margin-bottom: 1rem;\n}\n\n.VPa3-W_infodrawer-body {\n flex-shrink: 1;\n min-height: 0;\n transition: min-height .5s;\n position: relative;\n overflow-y: scroll;\n}\n\n@media screen and (width <= 768px) {\n .VPa3-W_infodrawer {\n border-radius: var(--panel-border-radius, 0px);\n }\n}\n/*# sourceMappingURL=main.module.ba3f4a78.css.map */\n",".copy-link-button:global(.bp5-minimal.bp5-button)\n color: var(--text-subtle-color)\n\n svg\n fill: var(--text-subtle-color)\n\n.location-panel-header\n padding: 5px\n display: flex\n flex-direction: row\n align-items: center\n gap: var(--panel-header-gap, 0.5rem)\n min-height: var(--panel-header-height, 40px)\n border-bottom: 1px solid var(--panel-rule-color)\n &.fixed-height\n height: var(--panel-header-height, 40px)\n\n .spacer\n flex-grow: 1\n // Ensure the spacer is not extra wide\n margin-right: calc(-1 * var(--panel-header-gap, 0.5rem))\n\n .left-icon\n padding: 7px\n\n .position-controls :global(.bp5-button)\n font-size: 12px !important\n\n // Text elements should\n h1, h2, h3, h4, h5, h6, p\n margin: 0\n font-size: 16px\n overflow: hidden\n text-overflow: ellipsis\n &:first-child\n margin-left: 10px\n\n.infodrawer-header-item\n font-size: 12px\n\n :global(.secondary)\n font-size: 0.9em\n color: var(--text-subtle-color)\n\n.infodrawer\n pointer-events: all\n max-height: 100%\n max-width: 100%\n height: fit-content\n display: flex\n flex-direction: column\n overflow-y: hidden\n background-color: var(--panel-background-color)\n\n &:global(.bp5-card)\n padding: 0\n background-color: var(--panel-background-color)\n\n\n &.loading\n .infodrawer-body\n overflow-y: hidden\n min-height: 70px\n\n\n.infodrawer-contents\n padding: 0 1em\n &>:first-child\n margin-top: 1rem\n &>:last-child\n margin-bottom: 1rem\n\n// The scrollable body of the infodrawer\n.infodrawer-body\n flex-shrink: 1\n min-height: 0\n transition: min-height 0.5s ease\n overflow-y: scroll\n position: relative\n\n// TODO: remove this when we have a better way to handle card media queries\n@media screen and (max-width: 768px)\n .infodrawer\n border-radius: var(--panel-border-radius, 0px)\n"],"names":[],"version":3,"file":"main.module.ba3f4a78.css.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require("./main.module.24615279.js"),require("./main.module.89f269c7.css"),require("./terrain.96ae432a.js"),require("./helpers.6bda171f.js"),require("./utils.dd92f725.js");var e=require("@macrostrat/hyper");function r(e){return e&&e.__esModule?e.default:e}require("@macrostrat/mapbox-react"),require("@macrostrat/mapbox-utils"),require("classnames"),require("mapbox-gl"),require("react"),require("mapbox-gl/dist/mapbox-gl.css");var i=globalThis,a={},t={},s=i.parcelRequire94c2;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in t){var r=t[e];delete t[e];var i={id:e,exports:{}};return a[e]=i,r.call(i.exports,i,i.exports),i.exports}var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}).register=function(e,r){t[e]=r},i.parcelRequire94c2=s),s.register;var u=s("6ULxP");new URL("terrain.96ae432a.js","file:"+__filename).toString(),s("7CmOU"),s("R3my3"),r(e).styled(r(u));
|
|
2
|
-
//# sourceMappingURL=map-view.c6746dca.js.map
|