@macrostrat/map-interface 0.0.12 → 0.1.0

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