@macrostrat/map-interface 1.0.10 → 1.0.11

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.
@@ -0,0 +1,1955 @@
1
+ import "./module.css";
2
+ import {useMemo as $Zz0sd$useMemo, useState as $Zz0sd$useState, useEffect as $Zz0sd$useEffect, useCallback as $Zz0sd$useCallback, useRef as $Zz0sd$useRef} from "react";
3
+ import {Spinner as $Zz0sd$Spinner, Button as $Zz0sd$Button, Text as $Zz0sd$Text, Navbar as $Zz0sd$Navbar, Card as $Zz0sd$Card, Icon as $Zz0sd$Icon, Switch as $Zz0sd$Switch, Collapse as $Zz0sd$Collapse} from "@blueprintjs/core";
4
+ import $Zz0sd$macrostrathyper, {addClassNames as $Zz0sd$addClassNames} from "@macrostrat/hyper";
5
+ import {useMapStatus as $Zz0sd$useMapStatus, useFocusState as $Zz0sd$useFocusState, isCentered as $Zz0sd$isCentered, LocationFocusButton as $Zz0sd$LocationFocusButton, ZoomControl as $Zz0sd$ZoomControl, MapboxMapProvider as $Zz0sd$MapboxMapProvider, useMapPosition as $Zz0sd$useMapPosition, MapControlWrapper as $Zz0sd$MapControlWrapper, ThreeDControl as $Zz0sd$ThreeDControl, CompassControl as $Zz0sd$CompassControl, GlobeControl as $Zz0sd$GlobeControl, useMapRef as $Zz0sd$useMapRef, useMapEaseTo as $Zz0sd$useMapEaseTo, useMapDispatch as $Zz0sd$useMapDispatch, useMapConditionalStyle as $Zz0sd$useMapConditionalStyle} from "@macrostrat/mapbox-react";
6
+ import {Spacer as $Zz0sd$Spacer, ErrorBoundary as $Zz0sd$ErrorBoundary, useToaster as $Zz0sd$useToaster, useDarkMode as $Zz0sd$useDarkMode, useStoredState as $Zz0sd$useStoredState, ToasterContext as $Zz0sd$ToasterContext, DevToolsButtonSlot as $Zz0sd$DevToolsButtonSlot, useInDarkMode as $Zz0sd$useInDarkMode, JSONView as $Zz0sd$JSONView, usePrevious as $Zz0sd$usePrevious} from "@macrostrat/ui-components";
7
+ import $Zz0sd$classnames from "classnames";
8
+ import {formatCoordForZoomLevel as $Zz0sd$formatCoordForZoomLevel, normalizeLng as $Zz0sd$normalizeLng, metersToFeet as $Zz0sd$metersToFeet, getMapboxStyle as $Zz0sd$getMapboxStyle, mergeStyles as $Zz0sd$mergeStyles, mapViewInfo as $Zz0sd$mapViewInfo, getMapPosition as $Zz0sd$getMapPosition, setMapPosition as $Zz0sd$setMapPosition} from "@macrostrat/mapbox-utils";
9
+ import {format as $Zz0sd$format} from "d3-format";
10
+ import $Zz0sd$mapboxgl, {ScaleControl as $Zz0sd$ScaleControl, GeolocateControl as $Zz0sd$GeolocateControl, Marker as $Zz0sd$Marker} from "mapbox-gl";
11
+ import {asChromaColor as $Zz0sd$asChromaColor, toRGBAString as $Zz0sd$toRGBAString} from "@macrostrat/color-utils";
12
+ import {useTransition as $Zz0sd$useTransition} from "transition-hook";
13
+ import {debounce as $Zz0sd$debounce} from "underscore";
14
+ import $Zz0sd$useresizeobserver from "use-resize-observer";
15
+ import "mapbox-gl/dist/mapbox-gl.css";
16
+ import {tileToGeoJSON as $Zz0sd$tileToGeoJSON} from "@mapbox/tilebelt";
17
+ import {group as $Zz0sd$group} from "d3-array";
18
+
19
+
20
+ function $parcel$interopDefault(a) {
21
+ return a && a.__esModule ? a.default : a;
22
+ }
23
+
24
+ function $parcel$export(e, n, v, s) {
25
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
26
+ }
27
+
28
+ function $parcel$exportWildcard(dest, source) {
29
+ Object.keys(source).forEach(function(key) {
30
+ if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {
31
+ return;
32
+ }
33
+
34
+ Object.defineProperty(dest, key, {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return source[key];
38
+ }
39
+ });
40
+ });
41
+
42
+ return dest;
43
+ }
44
+ var $6e914c81c8e053da$exports = {};
45
+
46
+ $parcel$export($6e914c81c8e053da$exports, "LoadingButton", () => $6e914c81c8e053da$export$4ec83e90d030b2f3);
47
+ $parcel$export($6e914c81c8e053da$exports, "MapLoadingButton", () => $6e914c81c8e053da$export$9e3bae3c08bde368);
48
+ $parcel$export($6e914c81c8e053da$exports, "FloatingNavbar", () => $6e914c81c8e053da$export$a8cc0062d02a3841);
49
+
50
+
51
+
52
+ var $fbe402416678c280$exports = {};
53
+
54
+ $parcel$export($fbe402416678c280$exports, "loading-button", () => $fbe402416678c280$export$fcaa8d3bc8e9cf1e, (v) => $fbe402416678c280$export$fcaa8d3bc8e9cf1e = v);
55
+ $parcel$export($fbe402416678c280$exports, "navbar", () => $fbe402416678c280$export$58733aaf927c3bbe, (v) => $fbe402416678c280$export$58733aaf927c3bbe = v);
56
+ $parcel$export($fbe402416678c280$exports, "navbar-holder", () => $fbe402416678c280$export$d8779dd86528d602, (v) => $fbe402416678c280$export$d8779dd86528d602 = v);
57
+ $parcel$export($fbe402416678c280$exports, "searchbar", () => $fbe402416678c280$export$2ac23befe9d406ee, (v) => $fbe402416678c280$export$2ac23befe9d406ee = v);
58
+ $parcel$export($fbe402416678c280$exports, "searchbar-holder", () => $fbe402416678c280$export$3a39e67bbbcbd4ae, (v) => $fbe402416678c280$export$3a39e67bbbcbd4ae = v);
59
+ $parcel$export($fbe402416678c280$exports, "status-tongue", () => $fbe402416678c280$export$764ade2d69041360, (v) => $fbe402416678c280$export$764ade2d69041360 = v);
60
+ var $fbe402416678c280$export$fcaa8d3bc8e9cf1e;
61
+ var $fbe402416678c280$export$58733aaf927c3bbe;
62
+ var $fbe402416678c280$export$d8779dd86528d602;
63
+ var $fbe402416678c280$export$2ac23befe9d406ee;
64
+ var $fbe402416678c280$export$3a39e67bbbcbd4ae;
65
+ var $fbe402416678c280$export$764ade2d69041360;
66
+ $fbe402416678c280$export$fcaa8d3bc8e9cf1e = `_8hZKsW_loading-button`;
67
+ $fbe402416678c280$export$58733aaf927c3bbe = `_8hZKsW_navbar`;
68
+ $fbe402416678c280$export$d8779dd86528d602 = `_8hZKsW_navbar-holder`;
69
+ $fbe402416678c280$export$2ac23befe9d406ee = `_8hZKsW_searchbar`;
70
+ $fbe402416678c280$export$3a39e67bbbcbd4ae = `_8hZKsW_searchbar-holder`;
71
+ $fbe402416678c280$export$764ade2d69041360 = `_8hZKsW_status-tongue`;
72
+
73
+
74
+
75
+
76
+ const $6e914c81c8e053da$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($fbe402416678c280$exports))));
77
+ const $6e914c81c8e053da$var$spinnerElement = $6e914c81c8e053da$var$h((0, $Zz0sd$Spinner), {
78
+ size: 16
79
+ });
80
+ function $6e914c81c8e053da$export$4ec83e90d030b2f3({ isLoading: isLoading = false, onClick: onClick, active: active = false, large: large = false, icon: icon = "menu", style: style }) {
81
+ return $6e914c81c8e053da$var$h((0, $Zz0sd$Button), {
82
+ className: "loading-button",
83
+ icon: isLoading ? $6e914c81c8e053da$var$spinnerElement : icon,
84
+ large: large,
85
+ minimal: true,
86
+ onClick: onClick,
87
+ active: active && !isLoading,
88
+ style: style
89
+ });
90
+ }
91
+ function $6e914c81c8e053da$export$9e3bae3c08bde368(props) {
92
+ const { isLoading: isLoading } = (0, $Zz0sd$useMapStatus)();
93
+ const mapIsLoading = (0, $Zz0sd$useMemo)(()=>isLoading, [
94
+ isLoading
95
+ ]);
96
+ return $6e914c81c8e053da$var$h($6e914c81c8e053da$export$4ec83e90d030b2f3, {
97
+ ...props,
98
+ isLoading: mapIsLoading
99
+ });
100
+ }
101
+ function $6e914c81c8e053da$export$a8cc0062d02a3841({ className: className, children: children, headerElement: headerElement = null, title: title = null, statusElement: statusElement = null, rightElement: rightElement = null, height: height, width: width, style: style = {} }) {
102
+ let _rightElement = null;
103
+ if (rightElement != null) _rightElement = $6e914c81c8e053da$var$h("div.right-element", rightElement);
104
+ let _headerElement = headerElement;
105
+ if (title != null && _headerElement == null) {
106
+ if (typeof title === "string") _headerElement = $6e914c81c8e053da$var$h((0, $Zz0sd$Text), {
107
+ tagName: "h2",
108
+ ellipsize: true
109
+ }, title);
110
+ else _headerElement = title;
111
+ }
112
+ if (_headerElement != null) _headerElement = $6e914c81c8e053da$var$h([
113
+ _headerElement,
114
+ $6e914c81c8e053da$var$h((0, $Zz0sd$Spacer))
115
+ ]);
116
+ return $6e914c81c8e053da$var$h("div.searchbar-holder", {
117
+ className: className,
118
+ style: {
119
+ width: width
120
+ }
121
+ }, [
122
+ $6e914c81c8e053da$var$h("div.navbar-holder", [
123
+ $6e914c81c8e053da$var$h((0, $Zz0sd$Navbar), {
124
+ className: "searchbar navbar panel",
125
+ style: {
126
+ height: height,
127
+ ...style
128
+ }
129
+ }, [
130
+ _headerElement,
131
+ children,
132
+ _rightElement
133
+ ])
134
+ ]),
135
+ $6e914c81c8e053da$var$h.if(statusElement != null)((0, $Zz0sd$Card), {
136
+ className: "status-tongue"
137
+ }, statusElement)
138
+ ]);
139
+ }
140
+
141
+
142
+ var $f50c3537aaff0cff$exports = {};
143
+
144
+ $parcel$export($f50c3537aaff0cff$exports, "InfoDrawerContainer", () => $f50c3537aaff0cff$export$83f9a19cf91c2d06);
145
+ $parcel$export($f50c3537aaff0cff$exports, "BaseInfoDrawer", () => $f50c3537aaff0cff$export$a5ddcc2a88716895);
146
+ $parcel$export($f50c3537aaff0cff$exports, "LocationPanel", () => $f50c3537aaff0cff$export$aa4baff5242ea6e1);
147
+
148
+
149
+
150
+
151
+ var $29ab0212ea6844d0$exports = {};
152
+
153
+ $parcel$export($29ab0212ea6844d0$exports, "copy-link-button", () => $29ab0212ea6844d0$export$d1352d0c31a65024, (v) => $29ab0212ea6844d0$export$d1352d0c31a65024 = v);
154
+ $parcel$export($29ab0212ea6844d0$exports, "infodrawer", () => $29ab0212ea6844d0$export$b5017f7ff265217d, (v) => $29ab0212ea6844d0$export$b5017f7ff265217d = v);
155
+ $parcel$export($29ab0212ea6844d0$exports, "infodrawer-body", () => $29ab0212ea6844d0$export$310e8f86a84c074f, (v) => $29ab0212ea6844d0$export$310e8f86a84c074f = v);
156
+ $parcel$export($29ab0212ea6844d0$exports, "infodrawer-contents", () => $29ab0212ea6844d0$export$69ed3ba502fbf15b, (v) => $29ab0212ea6844d0$export$69ed3ba502fbf15b = v);
157
+ $parcel$export($29ab0212ea6844d0$exports, "infodrawer-header-item", () => $29ab0212ea6844d0$export$333d72514239bce8, (v) => $29ab0212ea6844d0$export$333d72514239bce8 = v);
158
+ $parcel$export($29ab0212ea6844d0$exports, "left-icon", () => $29ab0212ea6844d0$export$f750577db09821ce, (v) => $29ab0212ea6844d0$export$f750577db09821ce = v);
159
+ $parcel$export($29ab0212ea6844d0$exports, "loading", () => $29ab0212ea6844d0$export$46c1c92549715335, (v) => $29ab0212ea6844d0$export$46c1c92549715335 = v);
160
+ $parcel$export($29ab0212ea6844d0$exports, "location-panel-header", () => $29ab0212ea6844d0$export$d821beb98a87c6d7, (v) => $29ab0212ea6844d0$export$d821beb98a87c6d7 = v);
161
+ $parcel$export($29ab0212ea6844d0$exports, "position-controls", () => $29ab0212ea6844d0$export$dfae07a3bf0fbd6, (v) => $29ab0212ea6844d0$export$dfae07a3bf0fbd6 = v);
162
+ $parcel$export($29ab0212ea6844d0$exports, "spacer", () => $29ab0212ea6844d0$export$8cc075c801fd6817, (v) => $29ab0212ea6844d0$export$8cc075c801fd6817 = v);
163
+ var $29ab0212ea6844d0$export$d1352d0c31a65024;
164
+ var $29ab0212ea6844d0$export$b5017f7ff265217d;
165
+ var $29ab0212ea6844d0$export$310e8f86a84c074f;
166
+ var $29ab0212ea6844d0$export$69ed3ba502fbf15b;
167
+ var $29ab0212ea6844d0$export$333d72514239bce8;
168
+ var $29ab0212ea6844d0$export$f750577db09821ce;
169
+ var $29ab0212ea6844d0$export$46c1c92549715335;
170
+ var $29ab0212ea6844d0$export$d821beb98a87c6d7;
171
+ var $29ab0212ea6844d0$export$dfae07a3bf0fbd6;
172
+ var $29ab0212ea6844d0$export$8cc075c801fd6817;
173
+ $29ab0212ea6844d0$export$d1352d0c31a65024 = `VPa3-W_copy-link-button`;
174
+ $29ab0212ea6844d0$export$b5017f7ff265217d = `VPa3-W_infodrawer`;
175
+ $29ab0212ea6844d0$export$310e8f86a84c074f = `VPa3-W_infodrawer-body`;
176
+ $29ab0212ea6844d0$export$69ed3ba502fbf15b = `VPa3-W_infodrawer-contents`;
177
+ $29ab0212ea6844d0$export$333d72514239bce8 = `VPa3-W_infodrawer-header-item`;
178
+ $29ab0212ea6844d0$export$f750577db09821ce = `VPa3-W_left-icon`;
179
+ $29ab0212ea6844d0$export$46c1c92549715335 = `VPa3-W_loading`;
180
+ $29ab0212ea6844d0$export$d821beb98a87c6d7 = `VPa3-W_location-panel-header`;
181
+ $29ab0212ea6844d0$export$dfae07a3bf0fbd6 = `VPa3-W_position-controls`;
182
+ $29ab0212ea6844d0$export$8cc075c801fd6817 = `VPa3-W_spacer`;
183
+
184
+
185
+
186
+ var $4fae2d573d730db8$exports = {};
187
+
188
+ $parcel$export($4fae2d573d730db8$exports, "ValueWithUnit", () => $4fae2d573d730db8$export$716098b85fd0efdf);
189
+ $parcel$export($4fae2d573d730db8$exports, "DegreeCoord", () => $4fae2d573d730db8$export$af8082af0bea3eb1);
190
+ $parcel$export($4fae2d573d730db8$exports, "LngLatCoords", () => $4fae2d573d730db8$export$f195b3550849e560);
191
+ $parcel$export($4fae2d573d730db8$exports, "Elevation", () => $4fae2d573d730db8$export$58bfb4f6ec5aa58d);
192
+
193
+
194
+
195
+ const $3e1bd09be8f70c4c$export$97c1b10e131a836d = (0, $Zz0sd$format)(".4~f");
196
+ const $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea = (0, $Zz0sd$format)(".3~f");
197
+ const $3e1bd09be8f70c4c$export$4c173b1b2f78faf7 = (0, $Zz0sd$format)(".2~f");
198
+ const $3e1bd09be8f70c4c$export$e54bbd2c33d17485 = (0, $Zz0sd$format)(".1~f");
199
+ const $3e1bd09be8f70c4c$export$bc135f63e2f56fd4 = (0, $Zz0sd$format)(".0f");
200
+ function $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c(val, precision = 0) {
201
+ switch(precision){
202
+ case 4:
203
+ return $3e1bd09be8f70c4c$export$97c1b10e131a836d(val);
204
+ case 3:
205
+ return $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea(val);
206
+ case 2:
207
+ return $3e1bd09be8f70c4c$export$4c173b1b2f78faf7(val);
208
+ case 1:
209
+ return $3e1bd09be8f70c4c$export$e54bbd2c33d17485(val);
210
+ case 0:
211
+ return $3e1bd09be8f70c4c$export$bc135f63e2f56fd4(val);
212
+ default:
213
+ return $3e1bd09be8f70c4c$export$97c1b10e131a836d(val);
214
+ }
215
+ }
216
+
217
+
218
+ var $bb5f34705d9c44bc$exports = {};
219
+
220
+ $parcel$export($bb5f34705d9c44bc$exports, "applyMapPositionToHash", () => $bb5f34705d9c44bc$export$8391d1abb505ffb3);
221
+ $parcel$export($bb5f34705d9c44bc$exports, "getMapPositionForHash", () => $bb5f34705d9c44bc$export$80abf1cbcc3918e4);
222
+
223
+
224
+ function $bb5f34705d9c44bc$export$8391d1abb505ffb3(args, mapPosition) {
225
+ const pos = mapPosition?.camera;
226
+ if (pos == null) return;
227
+ const zoom = mapPosition.target?.zoom;
228
+ args.x = (0, $Zz0sd$formatCoordForZoomLevel)(pos.lng, zoom);
229
+ args.y = (0, $Zz0sd$formatCoordForZoomLevel)(pos.lat, zoom);
230
+ if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) args.z = (0, $3e1bd09be8f70c4c$export$e54bbd2c33d17485)(zoom);
231
+ else if (pos.altitude != null) {
232
+ if (pos.altitude > 5000) args.z = (0, $3e1bd09be8f70c4c$export$4c173b1b2f78faf7)(pos.altitude / 1000) + "km";
233
+ else args.z = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(pos.altitude) + "m";
234
+ }
235
+ if (pos.bearing != 0) {
236
+ let az = pos.bearing;
237
+ if (az < 0) az += 360;
238
+ args.a = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(az);
239
+ }
240
+ if (pos.pitch != 0) args.e = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(pos.pitch);
241
+ }
242
+ function $bb5f34705d9c44bc$var$_fmt(x) {
243
+ if (Array.isArray(x)) x = x[0];
244
+ return parseFloat(x.toString());
245
+ }
246
+ function $bb5f34705d9c44bc$export$80abf1cbcc3918e4(hashData, centerPosition) {
247
+ const { x: x = centerPosition?.lng ?? 0, y: y = centerPosition?.lat ?? 0, z: // Different default for zoom depending on whether we have a marker
248
+ z = centerPosition != null ? 7 : 2, a: a = 0, e: e = 0 } = hashData;
249
+ const lng = $bb5f34705d9c44bc$var$_fmt(x);
250
+ const lat = $bb5f34705d9c44bc$var$_fmt(y);
251
+ let altitude = null;
252
+ let zoom = null;
253
+ const _z = z.toString();
254
+ if (_z.endsWith("km")) altitude = $bb5f34705d9c44bc$var$_fmt(_z.substring(0, _z.length - 2)) * 1000;
255
+ else if (_z.endsWith("m")) altitude = $bb5f34705d9c44bc$var$_fmt(_z.substring(0, _z.length - 1));
256
+ else zoom = $bb5f34705d9c44bc$var$_fmt(z);
257
+ const bearing = $bb5f34705d9c44bc$var$_fmt(a);
258
+ const pitch = $bb5f34705d9c44bc$var$_fmt(e);
259
+ let target = undefined;
260
+ if (bearing == 0 && pitch == 0 && zoom != null) target = {
261
+ lat: lat,
262
+ lng: lng,
263
+ zoom: zoom
264
+ };
265
+ return {
266
+ camera: {
267
+ lng: $bb5f34705d9c44bc$var$_fmt(x),
268
+ lat: $bb5f34705d9c44bc$var$_fmt(y),
269
+ altitude: altitude,
270
+ bearing: $bb5f34705d9c44bc$var$_fmt(a),
271
+ pitch: $bb5f34705d9c44bc$var$_fmt(e)
272
+ },
273
+ target: target
274
+ };
275
+ }
276
+
277
+
278
+ function $4fae2d573d730db8$export$716098b85fd0efdf(props) {
279
+ const { value: value, unit: unit } = props;
280
+ return (0, $Zz0sd$macrostrathyper)("span.value-with-unit", [
281
+ (0, $Zz0sd$macrostrathyper)("span.value", [
282
+ value
283
+ ]),
284
+ (0, $Zz0sd$macrostrathyper)("span.spacer", [
285
+ " "
286
+ ]),
287
+ (0, $Zz0sd$macrostrathyper)("span.unit", [
288
+ unit
289
+ ])
290
+ ]);
291
+ }
292
+ function $4fae2d573d730db8$export$af8082af0bea3eb1(props) {
293
+ const { value: value, labels: labels, precision: precision = 3, format: format = (0, $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c) } = props;
294
+ const direction = value < 0 ? labels[1] : labels[0];
295
+ return (0, $Zz0sd$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
296
+ value: format(Math.abs(value), precision) + "\xb0",
297
+ unit: direction
298
+ });
299
+ }
300
+ function $4fae2d573d730db8$export$f195b3550849e560(props) {
301
+ /** Formatted geographic coordinates */ const { position: position, className: className, precision: precision, zoom: zoom } = props;
302
+ let { format: format } = props;
303
+ if (position == null) return null;
304
+ let lat, lng;
305
+ if (Array.isArray(position)) [lng, lat] = position;
306
+ else ({ lat: lat, lng: lng } = position);
307
+ if (zoom != null && format == null && precision == null) format = (val, _)=>(0, $Zz0sd$formatCoordForZoomLevel)(val, zoom);
308
+ return (0, $Zz0sd$macrostrathyper)("div.lnglat-container", {
309
+ className: className
310
+ }, [
311
+ (0, $Zz0sd$macrostrathyper)("span.lnglat", [
312
+ (0, $Zz0sd$macrostrathyper)($4fae2d573d730db8$export$af8082af0bea3eb1, {
313
+ value: lat,
314
+ labels: [
315
+ "N",
316
+ "S"
317
+ ],
318
+ precision: precision,
319
+ format: format
320
+ }),
321
+ ", ",
322
+ (0, $Zz0sd$macrostrathyper)($4fae2d573d730db8$export$af8082af0bea3eb1, {
323
+ value: (0, $Zz0sd$normalizeLng)(lng),
324
+ labels: [
325
+ "E",
326
+ "W"
327
+ ],
328
+ precision: precision,
329
+ format: format
330
+ })
331
+ ])
332
+ ]);
333
+ }
334
+ function $4fae2d573d730db8$export$58bfb4f6ec5aa58d(props) {
335
+ /** Renders an elevation value in meters and a parenthetical conversion to feet. */ const { elevation: elevation, className: className, includeFeet: includeFeet = true } = props;
336
+ if (elevation == null) return null;
337
+ return (0, $Zz0sd$macrostrathyper)("div.elevation", {
338
+ className: className
339
+ }, [
340
+ (0, $Zz0sd$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
341
+ value: elevation,
342
+ unit: "m"
343
+ }),
344
+ (0, $Zz0sd$macrostrathyper).if(includeFeet)("span.secondary", [
345
+ " (",
346
+ (0, $Zz0sd$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
347
+ value: (0, $Zz0sd$metersToFeet)(elevation),
348
+ unit: "ft"
349
+ }),
350
+ ")"
351
+ ])
352
+ ]);
353
+ }
354
+ $parcel$exportWildcard($4fae2d573d730db8$exports, $bb5f34705d9c44bc$exports);
355
+
356
+
357
+
358
+ const $427faf94283514d4$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($29ab0212ea6844d0$exports))));
359
+ function $427faf94283514d4$var$PositionButton({ position: position, showCopyLink: showCopyLink = false }) {
360
+ const focusState = (0, $Zz0sd$useFocusState)(position);
361
+ const copyLinkIsVisible = (0, $Zz0sd$isCentered)(focusState) && showCopyLink;
362
+ return $427faf94283514d4$var$h("div.position-controls", [
363
+ $427faf94283514d4$var$h((0, $Zz0sd$LocationFocusButton), {
364
+ location: position,
365
+ focusState: focusState
366
+ }, []),
367
+ $427faf94283514d4$var$h.if(copyLinkIsVisible)($427faf94283514d4$var$CopyLinkButton, {
368
+ itemName: "position"
369
+ })
370
+ ]);
371
+ }
372
+ function $427faf94283514d4$var$CopyLinkButton({ itemName: itemName, children: children, onClick: onClick, ...rest }) {
373
+ const toaster = (0, $Zz0sd$useToaster)();
374
+ let message = `Copied link`;
375
+ if (itemName != null) message += ` to ${itemName}`;
376
+ message += "!";
377
+ return $427faf94283514d4$var$h((0, $Zz0sd$Button), {
378
+ className: "copy-link-button",
379
+ rightIcon: $427faf94283514d4$var$h((0, $Zz0sd$Icon), {
380
+ icon: "link",
381
+ size: 12
382
+ }),
383
+ minimal: true,
384
+ small: true,
385
+ onClick () {
386
+ navigator.clipboard.writeText(window.location.href).then(()=>{
387
+ toaster?.show({
388
+ message: message,
389
+ intent: "success",
390
+ icon: "clipboard",
391
+ timeout: 1000
392
+ });
393
+ onClick?.();
394
+ }, ()=>{
395
+ toaster?.show({
396
+ message: "Failed to copy link",
397
+ intent: "danger",
398
+ icon: "error",
399
+ timeout: 1000
400
+ });
401
+ });
402
+ },
403
+ ...rest
404
+ }, children ?? "Copy link");
405
+ }
406
+ function $427faf94283514d4$export$e9ff14c4822c2e8c(props) {
407
+ const { onClose: onClose, position: position, zoom: zoom = 7, elevation: elevation, showCopyPositionButton: showCopyPositionButton } = props;
408
+ return $427faf94283514d4$var$h("header.location-panel-header", [
409
+ $427faf94283514d4$var$h($427faf94283514d4$var$PositionButton, {
410
+ position: position,
411
+ showCopyLink: showCopyPositionButton
412
+ }),
413
+ $427faf94283514d4$var$h("div.spacer"),
414
+ $427faf94283514d4$var$h((0, $4fae2d573d730db8$export$f195b3550849e560), {
415
+ position: position,
416
+ zoom: zoom,
417
+ className: "infodrawer-header-item"
418
+ }),
419
+ $427faf94283514d4$var$h.if(elevation != null)((0, $4fae2d573d730db8$export$58bfb4f6ec5aa58d), {
420
+ elevation: elevation,
421
+ className: "infodrawer-header-item"
422
+ }),
423
+ $427faf94283514d4$var$h((0, $Zz0sd$Button), {
424
+ minimal: true,
425
+ icon: "cross",
426
+ onClick: onClose
427
+ })
428
+ ]);
429
+ }
430
+
431
+
432
+
433
+
434
+
435
+ const $f50c3537aaff0cff$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($29ab0212ea6844d0$exports))));
436
+ function $f50c3537aaff0cff$export$83f9a19cf91c2d06(props) {
437
+ const className = (0, $Zz0sd$classnames)("infodrawer", props.className);
438
+ return $f50c3537aaff0cff$var$h((0, $Zz0sd$Card), {
439
+ ...props,
440
+ className: className
441
+ });
442
+ }
443
+ function $f50c3537aaff0cff$export$a5ddcc2a88716895(props) {
444
+ const { className: className, headerElement: headerElement = null, title: title, onClose: onClose, children: children, ...rest } = props;
445
+ const header = headerElement ?? $f50c3537aaff0cff$var$h((0, $427faf94283514d4$export$e9ff14c4822c2e8c), {
446
+ onClose: onClose,
447
+ ...rest
448
+ }, [
449
+ title == null ? null : $f50c3537aaff0cff$var$h("h3", [
450
+ title
451
+ ])
452
+ ]);
453
+ return $f50c3537aaff0cff$var$h($f50c3537aaff0cff$export$83f9a19cf91c2d06, {
454
+ className: className
455
+ }, [
456
+ header,
457
+ $f50c3537aaff0cff$var$h("div.infodrawer-body", $f50c3537aaff0cff$var$h("div.infodrawer-contents", $f50c3537aaff0cff$var$h((0, $Zz0sd$ErrorBoundary), null, children)))
458
+ ]);
459
+ }
460
+ function $f50c3537aaff0cff$export$aa4baff5242ea6e1(props) {
461
+ const { children: children, className: className, loading: loading = false, ...rest } = props;
462
+ const cls = (0, $Zz0sd$classnames)("location-panel", className, {
463
+ loading: loading
464
+ });
465
+ return $f50c3537aaff0cff$var$h($f50c3537aaff0cff$export$a5ddcc2a88716895, {
466
+ className: cls,
467
+ ...rest
468
+ }, children);
469
+ }
470
+
471
+
472
+ var $b6d2ac1192949c28$exports = {};
473
+ var $a281a0612311d660$exports = {};
474
+
475
+ $parcel$export($a281a0612311d660$exports, "h", () => $a281a0612311d660$export$dda1d9f60106f0e9);
476
+ $parcel$export($a281a0612311d660$exports, "MapInspector", () => $a281a0612311d660$export$c5febf3ae8816972);
477
+ $parcel$export($a281a0612311d660$exports, "DevMapPage", () => $a281a0612311d660$export$2391061fbdfb71ef);
478
+ // Import other components
479
+
480
+
481
+
482
+
483
+
484
+ var $64ee2eed3ed5ffbc$exports = {};
485
+
486
+ $parcel$export($64ee2eed3ed5ffbc$exports, "buildXRayStyle", () => $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d);
487
+ $parcel$export($64ee2eed3ed5ffbc$exports, "buildInspectorStyle", () => $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6);
488
+
489
+
490
+ async function $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d(baseStyle, params = null) {
491
+ const { inDarkMode: inDarkMode = false, color: color = "rgb(74, 242, 161)", mapboxToken: mapboxToken, xRaySources: xRaySources } = params;
492
+ const style = await (0, $Zz0sd$getMapboxStyle)(baseStyle, {
493
+ access_token: mapboxToken
494
+ });
495
+ const sources = xRaySources ?? Object.keys(style.sources);
496
+ let layers = [];
497
+ for (let layer of style.layers){
498
+ if (!sources.includes(layer.source)) {
499
+ layers.push(layer);
500
+ continue;
501
+ }
502
+ let newLayer = $64ee2eed3ed5ffbc$var$transformMapboxLayer(layer, color, inDarkMode);
503
+ if (newLayer != null) layers.push(newLayer);
504
+ }
505
+ return {
506
+ ...style,
507
+ layers: layers
508
+ };
509
+ }
510
+ function $64ee2eed3ed5ffbc$var$transformMapboxLayer(layer, color, inDarkMode) {
511
+ const c = (0, $Zz0sd$asChromaColor)(color);
512
+ const xRayColor = (opacity = 1, darken = 0)=>{
513
+ if (!inDarkMode) return (0, $Zz0sd$toRGBAString)(c.darken(2 - darken).alpha(opacity));
514
+ return (0, $Zz0sd$toRGBAString)(c.alpha(opacity).darken(darken));
515
+ };
516
+ if (layer.type == "background") return null;
517
+ let newLayer = {
518
+ ...layer
519
+ };
520
+ console.log(xRayColor(0.5));
521
+ if (layer.type == "fill") newLayer.paint = {
522
+ "fill-color": xRayColor(0.1),
523
+ "fill-outline-color": xRayColor(0.5)
524
+ };
525
+ else if (layer.type == "line") newLayer.paint = {
526
+ "line-color": xRayColor(0.5, 0),
527
+ "line-width": 1.5
528
+ };
529
+ else if (layer.type == "symbol") newLayer.paint = {
530
+ "text-color": xRayColor(1, -0.5),
531
+ "text-halo-color": "#000"
532
+ };
533
+ else if (layer.type == "circle") newLayer.paint = {
534
+ "circle-color": xRayColor(0.5, 0),
535
+ "circle-stroke-color": xRayColor(0.5, 1),
536
+ "circle-radius": 2
537
+ };
538
+ return newLayer;
539
+ }
540
+ async function $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6(baseStyle, overlayStyle = null, params = {}) {
541
+ const { mapboxToken: mapboxToken, xRay: xRay = false, xRaySources: _xRaySources, ...rest } = params;
542
+ let xRaySources = _xRaySources;
543
+ let style = await (0, $Zz0sd$getMapboxStyle)(baseStyle, {
544
+ access_token: mapboxToken
545
+ });
546
+ if (overlayStyle != null) {
547
+ const overlay = await (0, $Zz0sd$getMapboxStyle)(overlayStyle, {
548
+ access_token: mapboxToken
549
+ });
550
+ style = (0, $Zz0sd$mergeStyles)(style, overlay);
551
+ xRaySources ??= Object.keys(overlay.sources);
552
+ }
553
+ if (xRay) {
554
+ // If we haven't specified sources, then we'll use all of them
555
+ xRaySources ??= Object.keys(style.sources);
556
+ style = await $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d(style, {
557
+ ...rest,
558
+ mapboxToken: mapboxToken,
559
+ xRaySources: xRaySources
560
+ });
561
+ }
562
+ return style;
563
+ }
564
+
565
+
566
+ var $4bdfa9cd8240b2fd$exports = {};
567
+
568
+ $parcel$export($4bdfa9cd8240b2fd$exports, "PanelCard", () => $4bdfa9cd8240b2fd$export$ec68dd77edbe678b);
569
+ $parcel$export($4bdfa9cd8240b2fd$exports, "DetailPanelStyle", () => $4bdfa9cd8240b2fd$export$612ca936d3ed4784);
570
+ $parcel$export($4bdfa9cd8240b2fd$exports, "MapAreaContainer", () => $4bdfa9cd8240b2fd$export$9fa5da0bcfd0a290);
571
+ $parcel$export($4bdfa9cd8240b2fd$exports, "MapStyledContainer", () => $4bdfa9cd8240b2fd$export$fa395a37c3898ae3);
572
+
573
+ var $1f5c274a1b8d54c3$exports = {};
574
+
575
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-container", () => $1f5c274a1b8d54c3$export$d7f2c44afcf5df56, (v) => $1f5c274a1b8d54c3$export$d7f2c44afcf5df56 = v);
576
+ $parcel$export($1f5c274a1b8d54c3$exports, "show-panel-outlines", () => $1f5c274a1b8d54c3$export$e163bcc0a29d66c, (v) => $1f5c274a1b8d54c3$export$e163bcc0a29d66c = v);
577
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-view-container", () => $1f5c274a1b8d54c3$export$11aa7dc57218208d, (v) => $1f5c274a1b8d54c3$export$11aa7dc57218208d = v);
578
+ $parcel$export($1f5c274a1b8d54c3$exports, "fit-viewport", () => $1f5c274a1b8d54c3$export$2a73fca7b70dce31, (v) => $1f5c274a1b8d54c3$export$2a73fca7b70dce31 = v);
579
+ $parcel$export($1f5c274a1b8d54c3$exports, "compass-control", () => $1f5c274a1b8d54c3$export$cc73204c64cc0950, (v) => $1f5c274a1b8d54c3$export$cc73204c64cc0950 = v);
580
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-is-rotated", () => $1f5c274a1b8d54c3$export$d2972e7dfac51dc2, (v) => $1f5c274a1b8d54c3$export$d2972e7dfac51dc2 = v);
581
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-3d-control", () => $1f5c274a1b8d54c3$export$142b9410c523ef40, (v) => $1f5c274a1b8d54c3$export$142b9410c523ef40 = v);
582
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-3d-available", () => $1f5c274a1b8d54c3$export$6bc2d6545947abbc, (v) => $1f5c274a1b8d54c3$export$6bc2d6545947abbc = v);
583
+ $parcel$export($1f5c274a1b8d54c3$exports, "globe-control", () => $1f5c274a1b8d54c3$export$b06313b17bd37b68, (v) => $1f5c274a1b8d54c3$export$b06313b17bd37b68 = v);
584
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-is-global", () => $1f5c274a1b8d54c3$export$ea9cfbb56edd0e47, (v) => $1f5c274a1b8d54c3$export$ea9cfbb56edd0e47 = v);
585
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-open", () => $1f5c274a1b8d54c3$export$62a60ea2feb29c53, (v) => $1f5c274a1b8d54c3$export$62a60ea2feb29c53 = v);
586
+ $parcel$export($1f5c274a1b8d54c3$exports, "zoom-control", () => $1f5c274a1b8d54c3$export$61e54aa1efb913ad, (v) => $1f5c274a1b8d54c3$export$61e54aa1efb913ad = v);
587
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-fixed", () => $1f5c274a1b8d54c3$export$4a4f34b86d8e6504, (v) => $1f5c274a1b8d54c3$export$4a4f34b86d8e6504 = v);
588
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-holder", () => $1f5c274a1b8d54c3$export$f553ebb4e6df6c5f, (v) => $1f5c274a1b8d54c3$export$f553ebb4e6df6c5f = v);
589
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-control-stack", () => $1f5c274a1b8d54c3$export$c163dab1f00a51cb, (v) => $1f5c274a1b8d54c3$export$c163dab1f00a51cb = v);
590
+ $parcel$export($1f5c274a1b8d54c3$exports, "main-row", () => $1f5c274a1b8d54c3$export$bc4885f800420ea3, (v) => $1f5c274a1b8d54c3$export$bc4885f800420ea3 = v);
591
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-ui", () => $1f5c274a1b8d54c3$export$7d4a718201bc0bd1, (v) => $1f5c274a1b8d54c3$export$7d4a718201bc0bd1 = v);
592
+ $parcel$export($1f5c274a1b8d54c3$exports, "mapbox-map", () => $1f5c274a1b8d54c3$export$d0dcaf774d09fc4c, (v) => $1f5c274a1b8d54c3$export$d0dcaf774d09fc4c = v);
593
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-panel-holder", () => $1f5c274a1b8d54c3$export$1113ec858cdbc244, (v) => $1f5c274a1b8d54c3$export$1113ec858cdbc244 = v);
594
+ $parcel$export($1f5c274a1b8d54c3$exports, "panel-card", () => $1f5c274a1b8d54c3$export$8eff531ff0f1cffe, (v) => $1f5c274a1b8d54c3$export$8eff531ff0f1cffe = v);
595
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-stack", () => $1f5c274a1b8d54c3$export$a15c1c170cdda69a, (v) => $1f5c274a1b8d54c3$export$a15c1c170cdda69a = v);
596
+ $parcel$export($1f5c274a1b8d54c3$exports, "searchbar", () => $1f5c274a1b8d54c3$export$2ac23befe9d406ee, (v) => $1f5c274a1b8d54c3$export$2ac23befe9d406ee = v);
597
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-stack", () => $1f5c274a1b8d54c3$export$bb1d4538b98f1621, (v) => $1f5c274a1b8d54c3$export$bb1d4538b98f1621 = v);
598
+ $parcel$export($1f5c274a1b8d54c3$exports, "panel-container", () => $1f5c274a1b8d54c3$export$9dd9a0eceddf6af6, (v) => $1f5c274a1b8d54c3$export$9dd9a0eceddf6af6 = v);
599
+ $parcel$export($1f5c274a1b8d54c3$exports, "panel-title", () => $1f5c274a1b8d54c3$export$9672a0c48c9048ad, (v) => $1f5c274a1b8d54c3$export$9672a0c48c9048ad = v);
600
+ $parcel$export($1f5c274a1b8d54c3$exports, "spacer", () => $1f5c274a1b8d54c3$export$8cc075c801fd6817, (v) => $1f5c274a1b8d54c3$export$8cc075c801fd6817 = v);
601
+ $parcel$export($1f5c274a1b8d54c3$exports, "searchbar-holder", () => $1f5c274a1b8d54c3$export$3a39e67bbbcbd4ae, (v) => $1f5c274a1b8d54c3$export$3a39e67bbbcbd4ae = v);
602
+ $parcel$export($1f5c274a1b8d54c3$exports, "right-panel", () => $1f5c274a1b8d54c3$export$3332ecdf6c5467a, (v) => $1f5c274a1b8d54c3$export$3332ecdf6c5467a = v);
603
+ $parcel$export($1f5c274a1b8d54c3$exports, "buttons", () => $1f5c274a1b8d54c3$export$bbea856fdb3e3c5f, (v) => $1f5c274a1b8d54c3$export$bbea856fdb3e3c5f = v);
604
+ $parcel$export($1f5c274a1b8d54c3$exports, "tab-button", () => $1f5c274a1b8d54c3$export$76800529067ae833, (v) => $1f5c274a1b8d54c3$export$76800529067ae833 = v);
605
+ $parcel$export($1f5c274a1b8d54c3$exports, "menu-card", () => $1f5c274a1b8d54c3$export$d94de0bab38fd59, (v) => $1f5c274a1b8d54c3$export$d94de0bab38fd59 = v);
606
+ $parcel$export($1f5c274a1b8d54c3$exports, "narrow-card", () => $1f5c274a1b8d54c3$export$9769f988dc28baf, (v) => $1f5c274a1b8d54c3$export$9769f988dc28baf = v);
607
+ $parcel$export($1f5c274a1b8d54c3$exports, "panel-header", () => $1f5c274a1b8d54c3$export$90b77e3be608e918, (v) => $1f5c274a1b8d54c3$export$90b77e3be608e918 = v);
608
+ $parcel$export($1f5c274a1b8d54c3$exports, "minimal", () => $1f5c274a1b8d54c3$export$10c083462c34aef3, (v) => $1f5c274a1b8d54c3$export$10c083462c34aef3 = v);
609
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-panel-leave", () => $1f5c274a1b8d54c3$export$f3ad069e7751fe80, (v) => $1f5c274a1b8d54c3$export$f3ad069e7751fe80 = v);
610
+ $parcel$export($1f5c274a1b8d54c3$exports, "narrow-enter", () => $1f5c274a1b8d54c3$export$c20b2d766062840f, (v) => $1f5c274a1b8d54c3$export$c20b2d766062840f = v);
611
+ $parcel$export($1f5c274a1b8d54c3$exports, "menu-group", () => $1f5c274a1b8d54c3$export$3a4b737893473805, (v) => $1f5c274a1b8d54c3$export$3a4b737893473805 = v);
612
+ $parcel$export($1f5c274a1b8d54c3$exports, "menu-content", () => $1f5c274a1b8d54c3$export$3eeb6f640f2fe17b, (v) => $1f5c274a1b8d54c3$export$3eeb6f640f2fe17b = v);
613
+ $parcel$export($1f5c274a1b8d54c3$exports, "bp5-button-group", () => $1f5c274a1b8d54c3$export$6fe71a6d4f52db2a, (v) => $1f5c274a1b8d54c3$export$6fe71a6d4f52db2a = v);
614
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-container", () => $1f5c274a1b8d54c3$export$aa8359f513bf67ff, (v) => $1f5c274a1b8d54c3$export$aa8359f513bf67ff = v);
615
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-right-controls", () => $1f5c274a1b8d54c3$export$98a77ae0c82023e7, (v) => $1f5c274a1b8d54c3$export$98a77ae0c82023e7 = v);
616
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-controls", () => $1f5c274a1b8d54c3$export$802dc54769b48aa7, (v) => $1f5c274a1b8d54c3$export$802dc54769b48aa7 = v);
617
+ $parcel$export($1f5c274a1b8d54c3$exports, "map-scale-control", () => $1f5c274a1b8d54c3$export$b56f659d649f0d92, (v) => $1f5c274a1b8d54c3$export$b56f659d649f0d92 = v);
618
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-enter", () => $1f5c274a1b8d54c3$export$e017ebf46ba443ed, (v) => $1f5c274a1b8d54c3$export$e017ebf46ba443ed = v);
619
+ $parcel$export($1f5c274a1b8d54c3$exports, "infodrawer-stack", () => $1f5c274a1b8d54c3$export$69fa1b5d46c139b9, (v) => $1f5c274a1b8d54c3$export$69fa1b5d46c139b9 = v);
620
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel", () => $1f5c274a1b8d54c3$export$c6930745f2610de0, (v) => $1f5c274a1b8d54c3$export$c6930745f2610de0 = v);
621
+ $parcel$export($1f5c274a1b8d54c3$exports, "adaptive-width", () => $1f5c274a1b8d54c3$export$4db621d3143ef457, (v) => $1f5c274a1b8d54c3$export$4db621d3143ef457 = v);
622
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-panel-from", () => $1f5c274a1b8d54c3$export$90f42dafd5c24d2d, (v) => $1f5c274a1b8d54c3$export$90f42dafd5c24d2d = v);
623
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-panel-enter", () => $1f5c274a1b8d54c3$export$9ea3835d1b44cc08, (v) => $1f5c274a1b8d54c3$export$9ea3835d1b44cc08 = v);
624
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-floating", () => $1f5c274a1b8d54c3$export$50b37414f37debaa, (v) => $1f5c274a1b8d54c3$export$50b37414f37debaa = v);
625
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-from", () => $1f5c274a1b8d54c3$export$419647d5ce4279cb, (v) => $1f5c274a1b8d54c3$export$419647d5ce4279cb = v);
626
+ $parcel$export($1f5c274a1b8d54c3$exports, "detail-panel-leave", () => $1f5c274a1b8d54c3$export$1d0f1d0b062c3bee, (v) => $1f5c274a1b8d54c3$export$1d0f1d0b062c3bee = v);
627
+ $parcel$export($1f5c274a1b8d54c3$exports, "context-panel", () => $1f5c274a1b8d54c3$export$b4dbb67ffc3cc7a9, (v) => $1f5c274a1b8d54c3$export$b4dbb67ffc3cc7a9 = v);
628
+ var $1f5c274a1b8d54c3$export$d7f2c44afcf5df56;
629
+ var $1f5c274a1b8d54c3$export$e163bcc0a29d66c;
630
+ var $1f5c274a1b8d54c3$export$11aa7dc57218208d;
631
+ var $1f5c274a1b8d54c3$export$2a73fca7b70dce31;
632
+ var $1f5c274a1b8d54c3$export$cc73204c64cc0950;
633
+ var $1f5c274a1b8d54c3$export$d2972e7dfac51dc2;
634
+ var $1f5c274a1b8d54c3$export$142b9410c523ef40;
635
+ var $1f5c274a1b8d54c3$export$6bc2d6545947abbc;
636
+ var $1f5c274a1b8d54c3$export$b06313b17bd37b68;
637
+ var $1f5c274a1b8d54c3$export$ea9cfbb56edd0e47;
638
+ var $1f5c274a1b8d54c3$export$62a60ea2feb29c53;
639
+ var $1f5c274a1b8d54c3$export$61e54aa1efb913ad;
640
+ var $1f5c274a1b8d54c3$export$4a4f34b86d8e6504;
641
+ var $1f5c274a1b8d54c3$export$f553ebb4e6df6c5f;
642
+ var $1f5c274a1b8d54c3$export$c163dab1f00a51cb;
643
+ var $1f5c274a1b8d54c3$export$bc4885f800420ea3;
644
+ var $1f5c274a1b8d54c3$export$7d4a718201bc0bd1;
645
+ var $1f5c274a1b8d54c3$export$d0dcaf774d09fc4c;
646
+ var $1f5c274a1b8d54c3$export$1113ec858cdbc244;
647
+ var $1f5c274a1b8d54c3$export$8eff531ff0f1cffe;
648
+ var $1f5c274a1b8d54c3$export$a15c1c170cdda69a;
649
+ var $1f5c274a1b8d54c3$export$2ac23befe9d406ee;
650
+ var $1f5c274a1b8d54c3$export$bb1d4538b98f1621;
651
+ var $1f5c274a1b8d54c3$export$9dd9a0eceddf6af6;
652
+ var $1f5c274a1b8d54c3$export$9672a0c48c9048ad;
653
+ var $1f5c274a1b8d54c3$export$8cc075c801fd6817;
654
+ var $1f5c274a1b8d54c3$export$3a39e67bbbcbd4ae;
655
+ var $1f5c274a1b8d54c3$export$3332ecdf6c5467a;
656
+ var $1f5c274a1b8d54c3$export$bbea856fdb3e3c5f;
657
+ var $1f5c274a1b8d54c3$export$76800529067ae833;
658
+ var $1f5c274a1b8d54c3$export$d94de0bab38fd59;
659
+ var $1f5c274a1b8d54c3$export$9769f988dc28baf;
660
+ var $1f5c274a1b8d54c3$export$90b77e3be608e918;
661
+ var $1f5c274a1b8d54c3$export$10c083462c34aef3;
662
+ var $1f5c274a1b8d54c3$export$f3ad069e7751fe80;
663
+ var $1f5c274a1b8d54c3$export$c20b2d766062840f;
664
+ var $1f5c274a1b8d54c3$export$3a4b737893473805;
665
+ var $1f5c274a1b8d54c3$export$3eeb6f640f2fe17b;
666
+ var $1f5c274a1b8d54c3$export$6fe71a6d4f52db2a;
667
+ var $1f5c274a1b8d54c3$export$aa8359f513bf67ff;
668
+ var $1f5c274a1b8d54c3$export$98a77ae0c82023e7;
669
+ var $1f5c274a1b8d54c3$export$802dc54769b48aa7;
670
+ var $1f5c274a1b8d54c3$export$b56f659d649f0d92;
671
+ var $1f5c274a1b8d54c3$export$e017ebf46ba443ed;
672
+ var $1f5c274a1b8d54c3$export$69fa1b5d46c139b9;
673
+ var $1f5c274a1b8d54c3$export$c6930745f2610de0;
674
+ var $1f5c274a1b8d54c3$export$4db621d3143ef457;
675
+ var $1f5c274a1b8d54c3$export$90f42dafd5c24d2d;
676
+ var $1f5c274a1b8d54c3$export$9ea3835d1b44cc08;
677
+ var $1f5c274a1b8d54c3$export$50b37414f37debaa;
678
+ var $1f5c274a1b8d54c3$export$419647d5ce4279cb;
679
+ var $1f5c274a1b8d54c3$export$1d0f1d0b062c3bee;
680
+ var $1f5c274a1b8d54c3$export$b4dbb67ffc3cc7a9;
681
+ $1f5c274a1b8d54c3$export$d7f2c44afcf5df56 = "map-container_4c0a66";
682
+ $1f5c274a1b8d54c3$export$e163bcc0a29d66c = "show-panel-outlines_4c0a66";
683
+ $1f5c274a1b8d54c3$export$11aa7dc57218208d = "map-view-container_4c0a66";
684
+ $1f5c274a1b8d54c3$export$2a73fca7b70dce31 = "fit-viewport_4c0a66";
685
+ $1f5c274a1b8d54c3$export$cc73204c64cc0950 = "compass-control_4c0a66";
686
+ $1f5c274a1b8d54c3$export$d2972e7dfac51dc2 = "map-is-rotated_4c0a66";
687
+ $1f5c274a1b8d54c3$export$142b9410c523ef40 = "map-3d-control_4c0a66";
688
+ $1f5c274a1b8d54c3$export$6bc2d6545947abbc = "map-3d-available_4c0a66";
689
+ $1f5c274a1b8d54c3$export$b06313b17bd37b68 = "globe-control_4c0a66";
690
+ $1f5c274a1b8d54c3$export$ea9cfbb56edd0e47 = "map-is-global_4c0a66";
691
+ $1f5c274a1b8d54c3$export$62a60ea2feb29c53 = "detail-panel-open_4c0a66";
692
+ $1f5c274a1b8d54c3$export$61e54aa1efb913ad = "zoom-control_4c0a66";
693
+ $1f5c274a1b8d54c3$export$4a4f34b86d8e6504 = "detail-panel-fixed_4c0a66";
694
+ $1f5c274a1b8d54c3$export$f553ebb4e6df6c5f = "detail-panel-holder_4c0a66";
695
+ $1f5c274a1b8d54c3$export$c163dab1f00a51cb = "map-control-stack_4c0a66";
696
+ $1f5c274a1b8d54c3$export$bc4885f800420ea3 = "main-row_4c0a66";
697
+ $1f5c274a1b8d54c3$export$7d4a718201bc0bd1 = "map-ui_4c0a66";
698
+ $1f5c274a1b8d54c3$export$d0dcaf774d09fc4c = "mapbox-map_4c0a66";
699
+ $1f5c274a1b8d54c3$export$1113ec858cdbc244 = "context-panel-holder_4c0a66";
700
+ $1f5c274a1b8d54c3$export$8eff531ff0f1cffe = "panel-card_4c0a66";
701
+ $1f5c274a1b8d54c3$export$a15c1c170cdda69a = "context-stack_4c0a66";
702
+ $1f5c274a1b8d54c3$export$2ac23befe9d406ee = "searchbar_4c0a66";
703
+ $1f5c274a1b8d54c3$export$bb1d4538b98f1621 = "detail-stack_4c0a66";
704
+ $1f5c274a1b8d54c3$export$9dd9a0eceddf6af6 = "panel-container_4c0a66";
705
+ $1f5c274a1b8d54c3$export$9672a0c48c9048ad = "panel-title_4c0a66";
706
+ $1f5c274a1b8d54c3$export$8cc075c801fd6817 = "spacer_4c0a66";
707
+ $1f5c274a1b8d54c3$export$3a39e67bbbcbd4ae = "searchbar-holder_4c0a66";
708
+ $1f5c274a1b8d54c3$export$3332ecdf6c5467a = "right-panel_4c0a66";
709
+ $1f5c274a1b8d54c3$export$bbea856fdb3e3c5f = "buttons_4c0a66";
710
+ $1f5c274a1b8d54c3$export$76800529067ae833 = "tab-button_4c0a66";
711
+ $1f5c274a1b8d54c3$export$d94de0bab38fd59 = "menu-card_4c0a66";
712
+ $1f5c274a1b8d54c3$export$9769f988dc28baf = "narrow-card_4c0a66";
713
+ $1f5c274a1b8d54c3$export$90b77e3be608e918 = "panel-header_4c0a66";
714
+ $1f5c274a1b8d54c3$export$10c083462c34aef3 = "minimal_4c0a66";
715
+ $1f5c274a1b8d54c3$export$f3ad069e7751fe80 = "context-panel-leave_4c0a66";
716
+ $1f5c274a1b8d54c3$export$c20b2d766062840f = "narrow-enter_4c0a66";
717
+ $1f5c274a1b8d54c3$export$3a4b737893473805 = "menu-group_4c0a66";
718
+ $1f5c274a1b8d54c3$export$3eeb6f640f2fe17b = "menu-content_4c0a66";
719
+ $1f5c274a1b8d54c3$export$6fe71a6d4f52db2a = "bp5-button-group_4c0a66";
720
+ $1f5c274a1b8d54c3$export$aa8359f513bf67ff = "detail-panel-container_4c0a66";
721
+ $1f5c274a1b8d54c3$export$98a77ae0c82023e7 = "map-right-controls_4c0a66";
722
+ $1f5c274a1b8d54c3$export$802dc54769b48aa7 = "map-controls_4c0a66";
723
+ $1f5c274a1b8d54c3$export$b56f659d649f0d92 = "map-scale-control_4c0a66";
724
+ $1f5c274a1b8d54c3$export$e017ebf46ba443ed = "detail-panel-enter_4c0a66";
725
+ $1f5c274a1b8d54c3$export$69fa1b5d46c139b9 = "infodrawer-stack_4c0a66";
726
+ $1f5c274a1b8d54c3$export$c6930745f2610de0 = "detail-panel_4c0a66";
727
+ $1f5c274a1b8d54c3$export$4db621d3143ef457 = "adaptive-width_4c0a66";
728
+ $1f5c274a1b8d54c3$export$90f42dafd5c24d2d = "context-panel-from_4c0a66";
729
+ $1f5c274a1b8d54c3$export$9ea3835d1b44cc08 = "context-panel-enter_4c0a66";
730
+ $1f5c274a1b8d54c3$export$50b37414f37debaa = "detail-panel-floating_4c0a66";
731
+ $1f5c274a1b8d54c3$export$419647d5ce4279cb = "detail-panel-from_4c0a66";
732
+ $1f5c274a1b8d54c3$export$1d0f1d0b062c3bee = "detail-panel-leave_4c0a66";
733
+ $1f5c274a1b8d54c3$export$b4dbb67ffc3cc7a9 = "context-panel_4c0a66";
734
+
735
+
736
+
737
+
738
+
739
+
740
+ var $91d5aa004eeb2226$exports = {};
741
+
742
+ $parcel$export($91d5aa004eeb2226$exports, "MapBottomControls", () => $91d5aa004eeb2226$export$db1a2e058a06fb5c);
743
+
744
+
745
+
746
+
747
+
748
+
749
+ const $91d5aa004eeb2226$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($1f5c274a1b8d54c3$exports))));
750
+ function $91d5aa004eeb2226$var$ScaleControl(props) {
751
+ const optionsRef = (0, $Zz0sd$useRef)({
752
+ maxWidth: 200,
753
+ unit: "metric"
754
+ });
755
+ return $91d5aa004eeb2226$var$h((0, $Zz0sd$MapControlWrapper), {
756
+ className: "map-scale-control",
757
+ control: (0, $Zz0sd$ScaleControl),
758
+ options: optionsRef.current,
759
+ ...props
760
+ });
761
+ }
762
+ function $91d5aa004eeb2226$var$GeolocationControl(props) {
763
+ const optionsRef = (0, $Zz0sd$useRef)({
764
+ showAccuracyCircle: true,
765
+ showUserLocation: true,
766
+ trackUserLocation: true,
767
+ positionOptions: {
768
+ enableHighAccuracy: true
769
+ }
770
+ });
771
+ return $91d5aa004eeb2226$var$h((0, $Zz0sd$MapControlWrapper), {
772
+ control: (0, $Zz0sd$GeolocateControl),
773
+ options: optionsRef.current,
774
+ ...props
775
+ });
776
+ }
777
+ function $91d5aa004eeb2226$export$db1a2e058a06fb5c({ children: children }) {
778
+ const { isInitialized: isInitialized } = (0, $Zz0sd$useMapStatus)();
779
+ if (!isInitialized) return null;
780
+ return $91d5aa004eeb2226$var$h("div.map-controls", [
781
+ $91d5aa004eeb2226$var$h($91d5aa004eeb2226$var$ScaleControl),
782
+ $91d5aa004eeb2226$var$h((0, $Zz0sd$ThreeDControl), {
783
+ className: "map-3d-control"
784
+ }),
785
+ $91d5aa004eeb2226$var$h((0, $Zz0sd$CompassControl), {
786
+ className: "compass-control"
787
+ }),
788
+ $91d5aa004eeb2226$var$h((0, $Zz0sd$GlobeControl), {
789
+ className: "globe-control"
790
+ }),
791
+ $91d5aa004eeb2226$var$h($91d5aa004eeb2226$var$GeolocationControl, {
792
+ className: "geolocation-control"
793
+ }),
794
+ // If we have global development tools enabled, show the button
795
+ $91d5aa004eeb2226$var$h((0, $Zz0sd$DevToolsButtonSlot), {
796
+ className: "map-control"
797
+ }),
798
+ children
799
+ ]);
800
+ }
801
+
802
+
803
+
804
+
805
+ const $4bdfa9cd8240b2fd$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($1f5c274a1b8d54c3$exports))));
806
+ const $4bdfa9cd8240b2fd$export$ec68dd77edbe678b = (props)=>$4bdfa9cd8240b2fd$var$h((0, $Zz0sd$Card), {
807
+ ...props,
808
+ className: (0, $Zz0sd$classnames)("panel-card", props.className)
809
+ });
810
+ var $4bdfa9cd8240b2fd$export$612ca936d3ed4784;
811
+ (function(DetailPanelStyle) {
812
+ DetailPanelStyle["FIXED"] = "fixed";
813
+ DetailPanelStyle["FLOATING"] = "floating";
814
+ })($4bdfa9cd8240b2fd$export$612ca936d3ed4784 || ($4bdfa9cd8240b2fd$export$612ca936d3ed4784 = {}));
815
+ const $4bdfa9cd8240b2fd$export$9fa5da0bcfd0a290 = (props)=>$4bdfa9cd8240b2fd$var$h($4bdfa9cd8240b2fd$var$MapProviders, $4bdfa9cd8240b2fd$var$h($4bdfa9cd8240b2fd$var$_MapAreaContainer, props));
816
+ function $4bdfa9cd8240b2fd$var$_MapAreaContainer({ children: children, className: className, navbar: navbar, contextPanel: contextPanel = null, detailPanel: detailPanel = null, detailPanelOpen: detailPanelOpen, contextPanelOpen: contextPanelOpen = true, bottomPanel: bottomPanel = null, mainPanel: mainPanel, mapControls: mapControls = $4bdfa9cd8240b2fd$var$h((0, $91d5aa004eeb2226$export$db1a2e058a06fb5c)), contextStackProps: contextStackProps = null, detailStackProps: detailStackProps = null, detailPanelStyle: detailPanelStyle = "floating", fitViewport: fitViewport = true, showPanelOutlines: showPanelOutlines = false, preventMapInteraction: preventMapInteraction = false, ...rest }) {
817
+ const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;
818
+ const contextPanelTrans = (0, $Zz0sd$useTransition)(contextPanelOpen, 800);
819
+ const detailPanelTrans = (0, $Zz0sd$useTransition)(_detailPanelOpen, 800);
820
+ /*- We apply a custom style to the panel container when we are interacting
821
+ with the search bar, so that we can block map interactions until search
822
+ bar focus is lost.
823
+ - We also apply a custom style when the infodrawer is open so we can hide
824
+ the search bar on mobile platforms
825
+ - These styles are doubly applied so we can have both namespaced and
826
+ outside-accessible styles for each case.
827
+ */ const mainUIClassNames = (0, $Zz0sd$classnames)("map-container", className, `detail-panel-${detailPanelStyle}`, `context-panel-${contextPanelTrans.stage}`, `map-context-${contextPanelTrans.stage}`, `detail-panel-${detailPanelTrans.stage}`, `map-detail-${detailPanelTrans.stage}`, {
828
+ "detail-panel-open": _detailPanelOpen,
829
+ "map-context-open": contextPanelOpen,
830
+ "show-panel-outlines": showPanelOutlines,
831
+ "fit-viewport": fitViewport
832
+ });
833
+ const mapControlsExt = $4bdfa9cd8240b2fd$var$h([
834
+ $4bdfa9cd8240b2fd$var$h((0, $Zz0sd$ZoomControl), {
835
+ className: "zoom-control"
836
+ }),
837
+ $4bdfa9cd8240b2fd$var$h("div.spacer"),
838
+ mapControls
839
+ ]);
840
+ const detailStackExt = $4bdfa9cd8240b2fd$var$h("div.detail-stack.infodrawer-container", detailStackProps, [
841
+ $4bdfa9cd8240b2fd$var$h("div.detail-panel-holder", null, detailPanel),
842
+ $4bdfa9cd8240b2fd$var$h.if(detailPanelStyle == "floating")([
843
+ mapControlsExt
844
+ ])
845
+ ]);
846
+ return $4bdfa9cd8240b2fd$var$h($4bdfa9cd8240b2fd$export$fa395a37c3898ae3, {
847
+ className: mainUIClassNames
848
+ }, [
849
+ $4bdfa9cd8240b2fd$var$h("div.main-row", [
850
+ $4bdfa9cd8240b2fd$var$h("div.map-ui", {
851
+ ...rest
852
+ }, [
853
+ $4bdfa9cd8240b2fd$var$h($4bdfa9cd8240b2fd$var$ContextStack, {
854
+ navbar: navbar,
855
+ ...contextStackProps
856
+ }, [
857
+ $4bdfa9cd8240b2fd$var$h.if(contextPanelTrans.shouldMount)([
858
+ contextPanel
859
+ ])
860
+ ]),
861
+ //h(MapView),
862
+ children ?? mainPanel,
863
+ $4bdfa9cd8240b2fd$var$h.if(detailPanelStyle == "floating")([
864
+ detailStackExt
865
+ ]),
866
+ $4bdfa9cd8240b2fd$var$h.if(detailPanelStyle == "fixed")("div.map-control-stack", mapControlsExt)
867
+ ]),
868
+ $4bdfa9cd8240b2fd$var$h.if(detailPanelStyle == "fixed")([
869
+ detailStackExt
870
+ ])
871
+ ]),
872
+ $4bdfa9cd8240b2fd$var$h("div.bottom", null, bottomPanel)
873
+ ]);
874
+ }
875
+ function $4bdfa9cd8240b2fd$var$ContextStack(props) {
876
+ const { adaptiveWidth: adaptiveWidth, navbar: navbar, children: children, ...rest } = props;
877
+ const props1 = (0, $Zz0sd$addClassNames)(rest, {
878
+ "adaptive-width": adaptiveWidth
879
+ });
880
+ return $4bdfa9cd8240b2fd$var$h("div.context-stack", props1, [
881
+ navbar,
882
+ $4bdfa9cd8240b2fd$var$h("div.context-panel-holder", null, children),
883
+ $4bdfa9cd8240b2fd$var$h("div.spacer")
884
+ ]);
885
+ }
886
+ const $4bdfa9cd8240b2fd$var$MapProviders = ({ children: children })=>$4bdfa9cd8240b2fd$var$h((0, $Zz0sd$ToasterContext), $4bdfa9cd8240b2fd$var$h((0, $Zz0sd$MapboxMapProvider), children));
887
+ function $4bdfa9cd8240b2fd$export$fa395a37c3898ae3({ className: className, children: children }) {
888
+ const mapPosition = (0, $Zz0sd$useMapPosition)();
889
+ if (mapPosition != null) {
890
+ const { mapIsRotated: mapIsRotated, mapUse3D: mapUse3D, mapIsGlobal: mapIsGlobal } = (0, $Zz0sd$mapViewInfo)(mapPosition);
891
+ className = (0, $Zz0sd$classnames)(className, {
892
+ "map-is-rotated": mapIsRotated,
893
+ "map-3d-available": mapUse3D,
894
+ "map-is-global": mapIsGlobal
895
+ });
896
+ }
897
+ return $4bdfa9cd8240b2fd$var$h("div", {
898
+ className: className
899
+ }, children);
900
+ } //const _MapPage = compose(HotkeysProvider, MapPage);
901
+
902
+
903
+
904
+ var $4bc3dd5f0732eed3$exports = {};
905
+
906
+ $parcel$export($4bc3dd5f0732eed3$exports, "MapResizeManager", () => $4bc3dd5f0732eed3$export$31b2e088aff2dc5d);
907
+ $parcel$export($4bc3dd5f0732eed3$exports, "MapPaddingManager", () => $4bc3dd5f0732eed3$export$2ab96428dea558d6);
908
+ $parcel$export($4bc3dd5f0732eed3$exports, "MapMovedReporter", () => $4bc3dd5f0732eed3$export$f6eeee399afc4e9a);
909
+ $parcel$export($4bc3dd5f0732eed3$exports, "MapLoadingReporter", () => $4bc3dd5f0732eed3$export$e57f9eaa51773f82);
910
+ $parcel$export($4bc3dd5f0732eed3$exports, "MapMarker", () => $4bc3dd5f0732eed3$export$5c90a91c7455938c);
911
+ $parcel$export($4bc3dd5f0732eed3$exports, "useBasicStylePair", () => $4bc3dd5f0732eed3$export$566518253d2584f8);
912
+
913
+
914
+
915
+
916
+
917
+ var $82fe09613877ffc2$exports = {};
918
+
919
+ $parcel$export($82fe09613877ffc2$exports, "getMapPadding", () => $82fe09613877ffc2$export$bb78f9f01775eef1);
920
+ $parcel$export($82fe09613877ffc2$exports, "useMapMarker", () => $82fe09613877ffc2$export$278090850f6b3a9f);
921
+
922
+
923
+ function $82fe09613877ffc2$var$calcMapPadding(rect, childRect) {
924
+ return {
925
+ left: Math.max(rect.left - childRect.left, 0),
926
+ top: Math.max(rect.top - childRect.top, 0),
927
+ right: Math.max(childRect.right - rect.right, 0),
928
+ bottom: Math.max(childRect.bottom - rect.bottom, 0)
929
+ };
930
+ }
931
+ function $82fe09613877ffc2$export$bb78f9f01775eef1(ref, parentRef) {
932
+ const rect = parentRef.current?.getBoundingClientRect();
933
+ const childRect = ref.current?.getBoundingClientRect();
934
+ if (rect == null || childRect == null) return;
935
+ return $82fe09613877ffc2$var$calcMapPadding(rect, childRect);
936
+ }
937
+ function $82fe09613877ffc2$export$278090850f6b3a9f(mapRef, markerRef, markerPosition) {
938
+ (0, $Zz0sd$useEffect)(()=>{
939
+ const map = mapRef.current;
940
+ if (map == null) return;
941
+ if (markerPosition == null) {
942
+ markerRef.current?.remove();
943
+ return;
944
+ }
945
+ const marker = markerRef.current ?? new (0, $Zz0sd$Marker)();
946
+ marker.setLngLat(markerPosition).addTo(map);
947
+ markerRef.current = marker;
948
+ return ()=>marker.remove();
949
+ }, [
950
+ mapRef.current,
951
+ markerPosition
952
+ ]);
953
+ }
954
+
955
+
956
+
957
+ function $4bc3dd5f0732eed3$export$31b2e088aff2dc5d({ containerRef: containerRef }) {
958
+ const mapRef = (0, $Zz0sd$useMapRef)();
959
+ const debouncedResize = (0, $Zz0sd$useRef)((0, $Zz0sd$debounce)(()=>{
960
+ mapRef.current?.resize();
961
+ }, 100));
962
+ (0, $Zz0sd$useresizeobserver)({
963
+ ref: containerRef,
964
+ onResize: debouncedResize.current
965
+ });
966
+ return null;
967
+ }
968
+ function $4bc3dd5f0732eed3$export$2ab96428dea558d6({ containerRef: containerRef, parentRef: parentRef, infoMarkerPosition: infoMarkerPosition, debounceTime: debounceTime = 200 }) {
969
+ const mapRef = (0, $Zz0sd$useMapRef)();
970
+ const [padding, setPadding] = (0, $Zz0sd$useState)((0, $82fe09613877ffc2$export$bb78f9f01775eef1)(containerRef, parentRef));
971
+ const _updateMapPadding = (0, $Zz0sd$useCallback)(()=>{
972
+ const newPadding = (0, $82fe09613877ffc2$export$bb78f9f01775eef1)(containerRef, parentRef);
973
+ setPadding(newPadding);
974
+ }, [
975
+ containerRef.current,
976
+ parentRef.current
977
+ ]);
978
+ const updateMapPadding = (0, $Zz0sd$useMemo)(()=>(0, $Zz0sd$debounce)(_updateMapPadding, debounceTime), [
979
+ _updateMapPadding,
980
+ debounceTime
981
+ ]);
982
+ (0, $Zz0sd$useEffect)(()=>{
983
+ const map = mapRef.current;
984
+ if (map == null) return;
985
+ // Update map padding on load
986
+ updateMapPadding();
987
+ }, [
988
+ mapRef.current
989
+ ]);
990
+ (0, $Zz0sd$useresizeobserver)({
991
+ ref: parentRef,
992
+ onResize (sz) {
993
+ updateMapPadding();
994
+ },
995
+ round (n) {
996
+ return Math.round(n);
997
+ }
998
+ });
999
+ // Ideally, we would not have to do this when we know the infobox is loaded
1000
+ (0, $Zz0sd$useMapEaseTo)({
1001
+ center: infoMarkerPosition,
1002
+ padding: padding
1003
+ });
1004
+ return null;
1005
+ }
1006
+ function $4bc3dd5f0732eed3$export$f6eeee399afc4e9a({ onMapMoved: onMapMoved = null }) {
1007
+ const mapRef = (0, $Zz0sd$useMapRef)();
1008
+ const dispatch = (0, $Zz0sd$useMapDispatch)();
1009
+ const mapMovedCallback = (0, $Zz0sd$useCallback)(()=>{
1010
+ const map = mapRef.current;
1011
+ if (map == null) return;
1012
+ const mapPosition = (0, $Zz0sd$getMapPosition)(map);
1013
+ dispatch({
1014
+ type: "map-moved",
1015
+ payload: mapPosition
1016
+ });
1017
+ onMapMoved?.(mapPosition, map);
1018
+ }, [
1019
+ mapRef.current,
1020
+ onMapMoved,
1021
+ dispatch
1022
+ ]);
1023
+ (0, $Zz0sd$useEffect)(()=>{
1024
+ // Get the current value of the map. Useful for gradually moving away
1025
+ // from class component
1026
+ const map = mapRef.current;
1027
+ if (map == null) return;
1028
+ // Update the URI when the map moves
1029
+ mapMovedCallback();
1030
+ const cb = (0, $Zz0sd$debounce)(mapMovedCallback, 100);
1031
+ map.on("moveend", cb);
1032
+ return ()=>{
1033
+ map?.off("moveend", cb);
1034
+ };
1035
+ }, [
1036
+ mapMovedCallback
1037
+ ]);
1038
+ return null;
1039
+ }
1040
+ function $4bc3dd5f0732eed3$export$e57f9eaa51773f82({ ignoredSources: ignoredSources, onMapLoading: onMapLoading = null, onMapIdle: onMapIdle = null, mapIsLoading: mapIsLoading }) {
1041
+ const mapRef = (0, $Zz0sd$useMapRef)();
1042
+ const loadingRef = (0, $Zz0sd$useRef)(false);
1043
+ const dispatch = (0, $Zz0sd$useMapDispatch)();
1044
+ (0, $Zz0sd$useEffect)(()=>{
1045
+ const map = mapRef.current;
1046
+ const mapIsLoading = loadingRef.current;
1047
+ if (map == null) return;
1048
+ let didSendLoading = false;
1049
+ const loadingCallback = (evt)=>{
1050
+ if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;
1051
+ if (didSendLoading) return;
1052
+ onMapLoading?.(evt);
1053
+ dispatch({
1054
+ type: "set-loading",
1055
+ payload: true
1056
+ });
1057
+ loadingRef.current = true;
1058
+ didSendLoading = true;
1059
+ };
1060
+ const idleCallback = (evt)=>{
1061
+ if (!mapIsLoading) return;
1062
+ dispatch({
1063
+ type: "set-loading",
1064
+ payload: false
1065
+ });
1066
+ loadingRef.current = false;
1067
+ onMapIdle?.(evt);
1068
+ };
1069
+ map.on("sourcedataloading", loadingCallback);
1070
+ map.on("idle", idleCallback);
1071
+ return ()=>{
1072
+ map?.off("sourcedataloading", loadingCallback);
1073
+ map?.off("idle", idleCallback);
1074
+ };
1075
+ }, [
1076
+ ignoredSources,
1077
+ mapRef.current,
1078
+ mapIsLoading
1079
+ ]);
1080
+ return null;
1081
+ }
1082
+ function $4bc3dd5f0732eed3$export$5c90a91c7455938c({ position: position, setPosition: setPosition, centerMarker: centerMarker = true }) {
1083
+ const mapRef = (0, $Zz0sd$useMapRef)();
1084
+ const markerRef = (0, $Zz0sd$useRef)(null);
1085
+ (0, $82fe09613877ffc2$export$278090850f6b3a9f)(mapRef, markerRef, position);
1086
+ const handleMapClick = (0, $Zz0sd$useCallback)((event)=>{
1087
+ setPosition(event.lngLat, event, mapRef.current);
1088
+ // We should integrate this with the "easeToCenter" hook
1089
+ if (centerMarker) mapRef.current?.flyTo({
1090
+ center: event.lngLat,
1091
+ duration: 800
1092
+ });
1093
+ }, [
1094
+ mapRef.current,
1095
+ setPosition
1096
+ ]);
1097
+ (0, $Zz0sd$useEffect)(()=>{
1098
+ const map = mapRef.current;
1099
+ if (map != null && setPosition != null) map.on("click", handleMapClick);
1100
+ return ()=>{
1101
+ map?.off("click", handleMapClick);
1102
+ };
1103
+ }, [
1104
+ mapRef.current,
1105
+ setPosition
1106
+ ]);
1107
+ return null;
1108
+ }
1109
+ function $4bc3dd5f0732eed3$export$566518253d2584f8() {
1110
+ const inDarkMode = (0, $Zz0sd$useInDarkMode)();
1111
+ return inDarkMode ? "mapbox://styles/mapbox/dark-v10" : "mapbox://styles/mapbox/light-v10";
1112
+ }
1113
+
1114
+
1115
+
1116
+ var $9e150e311a3261e9$exports = {};
1117
+
1118
+ $parcel$export($9e150e311a3261e9$exports, "MapView", () => $9e150e311a3261e9$export$ab1e7a67d6ec5ad8);
1119
+ $parcel$export($9e150e311a3261e9$exports, "MapTerrainManager", () => $9e150e311a3261e9$export$cee395a8a2a00b29);
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+ // We should merge this with code in @macrostrat/mapbox-react/src/terrain.ts:
1128
+ function $286fbb15f2139dc1$export$b730542ee281c4b1(map, shouldEnable, sourceID = null) {
1129
+ if (!map.style?._loaded) {
1130
+ map.once("style.load", ()=>{
1131
+ $286fbb15f2139dc1$export$b730542ee281c4b1(map, shouldEnable, sourceID);
1132
+ });
1133
+ return;
1134
+ }
1135
+ const currentTerrainSource = $286fbb15f2139dc1$var$getTerrainSourceID(map);
1136
+ let demSourceID = sourceID ?? currentTerrainSource ?? "mapbox-dem";
1137
+ console.log("Enabling 3D terrain with source", demSourceID);
1138
+ // Enable or disable terrain depending on our current desires...
1139
+ const currentTerrain = map.getTerrain();
1140
+ if (!shouldEnable) {
1141
+ if (currentTerrain != null) map.setTerrain(null);
1142
+ return;
1143
+ }
1144
+ if (currentTerrain != null) return;
1145
+ // Add a DEM source if one is not found already.
1146
+ if (map.getSource(demSourceID) == null) map.addSource(demSourceID, {
1147
+ type: "raster-dem",
1148
+ url: "mapbox://mapbox.mapbox-terrain-dem-v1",
1149
+ tileSize: 512,
1150
+ maxzoom: 14
1151
+ });
1152
+ // add a sky layer that will show when the map is highly pitched
1153
+ if (map.getLayer("sky") == null) map.addLayer({
1154
+ id: "sky",
1155
+ type: "sky",
1156
+ paint: {
1157
+ "sky-type": "atmosphere",
1158
+ "sky-atmosphere-sun": [
1159
+ 0.0,
1160
+ 0.0
1161
+ ],
1162
+ "sky-atmosphere-sun-intensity": 15
1163
+ }
1164
+ });
1165
+ map.setTerrain({
1166
+ source: demSourceID,
1167
+ exaggeration: 1
1168
+ });
1169
+ console.log(map.getTerrain());
1170
+ }
1171
+ function $286fbb15f2139dc1$var$getTerrainSourceID(map) {
1172
+ for (const [key, source] of Object.entries(map.getStyle().sources)){
1173
+ if (source.type == "raster-dem") return key;
1174
+ }
1175
+ return null;
1176
+ }
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+ const $9e150e311a3261e9$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($1f5c274a1b8d54c3$exports))));
1183
+ function $9e150e311a3261e9$var$defaultInitializeMap(container, args = {}) {
1184
+ const { mapPosition: mapPosition, ...rest } = args;
1185
+ console.log("Initializing map (default)", args);
1186
+ const map = new (0, $Zz0sd$mapboxgl).Map({
1187
+ container: container,
1188
+ maxZoom: 18,
1189
+ //maxTileCacheSize: 0,
1190
+ logoPosition: "bottom-left",
1191
+ trackResize: true,
1192
+ antialias: true,
1193
+ optimizeForTerrain: true,
1194
+ ...rest
1195
+ });
1196
+ // set initial map position
1197
+ if (mapPosition != null) (0, $Zz0sd$setMapPosition)(map, mapPosition);
1198
+ //setMapPosition(map, mapPosition);
1199
+ return map;
1200
+ }
1201
+ const $9e150e311a3261e9$var$defaultMapPosition = {
1202
+ camera: {
1203
+ lat: 34,
1204
+ lng: -120,
1205
+ altitude: 300000
1206
+ }
1207
+ };
1208
+ function $9e150e311a3261e9$export$ab1e7a67d6ec5ad8(props) {
1209
+ let { terrainSourceID: terrainSourceID } = props;
1210
+ const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition = $9e150e311a3261e9$var$defaultMapPosition, initializeMap: initializeMap = $9e150e311a3261e9$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
1211
+ accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, ...rest } = props;
1212
+ if (enableTerrain) terrainSourceID ??= "mapbox-3d-dem";
1213
+ const _mapboxToken = mapboxToken ?? accessToken;
1214
+ if (_mapboxToken != null) (0, $Zz0sd$mapboxgl).accessToken = _mapboxToken;
1215
+ const dispatch = (0, $Zz0sd$useMapDispatch)();
1216
+ let mapRef = (0, $Zz0sd$useMapRef)();
1217
+ const ref = (0, $Zz0sd$useRef)();
1218
+ const parentRef = (0, $Zz0sd$useRef)();
1219
+ // Keep track of map position for reloads
1220
+ (0, $Zz0sd$useEffect)(()=>{
1221
+ console.log("Map updated", mapRef.current);
1222
+ }, [
1223
+ mapRef.current
1224
+ ]);
1225
+ (0, $Zz0sd$useEffect)(()=>{
1226
+ if (style == null) return;
1227
+ if (mapRef.current != null) {
1228
+ console.log("Setting style", style);
1229
+ mapRef.current.setStyle(style);
1230
+ return;
1231
+ }
1232
+ const map = initializeMap(ref.current, {
1233
+ style: style,
1234
+ projection: projection,
1235
+ mapPosition: mapPosition,
1236
+ ...rest
1237
+ });
1238
+ map.setPadding((0, $82fe09613877ffc2$export$bb78f9f01775eef1)(ref, parentRef), {
1239
+ animate: false
1240
+ });
1241
+ map.on("style.load", ()=>{
1242
+ onStyleLoaded?.(map);
1243
+ dispatch({
1244
+ type: "set-style-loaded",
1245
+ payload: true
1246
+ });
1247
+ });
1248
+ onMapLoaded?.(map);
1249
+ dispatch({
1250
+ type: "set-map",
1251
+ payload: map
1252
+ });
1253
+ }, [
1254
+ style
1255
+ ]);
1256
+ // Map style updating
1257
+ // useEffect(() => {
1258
+ // if (mapRef?.current == null || style == null) return;
1259
+ // mapRef?.current?.setStyle(style);
1260
+ // }, [mapRef.current, style]);
1261
+ // Set map position if it changes
1262
+ // useEffect(() => {
1263
+ // const map = mapRef.current;
1264
+ // if (map == null || mapPosition == null) return;
1265
+ // setMapPosition(map, mapPosition);
1266
+ // }, [mapPosition]);
1267
+ const _computedMapPosition = (0, $Zz0sd$useMapPosition)();
1268
+ const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $Zz0sd$mapViewInfo)(_computedMapPosition);
1269
+ // Get map projection
1270
+ const _projection = mapRef.current?.getProjection()?.name ?? "mercator";
1271
+ const className = (0, $Zz0sd$classnames)({
1272
+ "is-rotated": mapIsRotated ?? false,
1273
+ "is-3d-available": mapUse3D ?? false
1274
+ }, `${_projection}-projection`);
1275
+ return $9e150e311a3261e9$var$h("div.map-view-container.main-view", {
1276
+ ref: parentRef
1277
+ }, [
1278
+ $9e150e311a3261e9$var$h("div.mapbox-map#map", {
1279
+ ref: ref,
1280
+ className: className
1281
+ }),
1282
+ $9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$e57f9eaa51773f82), {
1283
+ ignoredSources: [
1284
+ "elevationMarker",
1285
+ "crossSectionEndpoints"
1286
+ ]
1287
+ }),
1288
+ $9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$f6eeee399afc4e9a), {
1289
+ onMapMoved: onMapMoved
1290
+ }),
1291
+ $9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$31b2e088aff2dc5d), {
1292
+ containerRef: ref
1293
+ }),
1294
+ $9e150e311a3261e9$var$h((0, $4bc3dd5f0732eed3$export$2ab96428dea558d6), {
1295
+ containerRef: ref,
1296
+ parentRef: parentRef,
1297
+ infoMarkerPosition: infoMarkerPosition
1298
+ }),
1299
+ $9e150e311a3261e9$var$h($9e150e311a3261e9$export$cee395a8a2a00b29, {
1300
+ mapUse3D: mapUse3D,
1301
+ terrainSourceID: terrainSourceID
1302
+ }),
1303
+ children
1304
+ ]);
1305
+ }
1306
+ function $9e150e311a3261e9$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrainSourceID: terrainSourceID }) {
1307
+ const mapRef = (0, $Zz0sd$useMapRef)();
1308
+ (0, $Zz0sd$useEffect)(()=>{
1309
+ const map = mapRef.current;
1310
+ if (map == null) return;
1311
+ (0, $286fbb15f2139dc1$export$b730542ee281c4b1)(map, mapUse3D, terrainSourceID);
1312
+ }, [
1313
+ mapRef.current,
1314
+ mapUse3D
1315
+ ]);
1316
+ return null;
1317
+ }
1318
+
1319
+
1320
+ var $bfe9593b6c29b10b$exports = {};
1321
+
1322
+ $parcel$export($bfe9593b6c29b10b$exports, "feature-panel", () => $bfe9593b6c29b10b$export$d27ce8c17b289f33, (v) => $bfe9593b6c29b10b$export$d27ce8c17b289f33 = v);
1323
+ $parcel$export($bfe9593b6c29b10b$exports, "key-value", () => $bfe9593b6c29b10b$export$6025d8aaa4edba3b, (v) => $bfe9593b6c29b10b$export$6025d8aaa4edba3b = v);
1324
+ $parcel$export($bfe9593b6c29b10b$exports, "key", () => $bfe9593b6c29b10b$export$df61b30b684217c0, (v) => $bfe9593b6c29b10b$export$df61b30b684217c0 = v);
1325
+ $parcel$export($bfe9593b6c29b10b$exports, "value", () => $bfe9593b6c29b10b$export$2ab9a8f9f1186f14, (v) => $bfe9593b6c29b10b$export$2ab9a8f9f1186f14 = v);
1326
+ $parcel$export($bfe9593b6c29b10b$exports, "feature-properties", () => $bfe9593b6c29b10b$export$4f7f4a0a9b87a0a1, (v) => $bfe9593b6c29b10b$export$4f7f4a0a9b87a0a1 = v);
1327
+ $parcel$export($bfe9593b6c29b10b$exports, "feature-header", () => $bfe9593b6c29b10b$export$435bd1864bef6e22, (v) => $bfe9593b6c29b10b$export$435bd1864bef6e22 = v);
1328
+ $parcel$export($bfe9593b6c29b10b$exports, "feature-group", () => $bfe9593b6c29b10b$export$a1386d43b662271, (v) => $bfe9593b6c29b10b$export$a1386d43b662271 = v);
1329
+ $parcel$export($bfe9593b6c29b10b$exports, "tile-info", () => $bfe9593b6c29b10b$export$1ea80fe0e5d4f6be, (v) => $bfe9593b6c29b10b$export$1ea80fe0e5d4f6be = v);
1330
+ $parcel$export($bfe9593b6c29b10b$exports, "opacity-slider", () => $bfe9593b6c29b10b$export$802c81ec652235aa, (v) => $bfe9593b6c29b10b$export$802c81ec652235aa = v);
1331
+ $parcel$export($bfe9593b6c29b10b$exports, "unit-number", () => $bfe9593b6c29b10b$export$ce32b714ddd6b59, (v) => $bfe9593b6c29b10b$export$ce32b714ddd6b59 = v);
1332
+ $parcel$export($bfe9593b6c29b10b$exports, "unit", () => $bfe9593b6c29b10b$export$523c0b569236b342, (v) => $bfe9593b6c29b10b$export$523c0b569236b342 = v);
1333
+ $parcel$export($bfe9593b6c29b10b$exports, "page", () => $bfe9593b6c29b10b$export$523fb3936f49e028, (v) => $bfe9593b6c29b10b$export$523fb3936f49e028 = v);
1334
+ $parcel$export($bfe9593b6c29b10b$exports, "dev-index-page", () => $bfe9593b6c29b10b$export$ee954d6f5e1b21cc, (v) => $bfe9593b6c29b10b$export$ee954d6f5e1b21cc = v);
1335
+ var $bfe9593b6c29b10b$export$d27ce8c17b289f33;
1336
+ var $bfe9593b6c29b10b$export$6025d8aaa4edba3b;
1337
+ var $bfe9593b6c29b10b$export$df61b30b684217c0;
1338
+ var $bfe9593b6c29b10b$export$2ab9a8f9f1186f14;
1339
+ var $bfe9593b6c29b10b$export$4f7f4a0a9b87a0a1;
1340
+ var $bfe9593b6c29b10b$export$435bd1864bef6e22;
1341
+ var $bfe9593b6c29b10b$export$a1386d43b662271;
1342
+ var $bfe9593b6c29b10b$export$1ea80fe0e5d4f6be;
1343
+ var $bfe9593b6c29b10b$export$802c81ec652235aa;
1344
+ var $bfe9593b6c29b10b$export$ce32b714ddd6b59;
1345
+ var $bfe9593b6c29b10b$export$523c0b569236b342;
1346
+ var $bfe9593b6c29b10b$export$523fb3936f49e028;
1347
+ var $bfe9593b6c29b10b$export$ee954d6f5e1b21cc;
1348
+ $bfe9593b6c29b10b$export$d27ce8c17b289f33 = "feature-panel_48e225";
1349
+ $bfe9593b6c29b10b$export$6025d8aaa4edba3b = "key-value_48e225";
1350
+ $bfe9593b6c29b10b$export$df61b30b684217c0 = "key_48e225";
1351
+ $bfe9593b6c29b10b$export$2ab9a8f9f1186f14 = "value_48e225";
1352
+ $bfe9593b6c29b10b$export$4f7f4a0a9b87a0a1 = "feature-properties_48e225";
1353
+ $bfe9593b6c29b10b$export$435bd1864bef6e22 = "feature-header_48e225";
1354
+ $bfe9593b6c29b10b$export$a1386d43b662271 = "feature-group_48e225";
1355
+ $bfe9593b6c29b10b$export$1ea80fe0e5d4f6be = "tile-info_48e225";
1356
+ $bfe9593b6c29b10b$export$802c81ec652235aa = "opacity-slider_48e225";
1357
+ $bfe9593b6c29b10b$export$ce32b714ddd6b59 = "unit-number_48e225";
1358
+ $bfe9593b6c29b10b$export$523c0b569236b342 = "unit_48e225";
1359
+ $bfe9593b6c29b10b$export$523fb3936f49e028 = "page_48e225";
1360
+ $bfe9593b6c29b10b$export$ee954d6f5e1b21cc = "dev-index-page_48e225";
1361
+
1362
+
1363
+ var $1d4d29ef2725aa16$exports = {};
1364
+
1365
+ $parcel$export($1d4d29ef2725aa16$exports, "TileExtentLayer", () => $1d4d29ef2725aa16$export$86c09739b12f23cd);
1366
+
1367
+
1368
+
1369
+ function $1d4d29ef2725aa16$export$86c09739b12f23cd({ tile: tile, color: color = "red" }) {
1370
+ const styleCallback = (0, $Zz0sd$useCallback)((map, val)=>{
1371
+ const style = map.getStyle();
1372
+ if (style.layers == null) return;
1373
+ style.layers = style.layers.filter((l)=>l.id != "tile-extent");
1374
+ if (val == null) return map.setStyle(style);
1375
+ const { x: x, y: y, z: z } = val;
1376
+ const extent = (0, $Zz0sd$tileToGeoJSON)([
1377
+ x,
1378
+ y,
1379
+ z
1380
+ ]);
1381
+ const source = {
1382
+ type: "geojson",
1383
+ data: extent
1384
+ };
1385
+ const layer = {
1386
+ id: "tile-extent",
1387
+ type: "line",
1388
+ source: "tile-extent",
1389
+ paint: {
1390
+ "line-color": color,
1391
+ "line-width": 2
1392
+ }
1393
+ };
1394
+ style.sources["tile-extent"] = source;
1395
+ style.layers.push(layer);
1396
+ map.setStyle(style);
1397
+ }, [
1398
+ color
1399
+ ]);
1400
+ const map = (0, $Zz0sd$useMapRef)();
1401
+ (0, $Zz0sd$useMapConditionalStyle)(map, tile, styleCallback);
1402
+ return null;
1403
+ }
1404
+
1405
+
1406
+ var $b8c84b63e75fe4f2$exports = {};
1407
+
1408
+ $parcel$export($b8c84b63e75fe4f2$exports, "FeatureProperties", () => $b8c84b63e75fe4f2$export$2906e7f4b228efe9);
1409
+ $parcel$export($b8c84b63e75fe4f2$exports, "FeatureRecord", () => $b8c84b63e75fe4f2$export$dc87b4d46cea200d);
1410
+ $parcel$export($b8c84b63e75fe4f2$exports, "FeatureSelectionHandler", () => $b8c84b63e75fe4f2$export$214daccdda0f4ac6);
1411
+ $parcel$export($b8c84b63e75fe4f2$exports, "Features", () => $b8c84b63e75fe4f2$export$617d79dae526d2cf);
1412
+ $parcel$export($b8c84b63e75fe4f2$exports, "TileInfo", () => $b8c84b63e75fe4f2$export$43c75dec9d0b96c);
1413
+ $parcel$export($b8c84b63e75fe4f2$exports, "FeaturePanel", () => $b8c84b63e75fe4f2$export$43277c51a01761c1);
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+ var $d570ac304373e71c$exports = {};
1422
+
1423
+ $parcel$export($d570ac304373e71c$exports, "ExpansionPanelSummary", () => $d570ac304373e71c$export$cea00a9d724d5a32);
1424
+ $parcel$export($d570ac304373e71c$exports, "InfoPanelSection", () => $d570ac304373e71c$export$39c134eb0b07cf0e);
1425
+ $parcel$export($d570ac304373e71c$exports, "ExpansionPanel", () => $d570ac304373e71c$export$40e646e38e6ed100);
1426
+ $parcel$export($d570ac304373e71c$exports, "SubExpansionPanel", () => $d570ac304373e71c$export$d7160281aff7c3b8);
1427
+ $parcel$export($d570ac304373e71c$exports, "ExpandableDetailsPanel", () => $d570ac304373e71c$export$44ad9ff780615135);
1428
+ $parcel$export($d570ac304373e71c$exports, "ExpansionBody", () => $d570ac304373e71c$export$263416b670b3f129);
1429
+ $parcel$export($d570ac304373e71c$exports, "PanelSubhead", () => $72e497a412b1da0a$export$ed081779ec3709aa);
1430
+
1431
+
1432
+
1433
+ var $3388ecc062e0c521$exports = {};
1434
+
1435
+ $parcel$export($3388ecc062e0c521$exports, "panel-subhead", () => $3388ecc062e0c521$export$bb6008c7ec506dc5, (v) => $3388ecc062e0c521$export$bb6008c7ec506dc5 = v);
1436
+ $parcel$export($3388ecc062e0c521$exports, "title", () => $3388ecc062e0c521$export$fb184b623420d9be, (v) => $3388ecc062e0c521$export$fb184b623420d9be = v);
1437
+ $parcel$export($3388ecc062e0c521$exports, "info-panel-section", () => $3388ecc062e0c521$export$198bd65f1c7a5309, (v) => $3388ecc062e0c521$export$198bd65f1c7a5309 = v);
1438
+ $parcel$export($3388ecc062e0c521$exports, "expansion-panel", () => $3388ecc062e0c521$export$1db06abc8684077f, (v) => $3388ecc062e0c521$export$1db06abc8684077f = v);
1439
+ $parcel$export($3388ecc062e0c521$exports, "sub-expansion-panel", () => $3388ecc062e0c521$export$e1943f56d410f24c, (v) => $3388ecc062e0c521$export$e1943f56d410f24c = v);
1440
+ $parcel$export($3388ecc062e0c521$exports, "expansion-panel-header", () => $3388ecc062e0c521$export$771f363b9f663d2c, (v) => $3388ecc062e0c521$export$771f363b9f663d2c = v);
1441
+ $parcel$export($3388ecc062e0c521$exports, "expansion-summary-title-help", () => $3388ecc062e0c521$export$47b2fa26e88e0093, (v) => $3388ecc062e0c521$export$47b2fa26e88e0093 = v);
1442
+ $parcel$export($3388ecc062e0c521$exports, "expansion-children", () => $3388ecc062e0c521$export$d8457cb7ae0c47fd, (v) => $3388ecc062e0c521$export$d8457cb7ae0c47fd = v);
1443
+ $parcel$export($3388ecc062e0c521$exports, "expansion-panel-subtext", () => $3388ecc062e0c521$export$f3447611ed163f53, (v) => $3388ecc062e0c521$export$f3447611ed163f53 = v);
1444
+ $parcel$export($3388ecc062e0c521$exports, "expandable-details-main", () => $3388ecc062e0c521$export$561f0c2134cd9732, (v) => $3388ecc062e0c521$export$561f0c2134cd9732 = v);
1445
+ $parcel$export($3388ecc062e0c521$exports, "expandable-details-header", () => $3388ecc062e0c521$export$ec357a59e90ee7ee, (v) => $3388ecc062e0c521$export$ec357a59e90ee7ee = v);
1446
+ $parcel$export($3388ecc062e0c521$exports, "expandable-details-children", () => $3388ecc062e0c521$export$ae8d16cb87fbdc31, (v) => $3388ecc062e0c521$export$ae8d16cb87fbdc31 = v);
1447
+ $parcel$export($3388ecc062e0c521$exports, "expandable-details-toggle", () => $3388ecc062e0c521$export$1089a6d45649b54c, (v) => $3388ecc062e0c521$export$1089a6d45649b54c = v);
1448
+ $parcel$export($3388ecc062e0c521$exports, "expandable-details", () => $3388ecc062e0c521$export$20a01d7b55fba18b, (v) => $3388ecc062e0c521$export$20a01d7b55fba18b = v);
1449
+ $parcel$export($3388ecc062e0c521$exports, "macrostrat-unit", () => $3388ecc062e0c521$export$fcdb9e479e3129ed, (v) => $3388ecc062e0c521$export$fcdb9e479e3129ed = v);
1450
+ $parcel$export($3388ecc062e0c521$exports, "expansion-body", () => $3388ecc062e0c521$export$2d112e83849a3cf7, (v) => $3388ecc062e0c521$export$2d112e83849a3cf7 = v);
1451
+ $parcel$export($3388ecc062e0c521$exports, "expansion-panel-detail-header", () => $3388ecc062e0c521$export$854d9fad3b5263eb, (v) => $3388ecc062e0c521$export$854d9fad3b5263eb = v);
1452
+ $parcel$export($3388ecc062e0c521$exports, "expansion-panel-detail-body", () => $3388ecc062e0c521$export$494f9067c39d24ef, (v) => $3388ecc062e0c521$export$494f9067c39d24ef = v);
1453
+ var $3388ecc062e0c521$export$bb6008c7ec506dc5;
1454
+ var $3388ecc062e0c521$export$fb184b623420d9be;
1455
+ var $3388ecc062e0c521$export$198bd65f1c7a5309;
1456
+ var $3388ecc062e0c521$export$1db06abc8684077f;
1457
+ var $3388ecc062e0c521$export$e1943f56d410f24c;
1458
+ var $3388ecc062e0c521$export$771f363b9f663d2c;
1459
+ var $3388ecc062e0c521$export$47b2fa26e88e0093;
1460
+ var $3388ecc062e0c521$export$d8457cb7ae0c47fd;
1461
+ var $3388ecc062e0c521$export$f3447611ed163f53;
1462
+ var $3388ecc062e0c521$export$561f0c2134cd9732;
1463
+ var $3388ecc062e0c521$export$ec357a59e90ee7ee;
1464
+ var $3388ecc062e0c521$export$ae8d16cb87fbdc31;
1465
+ var $3388ecc062e0c521$export$1089a6d45649b54c;
1466
+ var $3388ecc062e0c521$export$20a01d7b55fba18b;
1467
+ var $3388ecc062e0c521$export$fcdb9e479e3129ed;
1468
+ var $3388ecc062e0c521$export$2d112e83849a3cf7;
1469
+ var $3388ecc062e0c521$export$854d9fad3b5263eb;
1470
+ var $3388ecc062e0c521$export$494f9067c39d24ef;
1471
+ $3388ecc062e0c521$export$bb6008c7ec506dc5 = "panel-subhead_1340c8";
1472
+ $3388ecc062e0c521$export$fb184b623420d9be = "title_1340c8";
1473
+ $3388ecc062e0c521$export$198bd65f1c7a5309 = "info-panel-section_1340c8";
1474
+ $3388ecc062e0c521$export$1db06abc8684077f = "expansion-panel_1340c8";
1475
+ $3388ecc062e0c521$export$e1943f56d410f24c = "sub-expansion-panel_1340c8";
1476
+ $3388ecc062e0c521$export$771f363b9f663d2c = "expansion-panel-header_1340c8";
1477
+ $3388ecc062e0c521$export$47b2fa26e88e0093 = "expansion-summary-title-help_1340c8";
1478
+ $3388ecc062e0c521$export$d8457cb7ae0c47fd = "expansion-children_1340c8";
1479
+ $3388ecc062e0c521$export$f3447611ed163f53 = "expansion-panel-subtext_1340c8";
1480
+ $3388ecc062e0c521$export$561f0c2134cd9732 = "expandable-details-main_1340c8";
1481
+ $3388ecc062e0c521$export$ec357a59e90ee7ee = "expandable-details-header_1340c8";
1482
+ $3388ecc062e0c521$export$ae8d16cb87fbdc31 = "expandable-details-children_1340c8";
1483
+ $3388ecc062e0c521$export$1089a6d45649b54c = "expandable-details-toggle_1340c8";
1484
+ $3388ecc062e0c521$export$20a01d7b55fba18b = "expandable-details_1340c8";
1485
+ $3388ecc062e0c521$export$fcdb9e479e3129ed = "macrostrat-unit_1340c8";
1486
+ $3388ecc062e0c521$export$2d112e83849a3cf7 = "expansion-body_1340c8";
1487
+ $3388ecc062e0c521$export$854d9fad3b5263eb = "expansion-panel-detail-header_1340c8";
1488
+ $3388ecc062e0c521$export$494f9067c39d24ef = "expansion-panel-detail-body_1340c8";
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+ const $72e497a412b1da0a$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($3388ecc062e0c521$exports))));
1495
+ function $72e497a412b1da0a$export$ed081779ec3709aa(props) {
1496
+ const { title: title, component: component = "h3", children: children, ...rest } = props;
1497
+ return $72e497a412b1da0a$var$h("div.panel-subhead", rest, [
1498
+ $72e497a412b1da0a$var$h(component, {
1499
+ className: "title"
1500
+ }, title),
1501
+ children
1502
+ ]);
1503
+ }
1504
+
1505
+
1506
+ const $d570ac304373e71c$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($3388ecc062e0c521$exports))));
1507
+ function $d570ac304373e71c$export$cea00a9d724d5a32(props) {
1508
+ const { expanded: expanded, children: children, onChange: onChange, className: className, title: title, titleComponent: titleComponent } = props;
1509
+ const icon = expanded ? "chevron-up" : "chevron-down";
1510
+ return $d570ac304373e71c$var$h((0, $72e497a412b1da0a$export$ed081779ec3709aa), {
1511
+ className: (0, $Zz0sd$classnames)("expansion-panel-header", className),
1512
+ onClick: onChange,
1513
+ title: title,
1514
+ component: titleComponent
1515
+ }, [
1516
+ children,
1517
+ $d570ac304373e71c$var$h((0, $Zz0sd$Icon), {
1518
+ icon: icon
1519
+ })
1520
+ ]);
1521
+ }
1522
+ function $d570ac304373e71c$var$ExpansionPanelBase(props) {
1523
+ let { title: title, titleComponent: titleComponent = "h3", children: children, expanded: expanded, helpText: helpText, onChange: onChange = ()=>{}, sideComponent: sideComponent = null, className: className } = props;
1524
+ const [isOpen, setOpen] = (0, $Zz0sd$useState)(expanded || false);
1525
+ const onChange_ = ()=>{
1526
+ onChange();
1527
+ setOpen(!isOpen);
1528
+ };
1529
+ return $d570ac304373e71c$var$h("div.expansion-panel-base", {
1530
+ className: (0, $Zz0sd$classnames)(className, {
1531
+ expanded: isOpen,
1532
+ collapsed: !isOpen
1533
+ })
1534
+ }, [
1535
+ $d570ac304373e71c$var$h($d570ac304373e71c$export$cea00a9d724d5a32, {
1536
+ onChange: onChange_,
1537
+ expanded: isOpen,
1538
+ title: title,
1539
+ titleComponent: titleComponent
1540
+ }, $d570ac304373e71c$var$h("div.expansion-summary-title-help", [
1541
+ $d570ac304373e71c$var$h("span.expansion-panel-subtext", helpText),
1542
+ " ",
1543
+ sideComponent
1544
+ ])),
1545
+ $d570ac304373e71c$var$h((0, $Zz0sd$Collapse), {
1546
+ isOpen: isOpen
1547
+ }, $d570ac304373e71c$var$h("div.expansion-children", null, children))
1548
+ ]);
1549
+ }
1550
+ function $d570ac304373e71c$export$39c134eb0b07cf0e(props) {
1551
+ let { title: title, children: children, className: className, headerElement: headerElement = null } = props;
1552
+ return $d570ac304373e71c$var$h("div.info-panel-section", {
1553
+ className: className
1554
+ }, [
1555
+ $d570ac304373e71c$var$h("div.panel-subhead", null, headerElement ?? $d570ac304373e71c$var$h("h3", title)),
1556
+ $d570ac304373e71c$var$h("div.panel-content", null, children)
1557
+ ]);
1558
+ }
1559
+ function $d570ac304373e71c$export$40e646e38e6ed100(props) {
1560
+ return $d570ac304373e71c$var$h($d570ac304373e71c$var$ExpansionPanelBase, {
1561
+ ...props,
1562
+ className: "expansion-panel"
1563
+ });
1564
+ }
1565
+ function $d570ac304373e71c$export$d7160281aff7c3b8(props) {
1566
+ return $d570ac304373e71c$var$h($d570ac304373e71c$var$ExpansionPanelBase, {
1567
+ ...props,
1568
+ className: "expansion-panel sub-expansion-panel",
1569
+ titleComponent: "h4"
1570
+ });
1571
+ }
1572
+ function $d570ac304373e71c$export$44ad9ff780615135(props) {
1573
+ let { title: title, children: children, value: value, headerElement: headerElement, className: className } = props;
1574
+ const [isOpen, setIsOpen] = (0, $Zz0sd$useState)(false);
1575
+ headerElement ??= $d570ac304373e71c$var$h([
1576
+ $d570ac304373e71c$var$h("div.title", title),
1577
+ value
1578
+ ]);
1579
+ return $d570ac304373e71c$var$h("div.expandable-details", {
1580
+ className: className
1581
+ }, [
1582
+ $d570ac304373e71c$var$h("div.expandable-details-main", [
1583
+ $d570ac304373e71c$var$h("div.expandable-details-header", headerElement),
1584
+ $d570ac304373e71c$var$h("div.expandable-details-toggle", [
1585
+ $d570ac304373e71c$var$h((0, $Zz0sd$Button), {
1586
+ small: true,
1587
+ minimal: true,
1588
+ active: isOpen,
1589
+ onClick: ()=>setIsOpen(!isOpen),
1590
+ icon: "more"
1591
+ })
1592
+ ])
1593
+ ]),
1594
+ $d570ac304373e71c$var$h((0, $Zz0sd$Collapse), {
1595
+ isOpen: isOpen
1596
+ }, $d570ac304373e71c$var$h("div.expandable-details-children", null, children))
1597
+ ]);
1598
+ }
1599
+ function $d570ac304373e71c$export$263416b670b3f129({ title: title, className: className, children: children }) {
1600
+ return $d570ac304373e71c$var$h("div.expansion-body", {
1601
+ className: className
1602
+ }, [
1603
+ $d570ac304373e71c$var$h("div.expansion-panel-detail-header", title),
1604
+ $d570ac304373e71c$var$h("div.expansion-panel-detail-body", null, children)
1605
+ ]);
1606
+ }
1607
+
1608
+
1609
+ const $b8c84b63e75fe4f2$var$h = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($bfe9593b6c29b10b$exports))));
1610
+ function $b8c84b63e75fe4f2$export$2906e7f4b228efe9({ data: data, ...rest }) {
1611
+ return $b8c84b63e75fe4f2$var$h("div.feature-properties", [
1612
+ $b8c84b63e75fe4f2$var$h((0, $Zz0sd$JSONView), {
1613
+ data: data,
1614
+ hideRoot: true,
1615
+ ...rest
1616
+ })
1617
+ ]);
1618
+ }
1619
+ function $b8c84b63e75fe4f2$export$dc87b4d46cea200d({ feature: feature }) {
1620
+ const props = feature.properties;
1621
+ return $b8c84b63e75fe4f2$var$h("div.feature-record", [
1622
+ $b8c84b63e75fe4f2$var$h.if(Object.keys(props).length > 0)($b8c84b63e75fe4f2$export$2906e7f4b228efe9, {
1623
+ data: props
1624
+ })
1625
+ ]);
1626
+ }
1627
+ function $b8c84b63e75fe4f2$export$214daccdda0f4ac6({ selectedLocation: selectedLocation, setFeatures: setFeatures, radius: radius = 2 }) {
1628
+ const mapRef = (0, $Zz0sd$useMapRef)();
1629
+ const { isLoading: isLoading } = (0, $Zz0sd$useMapStatus)();
1630
+ const prevLocation = (0, $Zz0sd$usePrevious)(selectedLocation);
1631
+ (0, $Zz0sd$useEffect)(()=>{
1632
+ const map = mapRef?.current;
1633
+ if (map == null) return;
1634
+ if (selectedLocation == null) {
1635
+ setFeatures(null);
1636
+ return;
1637
+ }
1638
+ // Don't update if the location hasn't changed
1639
+ if (selectedLocation == prevLocation) return;
1640
+ const r = radius;
1641
+ const pt = map.project(selectedLocation);
1642
+ const bbox = [
1643
+ [
1644
+ pt.x - r,
1645
+ pt.y - r
1646
+ ],
1647
+ [
1648
+ pt.x + r,
1649
+ pt.y + r
1650
+ ]
1651
+ ];
1652
+ const features = map.queryRenderedFeatures(bbox);
1653
+ setFeatures(features);
1654
+ }, [
1655
+ mapRef.current,
1656
+ prevLocation?.current,
1657
+ selectedLocation,
1658
+ isLoading
1659
+ ]);
1660
+ return null;
1661
+ }
1662
+ function $b8c84b63e75fe4f2$var$FeatureHeader({ feature: feature }) {
1663
+ return $b8c84b63e75fe4f2$var$h("div.feature-header", [
1664
+ $b8c84b63e75fe4f2$var$h("h3", [
1665
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1666
+ label: "Source",
1667
+ value: feature.source
1668
+ }),
1669
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1670
+ label: "Source layer",
1671
+ value: feature.sourceLayer
1672
+ })
1673
+ ])
1674
+ ]);
1675
+ }
1676
+ function $b8c84b63e75fe4f2$var$KeyValue({ label: label, value: value }) {
1677
+ return $b8c84b63e75fe4f2$var$h("span.key-value", [
1678
+ $b8c84b63e75fe4f2$var$h("span.key", label),
1679
+ $b8c84b63e75fe4f2$var$h("code.value", value)
1680
+ ]);
1681
+ }
1682
+ function $b8c84b63e75fe4f2$var$LoadingAwareFeatureSet({ features: features, sourceID: sourceID }) {
1683
+ const map = (0, $Zz0sd$useMapRef)();
1684
+ if (map?.current == null) return null;
1685
+ const [isLoaded, setIsLoaded] = (0, $Zz0sd$useState)(false);
1686
+ const sourceFeatures = features.filter((d)=>d.source == "burwell");
1687
+ (0, $Zz0sd$useEffect)(()=>{
1688
+ if (sourceFeatures.length > 0) {
1689
+ setIsLoaded(true);
1690
+ return;
1691
+ }
1692
+ const isLoaded = map.current.isSourceLoaded(sourceID);
1693
+ setIsLoaded(isLoaded);
1694
+ if (!isLoaded) map.current.once("sourcedata", (e)=>{
1695
+ if (e.sourceId == sourceID) setIsLoaded(true);
1696
+ });
1697
+ }, [
1698
+ map.current,
1699
+ sourceID,
1700
+ sourceFeatures.length
1701
+ ]);
1702
+ if (!isLoaded) return $b8c84b63e75fe4f2$var$h((0, $Zz0sd$Spinner));
1703
+ return $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$export$617d79dae526d2cf, {
1704
+ features: sourceFeatures
1705
+ });
1706
+ }
1707
+ function $b8c84b63e75fe4f2$export$43c75dec9d0b96c({ feature: feature, showExtent: showExtent, setShowExtent: setShowExtent }) {
1708
+ if (feature == null) return null;
1709
+ const size = feature._vectorTileFeature._pbf.length;
1710
+ return $b8c84b63e75fe4f2$var$h("div.tile-info", [
1711
+ $b8c84b63e75fe4f2$var$h("h3", "Tile"),
1712
+ $b8c84b63e75fe4f2$var$h("div.tile-index", [
1713
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1714
+ label: "x",
1715
+ value: feature._x
1716
+ }),
1717
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1718
+ label: "y",
1719
+ value: feature._y
1720
+ }),
1721
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1722
+ label: "z",
1723
+ value: feature._z
1724
+ })
1725
+ ]),
1726
+ $b8c84b63e75fe4f2$var$h("div.spacer"),
1727
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$KeyValue, {
1728
+ label: "Size",
1729
+ value: $b8c84b63e75fe4f2$var$formatSize(size)
1730
+ }),
1731
+ $b8c84b63e75fe4f2$var$h((0, $Zz0sd$Switch), {
1732
+ label: "Show extent",
1733
+ alignIndicator: "right",
1734
+ checked: showExtent,
1735
+ onChange () {
1736
+ setShowExtent(!showExtent);
1737
+ }
1738
+ })
1739
+ ]);
1740
+ }
1741
+ function $b8c84b63e75fe4f2$var$formatSize(size) {
1742
+ if (size > 1000000) return $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$UnitNumber, {
1743
+ value: size / 1000000,
1744
+ unit: "Mb"
1745
+ });
1746
+ if (size > 1000) return $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$UnitNumber, {
1747
+ value: size / 1000,
1748
+ unit: "Kb"
1749
+ });
1750
+ return `${size} bytes`;
1751
+ }
1752
+ function $b8c84b63e75fe4f2$var$UnitNumber({ value: value, unit: unit, precision: precision = 1 }) {
1753
+ return $b8c84b63e75fe4f2$var$h("span.unit-number", [
1754
+ $b8c84b63e75fe4f2$var$h("span.number", value.toFixed(precision)),
1755
+ $b8c84b63e75fe4f2$var$h("span.unit", unit)
1756
+ ]);
1757
+ }
1758
+ function $b8c84b63e75fe4f2$export$43277c51a01761c1({ features: features, focusedSource: focusedSource = null, focusedSourceTitle: focusedSourceTitle = null }) {
1759
+ if (features == null) return null;
1760
+ let focusedSourcePanel = null;
1761
+ let filteredFeatures = features;
1762
+ let title = "Features";
1763
+ if (focusedSource != null) {
1764
+ title = "Basemap features";
1765
+ focusedSourcePanel = $b8c84b63e75fe4f2$var$h((0, $d570ac304373e71c$export$40e646e38e6ed100), {
1766
+ title: "Macrostrat features",
1767
+ className: "macrostrat-features",
1768
+ expanded: true
1769
+ }, [
1770
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$LoadingAwareFeatureSet, {
1771
+ features: features,
1772
+ sourceID: focusedSource
1773
+ })
1774
+ ]);
1775
+ filteredFeatures = features.filter((d)=>d.source != focusedSource);
1776
+ }
1777
+ return $b8c84b63e75fe4f2$var$h("div.feature-panel", [
1778
+ focusedSourcePanel,
1779
+ $b8c84b63e75fe4f2$var$h((0, $d570ac304373e71c$export$40e646e38e6ed100), {
1780
+ title: title,
1781
+ className: "basemap-features",
1782
+ expanded: focusedSource == null
1783
+ }, [
1784
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$FeatureGroups, {
1785
+ features: filteredFeatures
1786
+ })
1787
+ ])
1788
+ ]);
1789
+ }
1790
+ function $b8c84b63e75fe4f2$var$FeatureGroups({ features: features }) {
1791
+ /** Group features by source and sourceLayer */ if (features == null) return null;
1792
+ const groups = (0, $Zz0sd$group)(features, (d)=>`${d.source} - ${d.sourceLayer}`);
1793
+ return $b8c84b63e75fe4f2$var$h("div.feature-groups", Array.from(groups).map(([key, features])=>{
1794
+ return $b8c84b63e75fe4f2$var$h("div.feature-group", [
1795
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$var$FeatureHeader, {
1796
+ feature: features[0]
1797
+ }),
1798
+ $b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$export$617d79dae526d2cf, {
1799
+ features: features
1800
+ })
1801
+ ]);
1802
+ }));
1803
+ }
1804
+ function $b8c84b63e75fe4f2$export$617d79dae526d2cf({ features: features }) {
1805
+ return $b8c84b63e75fe4f2$var$h("div.features", features.map((feature, i)=>$b8c84b63e75fe4f2$var$h($b8c84b63e75fe4f2$export$dc87b4d46cea200d, {
1806
+ key: i,
1807
+ feature: feature
1808
+ })));
1809
+ }
1810
+
1811
+
1812
+ const $a281a0612311d660$export$dda1d9f60106f0e9 = (0, $Zz0sd$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($bfe9593b6c29b10b$exports))));
1813
+ function $a281a0612311d660$export$c5febf3ae8816972({ title: title = "Map inspector", headerElement: headerElement = null, transformRequest: transformRequest = null, mapPosition: mapPosition = null, mapboxToken: mapboxToken = null, overlayStyle: overlayStyle = null, children: children, style: style, focusedSource: focusedSource = null, focusedSourceTitle: focusedSourceTitle = null, fitViewport: fitViewport = true }) {
1814
+ /* We apply a custom style to the panel container when we are interacting
1815
+ with the search bar, so that we can block map interactions until search
1816
+ bar focus is lost.
1817
+ We also apply a custom style when the infodrawer is open so we can hide
1818
+ the search bar on mobile platforms
1819
+ */ const dark = (0, $Zz0sd$useDarkMode)();
1820
+ const isEnabled = dark?.isEnabled;
1821
+ if (mapboxToken != null) (0, $Zz0sd$mapboxgl).accessToken = mapboxToken;
1822
+ style ??= isEnabled ? "mapbox://styles/mapbox/dark-v10" : "mapbox://styles/mapbox/light-v10";
1823
+ const [isOpen, setOpen] = (0, $Zz0sd$useState)(false);
1824
+ const [state, setState] = (0, $Zz0sd$useStoredState)("macrostrat:dev-map-page", {
1825
+ showTileExtent: false,
1826
+ xRay: false
1827
+ });
1828
+ const { showTileExtent: showTileExtent, xRay: xRay } = state;
1829
+ const [actualStyle, setActualStyle] = (0, $Zz0sd$useState)(style);
1830
+ console.log("actualStyle", actualStyle);
1831
+ (0, $Zz0sd$useEffect)(()=>{
1832
+ (0, $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6)(style, overlayStyle, {
1833
+ mapboxToken: mapboxToken,
1834
+ inDarkMode: isEnabled,
1835
+ xRay: xRay
1836
+ }).then(setActualStyle);
1837
+ }, [
1838
+ style,
1839
+ xRay,
1840
+ mapboxToken,
1841
+ isEnabled,
1842
+ overlayStyle
1843
+ ]);
1844
+ const [inspectPosition, setInspectPosition] = (0, $Zz0sd$useState)(null);
1845
+ const [data, setData] = (0, $Zz0sd$useState)(null);
1846
+ const onSelectPosition = (0, $Zz0sd$useCallback)((position)=>{
1847
+ setInspectPosition(position);
1848
+ }, []);
1849
+ let detailElement = null;
1850
+ if (inspectPosition != null) detailElement = $a281a0612311d660$export$dda1d9f60106f0e9((0, $f50c3537aaff0cff$export$aa4baff5242ea6e1), {
1851
+ onClose () {
1852
+ setInspectPosition(null);
1853
+ },
1854
+ position: inspectPosition
1855
+ }, [
1856
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $b8c84b63e75fe4f2$export$43c75dec9d0b96c), {
1857
+ feature: data?.[0] ?? null,
1858
+ showExtent: showTileExtent,
1859
+ setShowExtent () {
1860
+ setState({
1861
+ ...state,
1862
+ showTileExtent: !showTileExtent
1863
+ });
1864
+ }
1865
+ }),
1866
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $b8c84b63e75fe4f2$export$43277c51a01761c1), {
1867
+ features: data,
1868
+ focusedSource: focusedSource,
1869
+ focusedSourceTitle: focusedSourceTitle
1870
+ })
1871
+ ]);
1872
+ let tile = null;
1873
+ if (showTileExtent && data?.[0] != null) {
1874
+ let f = data[0];
1875
+ tile = {
1876
+ x: f._x,
1877
+ y: f._y,
1878
+ z: f._z
1879
+ };
1880
+ }
1881
+ return $a281a0612311d660$export$dda1d9f60106f0e9((0, $4bdfa9cd8240b2fd$export$9fa5da0bcfd0a290), {
1882
+ navbar: $a281a0612311d660$export$dda1d9f60106f0e9((0, $6e914c81c8e053da$export$a8cc0062d02a3841), {
1883
+ rightElement: $a281a0612311d660$export$dda1d9f60106f0e9((0, $6e914c81c8e053da$export$9e3bae3c08bde368), {
1884
+ large: true,
1885
+ active: isOpen,
1886
+ onClick: ()=>setOpen(!isOpen),
1887
+ style: {
1888
+ marginRight: "-5px"
1889
+ }
1890
+ }),
1891
+ headerElement: headerElement,
1892
+ title: title
1893
+ }),
1894
+ contextPanel: $a281a0612311d660$export$dda1d9f60106f0e9((0, $4bdfa9cd8240b2fd$export$ec68dd77edbe678b), [
1895
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $Zz0sd$Switch), {
1896
+ checked: xRay,
1897
+ label: "X-ray mode",
1898
+ onChange () {
1899
+ setState({
1900
+ ...state,
1901
+ xRay: !xRay
1902
+ });
1903
+ }
1904
+ }),
1905
+ children
1906
+ ]),
1907
+ detailPanel: detailElement,
1908
+ contextPanelOpen: isOpen,
1909
+ fitViewport: fitViewport
1910
+ }, $a281a0612311d660$export$dda1d9f60106f0e9((0, $9e150e311a3261e9$export$ab1e7a67d6ec5ad8), {
1911
+ style: actualStyle,
1912
+ transformRequest: transformRequest,
1913
+ mapPosition: mapPosition,
1914
+ projection: {
1915
+ name: "globe"
1916
+ },
1917
+ mapboxToken: mapboxToken
1918
+ }, [
1919
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $b8c84b63e75fe4f2$export$214daccdda0f4ac6), {
1920
+ selectedLocation: inspectPosition,
1921
+ setFeatures: setData
1922
+ }),
1923
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $4bc3dd5f0732eed3$export$5c90a91c7455938c), {
1924
+ position: inspectPosition,
1925
+ setPosition: onSelectPosition
1926
+ }),
1927
+ $a281a0612311d660$export$dda1d9f60106f0e9((0, $1d4d29ef2725aa16$export$86c09739b12f23cd), {
1928
+ tile: tile,
1929
+ color: isEnabled ? "white" : "black"
1930
+ })
1931
+ ]));
1932
+ }
1933
+ const $a281a0612311d660$export$2391061fbdfb71ef = $a281a0612311d660$export$c5febf3ae8816972;
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ $parcel$exportWildcard($b6d2ac1192949c28$exports, $a281a0612311d660$exports);
1940
+ $parcel$exportWildcard($b6d2ac1192949c28$exports, $1d4d29ef2725aa16$exports);
1941
+ $parcel$exportWildcard($b6d2ac1192949c28$exports, $b8c84b63e75fe4f2$exports);
1942
+ $parcel$exportWildcard($b6d2ac1192949c28$exports, $64ee2eed3ed5ffbc$exports);
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+ export {$6e914c81c8e053da$export$4ec83e90d030b2f3 as LoadingButton, $6e914c81c8e053da$export$9e3bae3c08bde368 as MapLoadingButton, $6e914c81c8e053da$export$a8cc0062d02a3841 as FloatingNavbar, $f50c3537aaff0cff$export$83f9a19cf91c2d06 as InfoDrawerContainer, $f50c3537aaff0cff$export$a5ddcc2a88716895 as BaseInfoDrawer, $f50c3537aaff0cff$export$aa4baff5242ea6e1 as LocationPanel, $a281a0612311d660$export$dda1d9f60106f0e9 as h, $a281a0612311d660$export$c5febf3ae8816972 as MapInspector, $a281a0612311d660$export$2391061fbdfb71ef as DevMapPage, $1d4d29ef2725aa16$export$86c09739b12f23cd as TileExtentLayer, $b8c84b63e75fe4f2$export$2906e7f4b228efe9 as FeatureProperties, $b8c84b63e75fe4f2$export$dc87b4d46cea200d as FeatureRecord, $b8c84b63e75fe4f2$export$214daccdda0f4ac6 as FeatureSelectionHandler, $b8c84b63e75fe4f2$export$617d79dae526d2cf as Features, $b8c84b63e75fe4f2$export$43c75dec9d0b96c as TileInfo, $b8c84b63e75fe4f2$export$43277c51a01761c1 as FeaturePanel, $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d as buildXRayStyle, $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6 as buildInspectorStyle, $4bdfa9cd8240b2fd$export$ec68dd77edbe678b as PanelCard, $4bdfa9cd8240b2fd$export$612ca936d3ed4784 as DetailPanelStyle, $4bdfa9cd8240b2fd$export$9fa5da0bcfd0a290 as MapAreaContainer, $4bdfa9cd8240b2fd$export$fa395a37c3898ae3 as MapStyledContainer, $9e150e311a3261e9$export$ab1e7a67d6ec5ad8 as MapView, $9e150e311a3261e9$export$cee395a8a2a00b29 as MapTerrainManager, $91d5aa004eeb2226$export$db1a2e058a06fb5c as MapBottomControls, $4bc3dd5f0732eed3$export$31b2e088aff2dc5d as MapResizeManager, $4bc3dd5f0732eed3$export$2ab96428dea558d6 as MapPaddingManager, $4bc3dd5f0732eed3$export$f6eeee399afc4e9a as MapMovedReporter, $4bc3dd5f0732eed3$export$e57f9eaa51773f82 as MapLoadingReporter, $4bc3dd5f0732eed3$export$5c90a91c7455938c as MapMarker, $4bc3dd5f0732eed3$export$566518253d2584f8 as useBasicStylePair, $82fe09613877ffc2$export$bb78f9f01775eef1 as getMapPadding, $82fe09613877ffc2$export$278090850f6b3a9f as useMapMarker, $4fae2d573d730db8$export$716098b85fd0efdf as ValueWithUnit, $4fae2d573d730db8$export$af8082af0bea3eb1 as DegreeCoord, $4fae2d573d730db8$export$f195b3550849e560 as LngLatCoords, $4fae2d573d730db8$export$58bfb4f6ec5aa58d as Elevation, $bb5f34705d9c44bc$export$8391d1abb505ffb3 as applyMapPositionToHash, $bb5f34705d9c44bc$export$80abf1cbcc3918e4 as getMapPositionForHash, $d570ac304373e71c$export$cea00a9d724d5a32 as ExpansionPanelSummary, $d570ac304373e71c$export$39c134eb0b07cf0e as InfoPanelSection, $d570ac304373e71c$export$40e646e38e6ed100 as ExpansionPanel, $d570ac304373e71c$export$d7160281aff7c3b8 as SubExpansionPanel, $d570ac304373e71c$export$44ad9ff780615135 as ExpandableDetailsPanel, $d570ac304373e71c$export$263416b670b3f129 as ExpansionBody, $72e497a412b1da0a$export$ed081779ec3709aa as PanelSubhead};
1955
+ //# sourceMappingURL=module.mjs.map