@macrostrat/map-interface 1.1.0 → 1.2.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/CHANGELOG.md +7 -0
- package/dist/cjs/container.72611900.js +134 -0
- package/dist/cjs/container.72611900.js.map +1 -0
- package/dist/cjs/context-panel.8c4b009c.js +88 -0
- package/dist/cjs/context-panel.8c4b009c.js.map +1 -0
- package/dist/cjs/controls.7ce3e95c.js +79 -0
- package/dist/cjs/controls.7ce3e95c.js.map +1 -0
- package/dist/cjs/dev.7499151f.js +33 -0
- package/dist/cjs/dev.7499151f.js.map +1 -0
- package/dist/cjs/expansion-panel.08532cee.js +134 -0
- package/dist/cjs/expansion-panel.08532cee.js.map +1 -0
- package/dist/cjs/hash-string.62e84f08.js +67 -0
- package/dist/cjs/hash-string.62e84f08.js.map +1 -0
- package/dist/cjs/header.58c5c012.js +104 -0
- package/dist/cjs/header.58c5c012.js.map +1 -0
- package/dist/cjs/headers.20eae5f7.js +29 -0
- package/dist/cjs/headers.20eae5f7.js.map +1 -0
- package/dist/cjs/helpers.0f72ddaf.js +190 -0
- package/dist/cjs/helpers.0f72ddaf.js.map +1 -0
- package/dist/cjs/index.js +51 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/location-info.92e70042.js +119 -0
- package/dist/cjs/location-info.92e70042.js.map +1 -0
- package/dist/cjs/location-panel.c95f5e96.js +66 -0
- package/dist/cjs/location-panel.c95f5e96.js.map +1 -0
- package/dist/cjs/main.module.02c4de16.css +86 -0
- package/dist/cjs/main.module.02c4de16.css.map +1 -0
- package/dist/cjs/main.module.3f2b7c9f.js +38 -0
- package/dist/cjs/main.module.3f2b7c9f.js.map +1 -0
- package/dist/cjs/main.module.4ecbaaa5.js +62 -0
- package/dist/cjs/main.module.4ecbaaa5.js.map +1 -0
- package/dist/cjs/main.module.62939ea7.js +167 -0
- package/dist/cjs/main.module.62939ea7.js.map +1 -0
- package/dist/cjs/main.module.92978d8b.css +52 -0
- package/dist/cjs/main.module.92978d8b.css.map +1 -0
- package/dist/cjs/main.module.becc2fe7.css +92 -0
- package/dist/cjs/main.module.becc2fe7.css.map +1 -0
- package/dist/cjs/main.module.ccec47df.js +50 -0
- package/dist/cjs/main.module.ccec47df.js.map +1 -0
- package/dist/cjs/main.module.e958948e.js +26 -0
- package/dist/cjs/main.module.e958948e.js.map +1 -0
- package/dist/{index.css → cjs/main.module.f085a193.css} +9 -397
- package/dist/cjs/main.module.f085a193.css.map +1 -0
- package/dist/cjs/main.module.ff1b1aca.css +179 -0
- package/dist/cjs/main.module.ff1b1aca.css.map +1 -0
- package/dist/cjs/map-page.190b6723.js +182 -0
- package/dist/cjs/map-page.190b6723.js.map +1 -0
- package/dist/cjs/map-view.93363b41.js +167 -0
- package/dist/cjs/map-view.93363b41.js.map +1 -0
- package/dist/cjs/terrain.90f76b4e.js +59 -0
- package/dist/cjs/terrain.90f76b4e.js.map +1 -0
- package/dist/cjs/tile-extent.06a4b2ed.js +51 -0
- package/dist/cjs/tile-extent.06a4b2ed.js.map +1 -0
- package/dist/cjs/utils.09cef979.js +36 -0
- package/dist/cjs/utils.09cef979.js.map +1 -0
- package/dist/cjs/utils.26f02633.js +46 -0
- package/dist/cjs/utils.26f02633.js.map +1 -0
- package/dist/cjs/vector-tile-features.456f887b.js +268 -0
- package/dist/cjs/vector-tile-features.456f887b.js.map +1 -0
- package/dist/cjs/xray.a23f8660.js +89 -0
- package/dist/cjs/xray.a23f8660.js.map +1 -0
- package/dist/esm/container.16bde261.js +126 -0
- package/dist/esm/container.16bde261.js.map +1 -0
- package/dist/esm/context-panel.c288c5cd.js +81 -0
- package/dist/esm/context-panel.c288c5cd.js.map +1 -0
- package/dist/esm/controls.f757ce16.js +74 -0
- package/dist/esm/controls.f757ce16.js.map +1 -0
- package/dist/esm/dev.ccb6e774.js +13 -0
- package/dist/esm/dev.ccb6e774.js.map +1 -0
- package/dist/esm/expansion-panel.feff0e62.js +123 -0
- package/dist/esm/expansion-panel.feff0e62.js.map +1 -0
- package/dist/esm/hash-string.836601b2.js +61 -0
- package/dist/esm/hash-string.836601b2.js.map +1 -0
- package/dist/esm/header.0f535ab1.js +99 -0
- package/dist/esm/header.0f535ab1.js.map +1 -0
- package/dist/esm/headers.b25ff414.js +24 -0
- package/dist/esm/headers.b25ff414.js.map +1 -0
- package/dist/esm/helpers.fb1d7227.js +176 -0
- package/dist/esm/helpers.fb1d7227.js.map +1 -0
- package/dist/{types.d.ts → esm/index.d.ts} +102 -51
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +25 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/location-info.5543bb05.js +89 -0
- package/dist/esm/location-info.5543bb05.js.map +1 -0
- package/dist/esm/location-panel.0b1f4ed2.js +58 -0
- package/dist/esm/location-panel.0b1f4ed2.js.map +1 -0
- package/dist/esm/main.module.5eb366de.js +52 -0
- package/dist/esm/main.module.5eb366de.js.map +1 -0
- package/dist/esm/main.module.67a908da.js +40 -0
- package/dist/esm/main.module.67a908da.js.map +1 -0
- package/dist/esm/main.module.89579666.js +64 -0
- package/dist/esm/main.module.89579666.js.map +1 -0
- package/dist/esm/main.module.9c57cc95.js +28 -0
- package/dist/esm/main.module.9c57cc95.js.map +1 -0
- package/dist/esm/main.module.f70e002b.js +169 -0
- package/dist/esm/main.module.f70e002b.js.map +1 -0
- package/dist/esm/map-page.b953c404.js +175 -0
- package/dist/esm/map-page.b953c404.js.map +1 -0
- package/dist/esm/map-view.a3fe6257.js +161 -0
- package/dist/esm/map-view.a3fe6257.js.map +1 -0
- package/dist/esm/terrain.f65cf7c5.js +54 -0
- package/dist/esm/terrain.f65cf7c5.js.map +1 -0
- package/dist/esm/tile-extent.ca526996.js +46 -0
- package/dist/esm/tile-extent.ca526996.js.map +1 -0
- package/dist/esm/utils.122d1f2d.js +28 -0
- package/dist/esm/utils.122d1f2d.js.map +1 -0
- package/dist/esm/utils.d40349f0.js +40 -0
- package/dist/esm/utils.d40349f0.js.map +1 -0
- package/dist/esm/vector-tile-features.e1a24df0.js +258 -0
- package/dist/esm/vector-tile-features.e1a24df0.js.map +1 -0
- package/dist/esm/xray.c0663c25.js +83 -0
- package/dist/esm/xray.c0663c25.js.map +1 -0
- package/package.json +19 -36
- package/src/container.ts +29 -21
- package/src/context-panel/index.ts +4 -4
- package/src/context-panel/main.module.sass +1 -1
- package/src/dev/main.module.sass +16 -0
- package/src/dev/map-page.ts +19 -4
- package/src/dev/vector-tile-features.ts +44 -13
- package/src/location-panel/header.ts +27 -8
- package/src/location-panel/index.ts +4 -2
- package/src/location-panel/main.module.sass +7 -0
- package/src/main.module.sass +4 -1
- package/src/map-view/index.ts +1 -1
- package/dist/index.cjs.css +0 -961
- package/dist/index.cjs.css.map +0 -1
- package/dist/index.cjs.js +0 -1954
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.css.map +0 -1
- package/dist/index.js +0 -1945
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. The format
|
|
|
4
4
|
is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
|
|
5
5
|
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [1.2.0] - 2025-02-14
|
|
8
|
+
|
|
9
|
+
- Make several dependencies more explicit
|
|
10
|
+
- Create an option for the sidebar to focus on a region as well as a point
|
|
11
|
+
- Streamline code
|
|
12
|
+
- Create stories
|
|
13
|
+
|
|
7
14
|
## [1.1.0] - 2024-11-16
|
|
8
15
|
|
|
9
16
|
- Improve map state management with `zustand` (in `@macrostrat/mapbox-react`)
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var $35f1bc0112883d51$exports = require("./main.module.62939ea7.js");
|
|
2
|
+
require("./main.module.f085a193.css");
|
|
3
|
+
var $f333fe6f49373ca9$exports = require("./controls.7ce3e95c.js");
|
|
4
|
+
var $4Qxhf$macrostrathyper = require("@macrostrat/hyper");
|
|
5
|
+
var $4Qxhf$classnames = require("classnames");
|
|
6
|
+
var $4Qxhf$transitionhook = require("transition-hook");
|
|
7
|
+
var $4Qxhf$macrostratmapboxreact = require("@macrostrat/mapbox-react");
|
|
8
|
+
var $4Qxhf$macrostratuicomponents = require("@macrostrat/ui-components");
|
|
9
|
+
var $4Qxhf$macrostratmapboxutils = require("@macrostrat/mapbox-utils");
|
|
10
|
+
var $4Qxhf$blueprintjscore = require("@blueprintjs/core");
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
function $parcel$interopDefault(a) {
|
|
14
|
+
return a && a.__esModule ? a.default : a;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function $parcel$export(e, n, v, s) {
|
|
18
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
$parcel$export(module.exports, "PanelCard", () => $c3311f59335df34d$export$ec68dd77edbe678b);
|
|
22
|
+
$parcel$export(module.exports, "DetailPanelStyle", () => $c3311f59335df34d$export$612ca936d3ed4784);
|
|
23
|
+
$parcel$export(module.exports, "MapAreaContainer", () => $c3311f59335df34d$export$9fa5da0bcfd0a290);
|
|
24
|
+
$parcel$export(module.exports, "MapStyledContainer", () => $c3311f59335df34d$export$fa395a37c3898ae3);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
const $c3311f59335df34d$var$h = (0, ($parcel$interopDefault($4Qxhf$macrostrathyper))).styled((0, ($parcel$interopDefault($35f1bc0112883d51$exports))));
|
|
35
|
+
const $c3311f59335df34d$export$ec68dd77edbe678b = (props)=>$c3311f59335df34d$var$h((0, $4Qxhf$blueprintjscore.Card), {
|
|
36
|
+
...props,
|
|
37
|
+
className: (0, ($parcel$interopDefault($4Qxhf$classnames)))("panel-card", props.className)
|
|
38
|
+
});
|
|
39
|
+
var $c3311f59335df34d$export$612ca936d3ed4784 = /*#__PURE__*/ function(DetailPanelStyle) {
|
|
40
|
+
DetailPanelStyle["FIXED"] = "fixed";
|
|
41
|
+
DetailPanelStyle["FLOATING"] = "floating";
|
|
42
|
+
return DetailPanelStyle;
|
|
43
|
+
}({});
|
|
44
|
+
const $c3311f59335df34d$export$9fa5da0bcfd0a290 = (props)=>$c3311f59335df34d$var$h($c3311f59335df34d$var$MapProviders, $c3311f59335df34d$var$h($c3311f59335df34d$var$_MapAreaContainer, props));
|
|
45
|
+
function $c3311f59335df34d$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 = $c3311f59335df34d$var$h((0, $f333fe6f49373ca9$exports.MapBottomControls)), contextStackProps: contextStackProps = null, detailStackProps: detailStackProps = null, detailPanelStyle: detailPanelStyle = "floating", fitViewport: fitViewport = true, showPanelOutlines: showPanelOutlines = false, preventMapInteraction: preventMapInteraction = false, ...rest }) {
|
|
46
|
+
const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;
|
|
47
|
+
const contextPanelTrans = (0, $4Qxhf$transitionhook.useTransition)(contextPanelOpen, 800);
|
|
48
|
+
const detailPanelTrans = (0, $4Qxhf$transitionhook.useTransition)(_detailPanelOpen, 800);
|
|
49
|
+
/*- We apply a custom style to the panel container when we are interacting
|
|
50
|
+
with the search bar, so that we can block map interactions until search
|
|
51
|
+
bar focus is lost.
|
|
52
|
+
- We also apply a custom style when the infodrawer is open so we can hide
|
|
53
|
+
the search bar on mobile platforms
|
|
54
|
+
- These styles are doubly applied so we can have both namespaced and
|
|
55
|
+
outside-accessible styles for each case.
|
|
56
|
+
*/ const mainUIClassNames = (0, ($parcel$interopDefault($4Qxhf$classnames)))("map-container", className, `detail-panel-${detailPanelStyle}`, `context-panel-${contextPanelTrans.stage}`, `map-context-${contextPanelTrans.stage}`, `detail-panel-${detailPanelTrans.stage}`, `map-detail-${detailPanelTrans.stage}`, {
|
|
57
|
+
"detail-panel-open": _detailPanelOpen,
|
|
58
|
+
"map-context-open": contextPanelOpen,
|
|
59
|
+
"show-panel-outlines": showPanelOutlines,
|
|
60
|
+
"fit-viewport": fitViewport
|
|
61
|
+
});
|
|
62
|
+
const mapControlsExt = $c3311f59335df34d$var$h([
|
|
63
|
+
$c3311f59335df34d$var$h((0, $4Qxhf$macrostratmapboxreact.ZoomControl), {
|
|
64
|
+
className: "zoom-control"
|
|
65
|
+
}),
|
|
66
|
+
$c3311f59335df34d$var$h("div.spacer"),
|
|
67
|
+
mapControls
|
|
68
|
+
]);
|
|
69
|
+
const detailStackExt = $c3311f59335df34d$var$h("div.detail-stack.infodrawer-container", detailStackProps, [
|
|
70
|
+
$c3311f59335df34d$var$h("div.detail-panel-holder", null, detailPanel),
|
|
71
|
+
$c3311f59335df34d$var$h.if(detailPanelStyle == "floating")([
|
|
72
|
+
mapControlsExt
|
|
73
|
+
])
|
|
74
|
+
]);
|
|
75
|
+
let contextStack = null;
|
|
76
|
+
if (navbar != null && contextPanel != null) contextStack = $c3311f59335df34d$var$h($c3311f59335df34d$var$ContextStack, {
|
|
77
|
+
navbar: navbar,
|
|
78
|
+
...contextStackProps
|
|
79
|
+
}, [
|
|
80
|
+
$c3311f59335df34d$var$h.if(contextPanelTrans.shouldMount)([
|
|
81
|
+
contextPanel
|
|
82
|
+
])
|
|
83
|
+
]);
|
|
84
|
+
return $c3311f59335df34d$var$h($c3311f59335df34d$export$fa395a37c3898ae3, {
|
|
85
|
+
className: mainUIClassNames
|
|
86
|
+
}, [
|
|
87
|
+
$c3311f59335df34d$var$h("div.main-row", [
|
|
88
|
+
$c3311f59335df34d$var$h("div.map-ui", {
|
|
89
|
+
...rest
|
|
90
|
+
}, [
|
|
91
|
+
contextStack,
|
|
92
|
+
//h(MapView),
|
|
93
|
+
children ?? mainPanel,
|
|
94
|
+
$c3311f59335df34d$var$h.if(detailPanelStyle == "floating")([
|
|
95
|
+
detailStackExt
|
|
96
|
+
]),
|
|
97
|
+
$c3311f59335df34d$var$h.if(detailPanelStyle == "fixed")("div.map-control-stack", mapControlsExt)
|
|
98
|
+
]),
|
|
99
|
+
$c3311f59335df34d$var$h.if(detailPanelStyle == "fixed")([
|
|
100
|
+
detailStackExt
|
|
101
|
+
])
|
|
102
|
+
]),
|
|
103
|
+
$c3311f59335df34d$var$h("div.bottom", null, bottomPanel)
|
|
104
|
+
]);
|
|
105
|
+
}
|
|
106
|
+
function $c3311f59335df34d$var$ContextStack(props) {
|
|
107
|
+
const { adaptiveWidth: adaptiveWidth, navbar: navbar, children: children, ...rest } = props;
|
|
108
|
+
const props1 = (0, $4Qxhf$macrostrathyper.addClassNames)(rest, {
|
|
109
|
+
"adaptive-width": adaptiveWidth
|
|
110
|
+
});
|
|
111
|
+
return $c3311f59335df34d$var$h("div.context-stack", props1, [
|
|
112
|
+
navbar,
|
|
113
|
+
$c3311f59335df34d$var$h("div.context-panel-holder", null, children),
|
|
114
|
+
$c3311f59335df34d$var$h("div.spacer")
|
|
115
|
+
]);
|
|
116
|
+
}
|
|
117
|
+
const $c3311f59335df34d$var$MapProviders = ({ children: children })=>$c3311f59335df34d$var$h((0, $4Qxhf$macrostratuicomponents.ToasterContext), $c3311f59335df34d$var$h((0, $4Qxhf$macrostratmapboxreact.MapboxMapProvider), children));
|
|
118
|
+
function $c3311f59335df34d$export$fa395a37c3898ae3({ className: className, children: children }) {
|
|
119
|
+
const mapPosition = (0, $4Qxhf$macrostratmapboxreact.useMapPosition)();
|
|
120
|
+
if (mapPosition != null) {
|
|
121
|
+
const { mapIsRotated: mapIsRotated, mapUse3D: mapUse3D, mapIsGlobal: mapIsGlobal } = (0, $4Qxhf$macrostratmapboxutils.mapViewInfo)(mapPosition);
|
|
122
|
+
className = (0, ($parcel$interopDefault($4Qxhf$classnames)))(className, {
|
|
123
|
+
"map-is-rotated": mapIsRotated,
|
|
124
|
+
"map-3d-available": mapUse3D,
|
|
125
|
+
"map-is-global": mapIsGlobal
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return $c3311f59335df34d$var$h("div", {
|
|
129
|
+
className: className
|
|
130
|
+
}, children);
|
|
131
|
+
} //const _MapPage = compose(HotkeysProvider, MapPage);
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=container.72611900.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAIrB,MAAM,4CAAY,CAAC,QACxB,wBAAE,CAAA,GAAA,2BAAG,GAAG;QAAE,GAAG,KAAK;QAAE,WAAW,CAAA,GAAA,2CAAS,EAAE,cAAc,MAAM,SAAS;IAAE;AAOpE,IAAA,AAAK,mEAAA;;;WAAA;;AAKL,MAAM,4CAAmB,CAAC,QAC/B,wBAAE,oCAAc,wBAAE,yCAAmB;AAsBvC,SAAS,wCAAkB,YACzB,QAAQ,aACR,SAAS,UACT,MAAM,gBACN,eAAe,mBACf,cAAc,uBACd,eAAe,oBACf,mBAAmB,mBACnB,cAAc,iBACd,SAAS,eACT,cAAc,wBAAE,CAAA,GAAA,2CAAgB,uBAChC,oBAAoB,wBACpB,mBAAmB,wBACnB,4CACA,cAAc,yBACd,oBAAoB,8BACpB,wBAAwB,OACxB,GAAG,MACmB;IACtB,MAAM,mBAAmB,mBAAmB,eAAe;IAC3D,MAAM,oBAAoB,CAAA,GAAA,mCAAY,EAAE,kBAAkB;IAC1D,MAAM,mBAAmB,CAAA,GAAA,mCAAY,EAAE,kBAAkB;IAEzD;;;;;;;EAOA,GACA,MAAM,mBAAmB,CAAA,GAAA,2CAAS,EAChC,iBACA,WACA,CAAC,aAAa,EAAE,kBAAkB,EAClC,CAAC,cAAc,EAAE,kBAAkB,KAAK,EAAE,EAC1C,CAAC,YAAY,EAAE,kBAAkB,KAAK,EAAE,EACxC,CAAC,aAAa,EAAE,iBAAiB,KAAK,EAAE,EACxC,CAAC,WAAW,EAAE,iBAAiB,KAAK,EAAE,EACtC;QACE,qBAAqB;QACrB,oBAAoB;QACpB,uBAAuB;QACvB,gBAAgB;IAClB;IAGF,MAAM,iBAAiB,wBAAE;QACvB,wBAAE,CAAA,GAAA,wCAAU,GAAG;YAAE,WAAW;QAAe;QAC3C,wBAAE;QACF;KACD;IAED,MAAM,iBAAiB,wBACrB,yCACA,kBACA;QACE,wBAAE,2BAA2B,MAAM;QACnC,wBAAE,EAAE,CAAC,gCAA+C;YAAC;SAAe;KACrE;IAGH,IAAI,eAAe;IACnB,IAAI,UAAU,QAAQ,gBAAgB,MACpC,eAAe,wBAAE,oCAAc;gBAAE;QAAQ,GAAG,iBAAiB;IAAC,GAAG;QAC/D,wBAAE,EAAE,CAAC,kBAAkB,WAAW,EAAE;YAAC;SAAa;KACnD;IAGH,OAAO,wBAAE,2CAAoB;QAAE,WAAW;IAAiB,GAAG;QAC5D,wBAAE,gBAAgB;YAChB,wBAAE,cAAc;gBAAE,GAAG,IAAI;YAAC,GAAG;gBAC3B;gBACA,aAAa;gBACb,YAAY;gBACZ,wBAAE,EAAE,CAAC,gCAA+C;oBAAC;iBAAe;gBACpE,wBAAE,EAAE,CAAC,6BACH,yBACA;aAEH;YACD,wBAAE,EAAE,CAAC,6BAA4C;gBAAC;aAAe;SAClE;QACD,wBAAE,cAAc,MAAM;KACvB;AACH;AAEA,SAAS,mCAAa,KAAwB;IAC5C,MAAM,iBAAE,aAAa,UAAE,MAAM,YAAE,QAAQ,EAAE,GAAG,MAAM,GAAG;IACrD,MAAM,SAAS,CAAA,GAAA,oCAAY,EAAE,MAAM;QAAE,kBAAkB;IAAc;IACrE,OAAO,wBAAE,qBAAqB,QAAQ;QACpC;QACA,wBAAE,4BAA4B,MAAM;QACpC,wBAAE;KACH;AACH;AAEA,MAAM,qCAAe,CAAC,YAAE,QAAQ,EAAE,GAChC,wBAAE,CAAA,GAAA,4CAAa,GAAG,wBAAE,CAAA,GAAA,8CAAgB,GAAG;AAOlC,SAAS,0CAAmB,aAAE,SAAS,YAAE,QAAQ,EAAqB;IAC3E,MAAM,cAAc,CAAA,GAAA,2CAAa;IACjC,IAAI,eAAe,MAAM;QACvB,MAAM,gBAAE,YAAY,YAAE,QAAQ,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,wCAAU,EAAE;QAC5D,YAAY,CAAA,GAAA,2CAAS,EAAE,WAAW;YAChC,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;QACnB;IACF;IAEA,OAAO,wBAAE,OAAO;mBAAE;IAAU,GAAG;AACjC,EAEA,qDAAqD","sources":["packages/map-interface/src/container.ts"],"sourcesContent":["import hyper, { addClassNames } from \"@macrostrat/hyper\";\nimport { HTMLDivProps } from \"@blueprintjs/core\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { useTransition } from \"transition-hook\";\nimport {\n MapboxMapProvider,\n ZoomControl,\n useMapPosition,\n} from \"@macrostrat/mapbox-react\";\nimport { ToasterContext } from \"@macrostrat/ui-components\";\nimport { MapBottomControls } from \"./controls\";\nimport { mapViewInfo, MapPosition } from \"@macrostrat/mapbox-utils\";\nimport { Card } from \"@blueprintjs/core\";\n\nimport { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\ntype AnyElement = React.ReactNode | React.ReactElement | React.ReactFragment;\n\nexport const PanelCard = (props) =>\n h(Card, { ...props, className: classNames(\"panel-card\", props.className) });\n\ninterface ContextStackProps extends HTMLDivProps {\n adaptiveWidth: boolean;\n navbar: AnyElement;\n}\n\nexport enum DetailPanelStyle {\n FIXED = \"fixed\",\n FLOATING = \"floating\",\n}\n\nexport const MapAreaContainer = (props) =>\n h(MapProviders, h(_MapAreaContainer, props));\n\ninterface MapAreaContainerProps {\n navbar: AnyElement;\n children?: AnyElement;\n mapControls?: AnyElement;\n contextPanel?: AnyElement;\n contextStack?: AnyElement;\n mainPanel?: AnyElement;\n detailPanel?: AnyElement;\n bottomPanel?: AnyElement;\n className?: string;\n detailPanelOpen?: boolean;\n contextPanelOpen?: boolean;\n contextStackProps?: ContextStackProps;\n detailStackProps?: HTMLDivProps;\n detailPanelStyle: DetailPanelStyle;\n fitViewport?: boolean;\n showPanelOutlines?: boolean;\n preventMapInteraction?: boolean;\n}\n\nfunction _MapAreaContainer({\n children,\n className,\n navbar,\n contextPanel = null,\n detailPanel = null,\n detailPanelOpen,\n contextPanelOpen = true,\n bottomPanel = null,\n mainPanel,\n mapControls = h(MapBottomControls),\n contextStackProps = null,\n detailStackProps = null,\n detailPanelStyle = DetailPanelStyle.FLOATING,\n fitViewport = true,\n showPanelOutlines = false,\n preventMapInteraction = false,\n ...rest\n}: MapAreaContainerProps) {\n const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;\n const contextPanelTrans = useTransition(contextPanelOpen, 800);\n const detailPanelTrans = useTransition(_detailPanelOpen, 800);\n\n /*- We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n - We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n - These styles are doubly applied so we can have both namespaced and\n outside-accessible styles for each case.\n */\n const mainUIClassNames = classNames(\n \"map-container\",\n className,\n `detail-panel-${detailPanelStyle}`,\n `context-panel-${contextPanelTrans.stage}`,\n `map-context-${contextPanelTrans.stage}`,\n `detail-panel-${detailPanelTrans.stage}`,\n `map-detail-${detailPanelTrans.stage}`,\n {\n \"detail-panel-open\": _detailPanelOpen,\n \"map-context-open\": contextPanelOpen,\n \"show-panel-outlines\": showPanelOutlines,\n \"fit-viewport\": fitViewport,\n }\n );\n\n const mapControlsExt = h([\n h(ZoomControl, { className: \"zoom-control\" }),\n h(\"div.spacer\"),\n mapControls,\n ]);\n\n const detailStackExt = h(\n \"div.detail-stack.infodrawer-container\",\n detailStackProps,\n [\n h(\"div.detail-panel-holder\", null, detailPanel),\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([mapControlsExt]),\n ]\n );\n\n let contextStack = null;\n if (navbar != null && contextPanel != null) {\n contextStack = h(ContextStack, { navbar, ...contextStackProps }, [\n h.if(contextPanelTrans.shouldMount)([contextPanel]),\n ]);\n }\n\n return h(MapStyledContainer, { className: mainUIClassNames }, [\n h(\"div.main-row\", [\n h(\"div.map-ui\", { ...rest }, [\n contextStack,\n //h(MapView),\n children ?? mainPanel,\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([detailStackExt]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)(\n \"div.map-control-stack\",\n mapControlsExt\n ),\n ]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)([detailStackExt]),\n ]),\n h(\"div.bottom\", null, bottomPanel),\n ]);\n}\n\nfunction ContextStack(props: ContextStackProps) {\n const { adaptiveWidth, navbar, children, ...rest } = props;\n const props1 = addClassNames(rest, { \"adaptive-width\": adaptiveWidth });\n return h(\"div.context-stack\", props1, [\n navbar,\n h(\"div.context-panel-holder\", null, children),\n h(\"div.spacer\"),\n ]);\n}\n\nconst MapProviders = ({ children }) =>\n h(ToasterContext, h(MapboxMapProvider, children));\n\ninterface MapContainerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport function MapStyledContainer({ className, children }: MapContainerProps) {\n const mapPosition = useMapPosition();\n if (mapPosition != null) {\n const { mapIsRotated, mapUse3D, mapIsGlobal } = mapViewInfo(mapPosition);\n className = classNames(className, {\n \"map-is-rotated\": mapIsRotated,\n \"map-3d-available\": mapUse3D,\n \"map-is-global\": mapIsGlobal,\n });\n }\n\n return h(\"div\", { className }, children);\n}\n\n//const _MapPage = compose(HotkeysProvider, MapPage);\n"],"names":[],"version":3,"file":"container.72611900.js.map"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require("./main.module.92978d8b.css");
|
|
2
|
+
var $7a1b0f72a2e7f87d$exports = require("./main.module.e958948e.js");
|
|
3
|
+
var $gcA2U$blueprintjscore = require("@blueprintjs/core");
|
|
4
|
+
var $gcA2U$macrostrathyper = require("@macrostrat/hyper");
|
|
5
|
+
var $gcA2U$macrostratmapboxreact = require("@macrostrat/mapbox-react");
|
|
6
|
+
var $gcA2U$macrostratuicomponents = require("@macrostrat/ui-components");
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function $parcel$interopDefault(a) {
|
|
10
|
+
return a && a.__esModule ? a.default : a;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function $parcel$export(e, n, v, s) {
|
|
14
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
$parcel$export(module.exports, "LoadingButton", () => $fce5fc950d1fe35b$export$4ec83e90d030b2f3);
|
|
18
|
+
$parcel$export(module.exports, "MapLoadingButton", () => $fce5fc950d1fe35b$export$9e3bae3c08bde368);
|
|
19
|
+
$parcel$export(module.exports, "FloatingNavbar", () => $fce5fc950d1fe35b$export$a8cc0062d02a3841);
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
const $fce5fc950d1fe35b$var$h = (0, ($parcel$interopDefault($gcA2U$macrostrathyper))).styled((0, ($parcel$interopDefault($7a1b0f72a2e7f87d$exports))));
|
|
26
|
+
const $fce5fc950d1fe35b$var$spinnerElement = $fce5fc950d1fe35b$var$h((0, $gcA2U$blueprintjscore.Spinner), {
|
|
27
|
+
size: 16
|
|
28
|
+
});
|
|
29
|
+
function $fce5fc950d1fe35b$export$4ec83e90d030b2f3({ isLoading: isLoading = false, onClick: onClick, active: active = false, large: large = true, icon: icon = "menu", style: style }) {
|
|
30
|
+
return $fce5fc950d1fe35b$var$h((0, $gcA2U$blueprintjscore.Button), {
|
|
31
|
+
className: "loading-button",
|
|
32
|
+
icon: isLoading ? $fce5fc950d1fe35b$var$spinnerElement : icon,
|
|
33
|
+
large: large,
|
|
34
|
+
minimal: true,
|
|
35
|
+
onClick: onClick,
|
|
36
|
+
active: active && !isLoading,
|
|
37
|
+
style: style
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function $fce5fc950d1fe35b$export$9e3bae3c08bde368(props) {
|
|
41
|
+
const isLoading = (0, $gcA2U$macrostratmapboxreact.useMapStatus)((s)=>s.isLoading);
|
|
42
|
+
return $fce5fc950d1fe35b$var$h($fce5fc950d1fe35b$export$4ec83e90d030b2f3, {
|
|
43
|
+
...props,
|
|
44
|
+
isLoading: isLoading
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function $fce5fc950d1fe35b$export$a8cc0062d02a3841({ className: className, children: children, headerElement: headerElement = null, title: title = null, statusElement: statusElement = null, rightElement: rightElement = null, height: height, width: width, style: style = {} }) {
|
|
48
|
+
let _rightElement = null;
|
|
49
|
+
if (rightElement != null) _rightElement = $fce5fc950d1fe35b$var$h("div.right-element", rightElement);
|
|
50
|
+
let _headerElement = headerElement;
|
|
51
|
+
if (title != null && _headerElement == null) {
|
|
52
|
+
if (typeof title === "string") _headerElement = $fce5fc950d1fe35b$var$h((0, $gcA2U$blueprintjscore.Text), {
|
|
53
|
+
tagName: "h2",
|
|
54
|
+
ellipsize: true
|
|
55
|
+
}, title);
|
|
56
|
+
else _headerElement = title;
|
|
57
|
+
}
|
|
58
|
+
if (_headerElement != null) _headerElement = $fce5fc950d1fe35b$var$h([
|
|
59
|
+
_headerElement,
|
|
60
|
+
$fce5fc950d1fe35b$var$h((0, $gcA2U$macrostratuicomponents.Spacer))
|
|
61
|
+
]);
|
|
62
|
+
return $fce5fc950d1fe35b$var$h("div.searchbar-holder", {
|
|
63
|
+
className: className,
|
|
64
|
+
style: {
|
|
65
|
+
width: width
|
|
66
|
+
}
|
|
67
|
+
}, [
|
|
68
|
+
$fce5fc950d1fe35b$var$h("div.navbar-holder", [
|
|
69
|
+
$fce5fc950d1fe35b$var$h((0, $gcA2U$blueprintjscore.Navbar), {
|
|
70
|
+
className: "searchbar navbar panel",
|
|
71
|
+
style: {
|
|
72
|
+
height: height,
|
|
73
|
+
...style
|
|
74
|
+
}
|
|
75
|
+
}, [
|
|
76
|
+
_headerElement,
|
|
77
|
+
children,
|
|
78
|
+
_rightElement
|
|
79
|
+
])
|
|
80
|
+
]),
|
|
81
|
+
$fce5fc950d1fe35b$var$h.if(statusElement != null)((0, $gcA2U$blueprintjscore.Card), {
|
|
82
|
+
className: "status-tongue"
|
|
83
|
+
}, statusElement)
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=context-panel.8c4b009c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,MAAM,uCAAiB,wBAAE,CAAA,GAAA,8BAAM,GAAG;IAAE,MAAM;AAAG;AAEtC,SAAS,0CAAc,aAC5B,YAAY,gBACZ,OAAO,UACP,SAAS,cACT,QAAQ,YACR,OAAO,eACP,KAAK,EACN;IACC,OAAO,wBAAE,CAAA,GAAA,6BAAK,GAAG;QACf,WAAW;QACX,MAAM,YAAY,uCAAiB;eACnC;QACA,SAAS;iBACT;QACA,QAAQ,UAAU,CAAC;eACnB;IACF;AACF;AAEO,SAAS,0CAAiB,KAAK;IACpC,MAAM,YAAY,CAAA,GAAA,yCAAW,EAAE,CAAC,IAAM,EAAE,SAAS;IACjD,OAAO,wBAAE,2CAAe;QAAE,GAAG,KAAK;mBAAE;IAAU;AAChD;AAgBO,SAAS,0CAAe,aAC7B,SAAS,YACT,QAAQ,iBACR,gBAAgB,aAChB,QAAQ,qBACR,gBAAgB,oBAChB,eAAe,cACf,MAAM,SACN,KAAK,SACL,QAAQ,CAAC,GACW;IACpB,IAAI,gBAAwC;IAC5C,IAAI,gBAAgB,MAClB,gBAAgB,wBAAE,qBAAqB;IAGzC,IAAI,iBAAyC;IAC7C,IAAI,SAAS,QAAQ,kBAAkB;QACrC,IAAI,OAAO,UAAU,UACnB,iBAAiB,wBAAE,CAAA,GAAA,2BAAG,GAAG;YAAE,SAAS;YAAM,WAAW;QAAK,GAAG;aAE7D,iBAAiB;;IAIrB,IAAI,kBAAkB,MACpB,iBAAiB,wBAAE;QAAC;QAAgB,wBAAE,CAAA,GAAA,oCAAK;KAAG;IAGhD,OAAO,wBAAE,wBAAwB;mBAAE;QAAW,OAAO;mBAAE;QAAM;IAAE,GAAG;QAChE,wBAAE,qBAAqB;YACrB,wBACE,CAAA,GAAA,6BAAK,GACL;gBACE,WAAW;gBACX,OAAO;4BAAE;oBAAQ,GAAG,KAAK;gBAAC;YAC5B,GACA;gBAAC;gBAAgB;gBAAU;aAAc;SAE5C;QACD,wBAAE,EAAE,CAAC,iBAAiB,MACpB,CAAA,GAAA,2BAAG,GACH;YAAE,WAAW;QAAgB,GAC7B;KAEH;AACH","sources":["packages/map-interface/src/context-panel/index.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { Navbar, Button, Spinner, Card, Text } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMapStatus } from \"@macrostrat/mapbox-react\";\nimport { Spacer } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\nconst spinnerElement = h(Spinner, { size: 16 });\n\nexport function LoadingButton({\n isLoading = false,\n onClick,\n active = false,\n large = true,\n icon = \"menu\",\n style,\n}) {\n return h(Button, {\n className: \"loading-button\",\n icon: isLoading ? spinnerElement : icon,\n large,\n minimal: true,\n onClick,\n active: active && !isLoading,\n style,\n });\n}\n\nexport function MapLoadingButton(props) {\n const isLoading = useMapStatus((s) => s.isLoading);\n return h(LoadingButton, { ...props, isLoading });\n}\n\ntype AnyChildren = React.ReactNode;\n\nexport interface FloatingNavbarProps {\n className?: string;\n children?: AnyChildren;\n headerElement?: AnyChildren;\n title?: AnyChildren;\n statusElement?: AnyChildren;\n rightElement?: AnyChildren;\n height?: number | string;\n width?: number | string;\n style?: object;\n}\n\nexport function FloatingNavbar({\n className,\n children,\n headerElement = null,\n title = null,\n statusElement = null,\n rightElement = null,\n height,\n width,\n style = {},\n}: FloatingNavbarProps) {\n let _rightElement: React.ReactNode | null = null;\n if (rightElement != null) {\n _rightElement = h(\"div.right-element\", rightElement);\n }\n\n let _headerElement: React.ReactNode | null = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") {\n _headerElement = h(Text, { tagName: \"h2\", ellipsize: true }, title);\n } else {\n _headerElement = title;\n }\n }\n\n if (_headerElement != null) {\n _headerElement = h([_headerElement, h(Spacer)]);\n }\n\n return h(\"div.searchbar-holder\", { className, style: { width } }, [\n h(\"div.navbar-holder\", [\n h(\n Navbar,\n {\n className: \"searchbar navbar panel\",\n style: { height, ...style },\n },\n [_headerElement, children, _rightElement]\n ),\n ]),\n h.if(statusElement != null)(\n Card,\n { className: \"status-tongue\" },\n statusElement\n ),\n ]);\n}\n"],"names":[],"version":3,"file":"context-panel.8c4b009c.js.map"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var $35f1bc0112883d51$exports = require("./main.module.62939ea7.js");
|
|
2
|
+
require("./main.module.f085a193.css");
|
|
3
|
+
var $9ks7g$react = require("react");
|
|
4
|
+
var $9ks7g$mapboxgl = require("mapbox-gl");
|
|
5
|
+
var $9ks7g$macrostrathyper = require("@macrostrat/hyper");
|
|
6
|
+
var $9ks7g$macrostratmapboxreact = require("@macrostrat/mapbox-react");
|
|
7
|
+
var $9ks7g$macrostratuicomponents = require("@macrostrat/ui-components");
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
function $parcel$interopDefault(a) {
|
|
11
|
+
return a && a.__esModule ? a.default : a;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function $parcel$export(e, n, v, s) {
|
|
15
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
$parcel$export(module.exports, "MapBottomControls", () => $f333fe6f49373ca9$export$db1a2e058a06fb5c);
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
const $f333fe6f49373ca9$var$h = (0, ($parcel$interopDefault($9ks7g$macrostrathyper))).styled((0, ($parcel$interopDefault($35f1bc0112883d51$exports))));
|
|
26
|
+
function $f333fe6f49373ca9$var$ScaleControl(props) {
|
|
27
|
+
const optionsRef = (0, $9ks7g$react.useRef)({
|
|
28
|
+
maxWidth: 200,
|
|
29
|
+
unit: "metric"
|
|
30
|
+
});
|
|
31
|
+
return $f333fe6f49373ca9$var$h((0, $9ks7g$macrostratmapboxreact.MapControlWrapper), {
|
|
32
|
+
className: "map-scale-control",
|
|
33
|
+
control: (0, $9ks7g$mapboxgl.ScaleControl),
|
|
34
|
+
options: optionsRef.current,
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function $f333fe6f49373ca9$var$GeolocationControl(props) {
|
|
39
|
+
const optionsRef = (0, $9ks7g$react.useRef)({
|
|
40
|
+
showAccuracyCircle: true,
|
|
41
|
+
showUserLocation: true,
|
|
42
|
+
trackUserLocation: true,
|
|
43
|
+
positionOptions: {
|
|
44
|
+
enableHighAccuracy: true
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return $f333fe6f49373ca9$var$h((0, $9ks7g$macrostratmapboxreact.MapControlWrapper), {
|
|
48
|
+
control: (0, $9ks7g$mapboxgl.GeolocateControl),
|
|
49
|
+
options: optionsRef.current,
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function $f333fe6f49373ca9$export$db1a2e058a06fb5c({ children: children }) {
|
|
54
|
+
const { isInitialized: isInitialized } = (0, $9ks7g$macrostratmapboxreact.useMapStatus)();
|
|
55
|
+
if (!isInitialized) return null;
|
|
56
|
+
return $f333fe6f49373ca9$var$h("div.map-controls", [
|
|
57
|
+
$f333fe6f49373ca9$var$h($f333fe6f49373ca9$var$ScaleControl),
|
|
58
|
+
$f333fe6f49373ca9$var$h((0, $9ks7g$macrostratmapboxreact.ThreeDControl), {
|
|
59
|
+
className: "map-3d-control"
|
|
60
|
+
}),
|
|
61
|
+
$f333fe6f49373ca9$var$h((0, $9ks7g$macrostratmapboxreact.CompassControl), {
|
|
62
|
+
className: "compass-control"
|
|
63
|
+
}),
|
|
64
|
+
$f333fe6f49373ca9$var$h((0, $9ks7g$macrostratmapboxreact.GlobeControl), {
|
|
65
|
+
className: "globe-control"
|
|
66
|
+
}),
|
|
67
|
+
$f333fe6f49373ca9$var$h($f333fe6f49373ca9$var$GeolocationControl, {
|
|
68
|
+
className: "geolocation-control"
|
|
69
|
+
}),
|
|
70
|
+
// If we have global development tools enabled, show the button
|
|
71
|
+
$f333fe6f49373ca9$var$h((0, $9ks7g$macrostratuicomponents.DevToolsButtonSlot), {
|
|
72
|
+
className: "map-control"
|
|
73
|
+
}),
|
|
74
|
+
children
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=controls.7ce3e95c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,SAAS,mCAAa,KAAK;IACzB,MAAM,aAAa,CAAA,GAAA,mBAAK,EAAE;QACxB,UAAU;QACV,MAAM;IACR;IACA,OAAO,wBAAE,CAAA,GAAA,8CAAgB,GAAG;QAC1B,WAAW;QACX,SAAS,CAAA,GAAA,4BAAe;QACxB,SAAS,WAAW,OAAO;QAC3B,GAAG,KAAK;IACV;AACF;AAEA,SAAS,yCAAmB,KAAK;IAC/B,MAAM,aAAa,CAAA,GAAA,mBAAK,EAAE;QACxB,oBAAoB;QACpB,kBAAkB;QAClB,mBAAmB;QACnB,iBAAiB;YACf,oBAAoB;QACtB;IACF;IACA,OAAO,wBAAE,CAAA,GAAA,8CAAgB,GAAG;QAC1B,SAAS,CAAA,GAAA,gCAAe;QACxB,SAAS,WAAW,OAAO;QAC3B,GAAG,KAAK;IACV;AACF;AAEO,SAAS,0CAAkB,YAAE,QAAQ,EAAE;IAC5C,MAAM,iBAAE,aAAa,EAAE,GAAG,CAAA,GAAA,yCAAW;IAErC,IAAI,CAAC,eACH,OAAO;IAGT,OAAO,wBAAE,oBAAoB;QAC3B,wBAAE;QACF,wBAAE,CAAA,GAAA,0CAAY,GAAG;YAAE,WAAW;QAAiB;QAC/C,wBAAE,CAAA,GAAA,2CAAa,GAAG;YAAE,WAAW;QAAkB;QACjD,wBAAE,CAAA,GAAA,yCAAW,GAAG;YAAE,WAAW;QAAgB;QAC7C,wBAAE,0CAAoB;YAAE,WAAW;QAAsB;QACzD,+DAA+D;QAC/D,wBAAE,CAAA,GAAA,gDAAiB,GAAG;YAAE,WAAW;QAAc;QACjD;KACD;AACH","sources":["packages/map-interface/src/controls.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { GeolocateControl } from \"mapbox-gl\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport {\n CompassControl,\n GlobeControl,\n ThreeDControl,\n MapControlWrapper,\n useMapStatus,\n} from \"@macrostrat/mapbox-react\";\nimport { ScaleControl as BaseScaleControl } from \"mapbox-gl\";\nimport { DevToolsButtonSlot } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\nfunction ScaleControl(props) {\n const optionsRef = useRef({\n maxWidth: 200,\n unit: \"metric\",\n });\n return h(MapControlWrapper, {\n className: \"map-scale-control\",\n control: BaseScaleControl,\n options: optionsRef.current,\n ...props,\n });\n}\n\nfunction GeolocationControl(props) {\n const optionsRef = useRef({\n showAccuracyCircle: true,\n showUserLocation: true,\n trackUserLocation: true,\n positionOptions: {\n enableHighAccuracy: true,\n },\n });\n return h(MapControlWrapper, {\n control: GeolocateControl,\n options: optionsRef.current,\n ...props,\n });\n}\n\nexport function MapBottomControls({ children }) {\n const { isInitialized } = useMapStatus();\n\n if (!isInitialized) {\n return null;\n }\n\n return h(\"div.map-controls\", [\n h(ScaleControl),\n h(ThreeDControl, { className: \"map-3d-control\" }),\n h(CompassControl, { className: \"compass-control\" }),\n h(GlobeControl, { className: \"globe-control\" }),\n h(GeolocationControl, { className: \"geolocation-control\" }),\n // If we have global development tools enabled, show the button\n h(DevToolsButtonSlot, { className: \"map-control\" }),\n children,\n ]);\n}\n"],"names":[],"version":3,"file":"controls.7ce3e95c.js.map"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var $6f5ca387ac26c0b5$exports = require("./map-page.190b6723.js");
|
|
2
|
+
var $abbe8d0af34cbbed$exports = require("./tile-extent.06a4b2ed.js");
|
|
3
|
+
var $db14eb7a5c07abdb$exports = require("./vector-tile-features.456f887b.js");
|
|
4
|
+
var $8646508ae99a5857$exports = require("./xray.a23f8660.js");
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function $parcel$exportWildcard(dest, source) {
|
|
8
|
+
Object.keys(source).forEach(function(key) {
|
|
9
|
+
if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(dest, key, {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return source[key];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return dest;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
$parcel$exportWildcard(module.exports, $6f5ca387ac26c0b5$exports);
|
|
28
|
+
$parcel$exportWildcard(module.exports, $abbe8d0af34cbbed$exports);
|
|
29
|
+
$parcel$exportWildcard(module.exports, $db14eb7a5c07abdb$exports);
|
|
30
|
+
$parcel$exportWildcard(module.exports, $8646508ae99a5857$exports);
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=dev.7499151f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"","sources":["packages/map-interface/src/dev/index.ts"],"sourcesContent":["export * from \"./map-page\";\nexport * from \"./tile-extent\";\nexport * from \"./vector-tile-features\";\nexport * from \"./xray\";\n"],"names":[],"version":3,"file":"dev.7499151f.js.map"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var $b1c160aff794b8f5$exports = require("./main.module.4ecbaaa5.js");
|
|
2
|
+
require("./main.module.ff1b1aca.css");
|
|
3
|
+
var $a0970d22776f9f4c$exports = require("./headers.20eae5f7.js");
|
|
4
|
+
var $fcjlG$react = require("react");
|
|
5
|
+
var $fcjlG$blueprintjscore = require("@blueprintjs/core");
|
|
6
|
+
var $fcjlG$macrostrathyper = require("@macrostrat/hyper");
|
|
7
|
+
var $fcjlG$classnames = require("classnames");
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
function $parcel$interopDefault(a) {
|
|
11
|
+
return a && a.__esModule ? a.default : a;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function $parcel$export(e, n, v, s) {
|
|
15
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
$parcel$export(module.exports, "ExpansionPanelSummary", () => $750d69d73bfbdc9a$export$cea00a9d724d5a32);
|
|
19
|
+
$parcel$export(module.exports, "InfoPanelSection", () => $750d69d73bfbdc9a$export$39c134eb0b07cf0e);
|
|
20
|
+
$parcel$export(module.exports, "ExpansionPanel", () => $750d69d73bfbdc9a$export$40e646e38e6ed100);
|
|
21
|
+
$parcel$export(module.exports, "SubExpansionPanel", () => $750d69d73bfbdc9a$export$d7160281aff7c3b8);
|
|
22
|
+
$parcel$export(module.exports, "ExpandableDetailsPanel", () => $750d69d73bfbdc9a$export$44ad9ff780615135);
|
|
23
|
+
$parcel$export(module.exports, "ExpansionBody", () => $750d69d73bfbdc9a$export$263416b670b3f129);
|
|
24
|
+
$parcel$export(module.exports, "PanelSubhead", () => $a0970d22776f9f4c$exports.PanelSubhead);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
const $750d69d73bfbdc9a$var$h = (0, ($parcel$interopDefault($fcjlG$macrostrathyper))).styled((0, ($parcel$interopDefault($b1c160aff794b8f5$exports))));
|
|
32
|
+
function $750d69d73bfbdc9a$export$cea00a9d724d5a32(props) {
|
|
33
|
+
const { expanded: expanded, children: children, onChange: onChange, className: className, title: title, titleComponent: titleComponent } = props;
|
|
34
|
+
const icon = expanded ? "chevron-up" : "chevron-down";
|
|
35
|
+
return $750d69d73bfbdc9a$var$h((0, $a0970d22776f9f4c$exports.PanelSubhead), {
|
|
36
|
+
className: (0, ($parcel$interopDefault($fcjlG$classnames)))("expansion-panel-header", className),
|
|
37
|
+
onClick: onChange,
|
|
38
|
+
title: title,
|
|
39
|
+
component: titleComponent
|
|
40
|
+
}, [
|
|
41
|
+
children,
|
|
42
|
+
$750d69d73bfbdc9a$var$h((0, $fcjlG$blueprintjscore.Icon), {
|
|
43
|
+
icon: icon
|
|
44
|
+
})
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
function $750d69d73bfbdc9a$var$ExpansionPanelBase(props) {
|
|
48
|
+
let { title: title, titleComponent: titleComponent = "h3", children: children, expanded: expanded, helpText: helpText, onChange: onChange = ()=>{}, sideComponent: sideComponent = null, className: className } = props;
|
|
49
|
+
const [isOpen, setOpen] = (0, $fcjlG$react.useState)(expanded || false);
|
|
50
|
+
const onChange_ = ()=>{
|
|
51
|
+
onChange();
|
|
52
|
+
setOpen(!isOpen);
|
|
53
|
+
};
|
|
54
|
+
return $750d69d73bfbdc9a$var$h("div.expansion-panel-base", {
|
|
55
|
+
className: (0, ($parcel$interopDefault($fcjlG$classnames)))(className, {
|
|
56
|
+
expanded: isOpen,
|
|
57
|
+
collapsed: !isOpen
|
|
58
|
+
})
|
|
59
|
+
}, [
|
|
60
|
+
$750d69d73bfbdc9a$var$h($750d69d73bfbdc9a$export$cea00a9d724d5a32, {
|
|
61
|
+
onChange: onChange_,
|
|
62
|
+
expanded: isOpen,
|
|
63
|
+
title: title,
|
|
64
|
+
titleComponent: titleComponent
|
|
65
|
+
}, $750d69d73bfbdc9a$var$h("div.expansion-summary-title-help", [
|
|
66
|
+
$750d69d73bfbdc9a$var$h("span.expansion-panel-subtext", helpText),
|
|
67
|
+
" ",
|
|
68
|
+
sideComponent
|
|
69
|
+
])),
|
|
70
|
+
$750d69d73bfbdc9a$var$h((0, $fcjlG$blueprintjscore.Collapse), {
|
|
71
|
+
isOpen: isOpen
|
|
72
|
+
}, $750d69d73bfbdc9a$var$h("div.expansion-children", null, children))
|
|
73
|
+
]);
|
|
74
|
+
}
|
|
75
|
+
function $750d69d73bfbdc9a$export$39c134eb0b07cf0e(props) {
|
|
76
|
+
let { title: title, children: children, className: className, headerElement: headerElement = null } = props;
|
|
77
|
+
return $750d69d73bfbdc9a$var$h("div.info-panel-section", {
|
|
78
|
+
className: className
|
|
79
|
+
}, [
|
|
80
|
+
$750d69d73bfbdc9a$var$h("div.panel-subhead", null, headerElement ?? $750d69d73bfbdc9a$var$h("h3", title)),
|
|
81
|
+
$750d69d73bfbdc9a$var$h("div.panel-content", null, children)
|
|
82
|
+
]);
|
|
83
|
+
}
|
|
84
|
+
function $750d69d73bfbdc9a$export$40e646e38e6ed100(props) {
|
|
85
|
+
return $750d69d73bfbdc9a$var$h($750d69d73bfbdc9a$var$ExpansionPanelBase, {
|
|
86
|
+
...props,
|
|
87
|
+
className: "expansion-panel"
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function $750d69d73bfbdc9a$export$d7160281aff7c3b8(props) {
|
|
91
|
+
return $750d69d73bfbdc9a$var$h($750d69d73bfbdc9a$var$ExpansionPanelBase, {
|
|
92
|
+
...props,
|
|
93
|
+
className: "expansion-panel sub-expansion-panel",
|
|
94
|
+
titleComponent: "h4"
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function $750d69d73bfbdc9a$export$44ad9ff780615135(props) {
|
|
98
|
+
let { title: title, children: children, value: value, headerElement: headerElement, className: className } = props;
|
|
99
|
+
const [isOpen, setIsOpen] = (0, $fcjlG$react.useState)(false);
|
|
100
|
+
headerElement ??= $750d69d73bfbdc9a$var$h([
|
|
101
|
+
$750d69d73bfbdc9a$var$h("div.title", title),
|
|
102
|
+
value
|
|
103
|
+
]);
|
|
104
|
+
return $750d69d73bfbdc9a$var$h("div.expandable-details", {
|
|
105
|
+
className: className
|
|
106
|
+
}, [
|
|
107
|
+
$750d69d73bfbdc9a$var$h("div.expandable-details-main", [
|
|
108
|
+
$750d69d73bfbdc9a$var$h("div.expandable-details-header", headerElement),
|
|
109
|
+
$750d69d73bfbdc9a$var$h("div.expandable-details-toggle", [
|
|
110
|
+
$750d69d73bfbdc9a$var$h((0, $fcjlG$blueprintjscore.Button), {
|
|
111
|
+
small: true,
|
|
112
|
+
minimal: true,
|
|
113
|
+
active: isOpen,
|
|
114
|
+
onClick: ()=>setIsOpen(!isOpen),
|
|
115
|
+
icon: "more"
|
|
116
|
+
})
|
|
117
|
+
])
|
|
118
|
+
]),
|
|
119
|
+
$750d69d73bfbdc9a$var$h((0, $fcjlG$blueprintjscore.Collapse), {
|
|
120
|
+
isOpen: isOpen
|
|
121
|
+
}, $750d69d73bfbdc9a$var$h("div.expandable-details-children", null, children))
|
|
122
|
+
]);
|
|
123
|
+
}
|
|
124
|
+
function $750d69d73bfbdc9a$export$263416b670b3f129({ title: title, className: className, children: children }) {
|
|
125
|
+
return $750d69d73bfbdc9a$var$h("div.expansion-body", {
|
|
126
|
+
className: className
|
|
127
|
+
}, [
|
|
128
|
+
$750d69d73bfbdc9a$var$h("div.expansion-panel-detail-header", title),
|
|
129
|
+
$750d69d73bfbdc9a$var$h("div.expansion-panel-detail-body", null, children)
|
|
130
|
+
]);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=expansion-panel.08532cee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,SAAS,0CAAsB,KAAK;IAClC,MAAM,YAAE,QAAQ,YAAE,QAAQ,YAAE,QAAQ,aAAE,SAAS,SAAE,KAAK,kBAAE,cAAc,EAAE,GACtE;IACF,MAAM,OAAO,WAAW,eAAe;IACvC,OAAO,wBACL,CAAA,GAAA,sCAAW,GACX;QACE,WAAW,CAAA,GAAA,2CAAS,EAAE,0BAA0B;QAChD,SAAS;eACT;QACA,WAAW;IACb,GACA;QAAC;QAAU,wBAAE,CAAA,GAAA,2BAAG,GAAG;kBAAE;QAAK;KAAG;AAEjC;AAEA,SAAS,yCAAmB,KAAK;IAC/B,IAAI,SACF,KAAK,kBACL,iBAAiB,gBACjB,QAAQ,YACR,QAAQ,YACR,QAAQ,YACR,WAAW,KAAO,kBAClB,gBAAgB,iBAChB,SAAS,EACV,GAAG;IACJ,MAAM,CAAC,QAAQ,QAAQ,GAAG,CAAA,GAAA,qBAAO,EAAE,YAAY;IAE/C,MAAM,YAAY;QAChB;QACA,QAAQ,CAAC;IACX;IAEA,OAAO,wBACL,4BACA;QACE,WAAW,CAAA,GAAA,2CAAS,EAAE,WAAW;YAC/B,UAAU;YACV,WAAW,CAAC;QACd;IACF,GACA;QACE,wBACE,2CACA;YACE,UAAU;YACV,UAAU;mBACV;4BACA;QACF,GACA,wBAAE,oCAAoC;YACpC,wBAAE,gCAAgC;YAClC;YACA;SACD;QAEH,wBAAE,CAAA,GAAA,+BAAO,GAAG;oBAAE;QAAO,GAAG,wBAAE,0BAA0B,MAAM;KAC3D;AAEL;AAEO,SAAS,0CAAiB,KAAK;IACpC,IAAI,SAAE,KAAK,YAAE,QAAQ,aAAE,SAAS,iBAAE,gBAAgB,MAAM,GAAG;IAC3D,OAAO,wBAAE,0BAA0B;mBAAE;IAAU,GAAG;QAChD,wBAAE,qBAAqB,MAAM,iBAAiB,wBAAE,MAAM;QACtD,wBAAE,qBAAqB,MAAM;KAC9B;AACH;AAEA,SAAS,0CAAe,KAAK;IAC3B,OAAO,wBAAE,0CAAoB;QAC3B,GAAG,KAAK;QACR,WAAW;IACb;AACF;AAEA,SAAS,0CAAkB,KAAK;IAC9B,OAAO,wBAAE,0CAAoB;QAC3B,GAAG,KAAK;QACR,WAAW;QACX,gBAAgB;IAClB;AACF;AAEA,SAAS,0CAAuB,KAAK;IACnC,IAAI,SAAE,KAAK,YAAE,QAAQ,SAAE,KAAK,iBAAE,aAAa,aAAE,SAAS,EAAE,GAAG;IAC3D,MAAM,CAAC,QAAQ,UAAU,GAAG,CAAA,GAAA,qBAAO,EAAE;IACrC,kBAAkB,wBAAE;QAAC,wBAAE,aAAa;QAAQ;KAAM;IAClD,OAAO,wBAAE,0BAA0B;mBAAE;IAAU,GAAG;QAChD,wBAAE,+BAA+B;YAC/B,wBAAE,iCAAiC;YACnC,wBAAE,iCAAiC;gBACjC,wBAAE,CAAA,GAAA,6BAAK,GAAG;oBACR,OAAO;oBACP,SAAS;oBACT,QAAQ;oBACR,SAAS,IAAM,UAAU,CAAC;oBAC1B,MAAM;gBACR;aACD;SACF;QACD,wBACE,CAAA,GAAA,+BAAO,GACP;oBAAE;QAAO,GACT,wBAAE,mCAAmC,MAAM;KAE9C;AACH;AAEA,SAAS,0CAAc,SAAE,KAAK,aAAE,SAAS,YAAE,QAAQ,EAAE;IACnD,OAAO,wBAAE,sBAAsB;mBAAE;IAAU,GAAG;QAC5C,wBAAE,qCAAqC;QACvC,wBAAE,mCAAmC,MAAM;KAC5C;AACH","sources":["packages/map-interface/src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon })]\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ])\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ]\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children)\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":[],"version":3,"file":"expansion-panel.08532cee.js.map"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var $bf943af2b72f182b$exports = require("./utils.09cef979.js");
|
|
2
|
+
var $aMvpk$macrostratmapboxutils = require("@macrostrat/mapbox-utils");
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$export(e, n, v, s) {
|
|
6
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
$parcel$export(module.exports, "applyMapPositionToHash", () => $370ea7ef3413c03a$export$8391d1abb505ffb3);
|
|
10
|
+
$parcel$export(module.exports, "getMapPositionForHash", () => $370ea7ef3413c03a$export$80abf1cbcc3918e4);
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
function $370ea7ef3413c03a$export$8391d1abb505ffb3(args, mapPosition) {
|
|
14
|
+
const pos = mapPosition?.camera;
|
|
15
|
+
if (pos == null) return;
|
|
16
|
+
const zoom = mapPosition.target?.zoom;
|
|
17
|
+
args.x = (0, $aMvpk$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lng, zoom);
|
|
18
|
+
args.y = (0, $aMvpk$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lat, zoom);
|
|
19
|
+
if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) args.z = (0, $bf943af2b72f182b$exports.fmt1)(zoom);
|
|
20
|
+
else if (pos.altitude != null) {
|
|
21
|
+
if (pos.altitude > 5000) args.z = (0, $bf943af2b72f182b$exports.fmt2)(pos.altitude / 1000) + "km";
|
|
22
|
+
else args.z = (0, $bf943af2b72f182b$exports.fmtInt)(pos.altitude) + "m";
|
|
23
|
+
}
|
|
24
|
+
if (pos.bearing != 0) {
|
|
25
|
+
let az = pos.bearing;
|
|
26
|
+
if (az < 0) az += 360;
|
|
27
|
+
args.a = (0, $bf943af2b72f182b$exports.fmtInt)(az);
|
|
28
|
+
}
|
|
29
|
+
if (pos.pitch != 0) args.e = (0, $bf943af2b72f182b$exports.fmtInt)(pos.pitch);
|
|
30
|
+
}
|
|
31
|
+
function $370ea7ef3413c03a$var$_fmt(x) {
|
|
32
|
+
if (Array.isArray(x)) x = x[0];
|
|
33
|
+
return parseFloat(x.toString());
|
|
34
|
+
}
|
|
35
|
+
function $370ea7ef3413c03a$export$80abf1cbcc3918e4(hashData, centerPosition) {
|
|
36
|
+
const { x: x = centerPosition?.lng ?? 0, y: y = centerPosition?.lat ?? 0, z: // Different default for zoom depending on whether we have a marker
|
|
37
|
+
z = centerPosition != null ? 7 : 2, a: a = 0, e: e = 0 } = hashData;
|
|
38
|
+
const lng = $370ea7ef3413c03a$var$_fmt(x);
|
|
39
|
+
const lat = $370ea7ef3413c03a$var$_fmt(y);
|
|
40
|
+
let altitude = null;
|
|
41
|
+
let zoom = null;
|
|
42
|
+
const _z = z.toString();
|
|
43
|
+
if (_z.endsWith("km")) altitude = $370ea7ef3413c03a$var$_fmt(_z.substring(0, _z.length - 2)) * 1000;
|
|
44
|
+
else if (_z.endsWith("m")) altitude = $370ea7ef3413c03a$var$_fmt(_z.substring(0, _z.length - 1));
|
|
45
|
+
else zoom = $370ea7ef3413c03a$var$_fmt(z);
|
|
46
|
+
const bearing = $370ea7ef3413c03a$var$_fmt(a);
|
|
47
|
+
const pitch = $370ea7ef3413c03a$var$_fmt(e);
|
|
48
|
+
let target = undefined;
|
|
49
|
+
if (bearing == 0 && pitch == 0 && zoom != null) target = {
|
|
50
|
+
lat: lat,
|
|
51
|
+
lng: lng,
|
|
52
|
+
zoom: zoom
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
camera: {
|
|
56
|
+
lng: $370ea7ef3413c03a$var$_fmt(x),
|
|
57
|
+
lat: $370ea7ef3413c03a$var$_fmt(y),
|
|
58
|
+
altitude: altitude,
|
|
59
|
+
bearing: $370ea7ef3413c03a$var$_fmt(a),
|
|
60
|
+
pitch: $370ea7ef3413c03a$var$_fmt(e)
|
|
61
|
+
},
|
|
62
|
+
target: target
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=hash-string.62e84f08.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;AAgBO,SAAS,0CACd,IAAwB,EACxB,WAA+B;IAE/B,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM;IACjB,MAAM,OAAO,YAAY,MAAM,EAAE;IAEjC,KAAK,CAAC,GAAG,CAAA,GAAA,oDAAsB,EAAE,IAAI,GAAG,EAAE;IAC1C,KAAK,CAAC,GAAG,CAAA,GAAA,oDAAsB,EAAE,IAAI,GAAG,EAAE;IAE1C,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,MAChD,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAG,EAAE;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,CAAA,GAAA,gCAAK,EAAE,IAAI,QAAQ,IAAI;;IAGpC,IAAI,IAAI,OAAO,IAAI,GAAG;QACpB,IAAI,KAAK,IAAI,OAAO;QACpB,IAAI,KAAK,GAAG,MAAM;QAClB,KAAK,CAAC,GAAG,CAAA,GAAA,gCAAK,EAAE;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,CAAA,GAAA,gCAAK,EAAE,IAAI,KAAK;AAE7B;AAEA,SAAS,2BAAK,CAA6B;IACzC,IAAI,MAAM,OAAO,CAAC,IAChB,IAAI,CAAC,CAAC,EAAE;IAEV,OAAO,WAAW,EAAE,QAAQ;AAC9B;AAEO,SAAS,0CACd,QAA6B,EAC7B,cAA6B;IAE7B,MAAM,KACJ,IAAI,gBAAgB,OAAO,MAC3B,IAAI,gBAAgB,OAAO,MAC3B,mEAAmE;IACnE,IAAI,kBAAkB,OAAO,IAAI,MACjC,IAAI,MACJ,IAAI,GACL,GAAG;IAEJ,MAAM,MAAM,2BAAK;IACjB,MAAM,MAAM,2BAAK;IAEjB,IAAI,WAAW;IACf,IAAI,OAAO;IACX,MAAM,KAAK,EAAE,QAAQ;IACrB,IAAI,GAAG,QAAQ,CAAC,OACd,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;SAC7C,IAAI,GAAG,QAAQ,CAAC,MACrB,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG;SAE5C,OAAO,2BAAK;IAEd,MAAM,UAAU,2BAAK;IACrB,MAAM,QAAQ,2BAAK;IAEnB,IAAI,SAAS;IACb,IAAI,WAAW,KAAK,SAAS,KAAK,QAAQ,MACxC,SAAS;aACP;aACA;cACA;IACF;IAGF,OAAO;QACL,QAAQ;YACN,KAAK,2BAAK;YACV,KAAK,2BAAK;sBACV;YACA,SAAS,2BAAK;YACd,OAAO,2BAAK;QACd;gBACA;IACF;AACF","sources":["packages/map-interface/src/location-info/hash-string.ts"],"sourcesContent":["import {\n LatLng,\n MapPosition,\n formatCoordForZoomLevel,\n} from \"@macrostrat/mapbox-utils\";\nimport { ParsedQuery } from \"query-string\";\nimport { fmt1, fmt2, fmtInt } from \"./utils\";\n\ninterface LocationHashParams {\n x?: string;\n y?: string;\n z?: string;\n a?: string;\n e?: string;\n}\n\nexport function applyMapPositionToHash(\n args: LocationHashParams,\n mapPosition: MapPosition | null\n) {\n const pos = mapPosition?.camera;\n if (pos == null) return;\n const zoom = mapPosition.target?.zoom;\n\n args.x = formatCoordForZoomLevel(pos.lng, zoom);\n args.y = formatCoordForZoomLevel(pos.lat, zoom);\n\n if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) {\n args.z = fmt1(zoom);\n } else if (pos.altitude != null) {\n if (pos.altitude > 5000) {\n args.z = fmt2(pos.altitude / 1000) + \"km\";\n } else {\n args.z = fmtInt(pos.altitude) + \"m\";\n }\n }\n if (pos.bearing != 0) {\n let az = pos.bearing;\n if (az < 0) az += 360;\n args.a = fmtInt(az);\n }\n if (pos.pitch != 0) {\n args.e = fmtInt(pos.pitch);\n }\n}\n\nfunction _fmt(x: string | number | string[]) {\n if (Array.isArray(x)) {\n x = x[0];\n }\n return parseFloat(x.toString());\n}\n\nexport function getMapPositionForHash(\n hashData: ParsedQuery<string>,\n centerPosition: LatLng | null\n): MapPosition {\n const {\n x = centerPosition?.lng ?? 0,\n y = centerPosition?.lat ?? 0,\n // Different default for zoom depending on whether we have a marker\n z = centerPosition != null ? 7 : 2,\n a = 0,\n e = 0,\n } = hashData;\n\n const lng = _fmt(x);\n const lat = _fmt(y);\n\n let altitude = null;\n let zoom = null;\n const _z = z.toString();\n if (_z.endsWith(\"km\")) {\n altitude = _fmt(_z.substring(0, _z.length - 2)) * 1000;\n } else if (_z.endsWith(\"m\")) {\n altitude = _fmt(_z.substring(0, _z.length - 1));\n } else {\n zoom = _fmt(z);\n }\n const bearing = _fmt(a);\n const pitch = _fmt(e);\n\n let target = undefined;\n if (bearing == 0 && pitch == 0 && zoom != null) {\n target = {\n lat,\n lng,\n zoom,\n };\n }\n\n return {\n camera: {\n lng: _fmt(x),\n lat: _fmt(y),\n altitude,\n bearing: _fmt(a),\n pitch: _fmt(e),\n },\n target,\n };\n}\n"],"names":[],"version":3,"file":"hash-string.62e84f08.js.map"}
|