@macrostrat/map-interface 1.5.7 → 1.6.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/index.js +5 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/map-interface.225c9340.js +71 -0
- package/dist/cjs/map-interface.225c9340.js.map +1 -0
- package/dist/cjs/map-interface.3ca778c5.js +57 -0
- package/dist/cjs/map-interface.3ca778c5.js.map +1 -0
- package/dist/cjs/map-interface.4267aa3a.js +68 -0
- package/dist/cjs/map-interface.4267aa3a.js.map +1 -0
- package/dist/cjs/{map-interface.dcbd3874.js → map-interface.4a3d9662.js} +4 -4
- package/dist/cjs/map-interface.4a3d9662.js.map +1 -0
- package/dist/cjs/{map-interface.10d442f4.js → map-interface.67001b26.js} +2 -2
- package/dist/cjs/{map-interface.10d442f4.js.map → map-interface.67001b26.js.map} +1 -1
- package/dist/cjs/{map-interface.3bcda63a.js → map-interface.7170f35e.js} +3 -4
- package/dist/cjs/map-interface.7170f35e.js.map +1 -0
- package/dist/cjs/{map-interface.3bc4f731.js → map-interface.a3c2552f.js} +2 -2
- package/dist/cjs/{map-interface.3bc4f731.js.map → map-interface.a3c2552f.js.map} +1 -1
- package/dist/cjs/{map-interface.28d1a6b7.js → map-interface.a960d638.js} +2 -2
- package/dist/cjs/{map-interface.28d1a6b7.js.map → map-interface.a960d638.js.map} +1 -1
- package/dist/cjs/{map-interface.66958831.js → map-interface.c5061c96.js} +2 -2
- package/dist/cjs/{map-interface.66958831.js.map → map-interface.c5061c96.js.map} +1 -1
- package/dist/cjs/map-interface.cf6c9a68.js.map +1 -1
- package/dist/esm/index.d.ts +10 -41
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/map-interface.2350f590.js +48 -0
- package/dist/esm/map-interface.2350f590.js.map +1 -0
- package/dist/esm/{map-interface.ec2278ab.js → map-interface.2892a5fb.js} +2 -2
- package/dist/esm/{map-interface.ec2278ab.js.map → map-interface.2892a5fb.js.map} +1 -1
- package/dist/esm/{map-interface.90d9023c.js → map-interface.557de808.js} +2 -2
- package/dist/esm/{map-interface.90d9023c.js.map → map-interface.557de808.js.map} +1 -1
- package/dist/esm/map-interface.64c62ba1.js +62 -0
- package/dist/esm/map-interface.64c62ba1.js.map +1 -0
- package/dist/esm/{map-interface.54ccd41f.js → map-interface.6e65dcaf.js} +2 -2
- package/dist/esm/{map-interface.54ccd41f.js.map → map-interface.6e65dcaf.js.map} +1 -1
- package/dist/esm/{map-interface.00ecf2ee.js → map-interface.a8c94450.js} +3 -4
- package/dist/esm/map-interface.a8c94450.js.map +1 -0
- package/dist/esm/map-interface.c2a61cbf.js +62 -0
- package/dist/esm/map-interface.c2a61cbf.js.map +1 -0
- package/dist/esm/{map-interface.e20a9bac.js → map-interface.e418553b.js} +4 -4
- package/dist/esm/map-interface.e418553b.js.map +1 -0
- package/dist/esm/{map-interface.21fab792.js → map-interface.e63d862d.js} +2 -2
- package/dist/esm/{map-interface.21fab792.js.map → map-interface.e63d862d.js.map} +1 -1
- package/dist/esm/map-interface.f7b8bdb7.js.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/map-interface.33b7734a.js.map +1 -1
- package/dist/node/map-interface.41e916d1.js +2 -0
- package/dist/node/map-interface.41e916d1.js.map +1 -0
- package/dist/node/{map-interface.6184dc0f.js → map-interface.4b4f8fdf.js} +2 -2
- package/dist/node/{map-interface.6184dc0f.js.map → map-interface.4b4f8fdf.js.map} +1 -1
- package/dist/node/map-interface.5736d6f8.js +2 -0
- package/dist/node/map-interface.5736d6f8.js.map +1 -0
- package/dist/node/map-interface.593e09ed.js +2 -0
- package/dist/node/map-interface.593e09ed.js.map +1 -0
- package/dist/node/{map-interface.ce86a010.js → map-interface.6314eef1.js} +2 -2
- package/dist/node/{map-interface.ce86a010.js.map → map-interface.6314eef1.js.map} +1 -1
- package/dist/node/{map-interface.55a1f38d.js → map-interface.78e05655.js} +2 -2
- package/dist/node/{map-interface.55a1f38d.js.map → map-interface.78e05655.js.map} +1 -1
- package/dist/node/{map-interface.aa4d45ff.js → map-interface.b33fab5e.js} +2 -2
- package/dist/node/map-interface.b33fab5e.js.map +1 -0
- package/dist/node/{map-interface.7e13bea8.js → map-interface.bf86da7c.js} +2 -2
- package/dist/node/{map-interface.7e13bea8.js.map → map-interface.bf86da7c.js.map} +1 -1
- package/dist/node/map-interface.f13f7aeb.js +2 -0
- package/dist/node/map-interface.f13f7aeb.js.map +1 -0
- package/package.json +8 -8
- package/src/{location-info/hash-string.ts → hash-string.ts} +4 -1
- package/src/helpers.ts +0 -2
- package/src/index.ts +1 -1
- package/src/location-details/xdd-panel/article.ts +67 -0
- package/src/location-details/xdd-panel/index.ts +2 -17
- package/src/location-details/xdd-panel/{Journal.tsx → journal.ts} +15 -5
- package/src/location-panel/header.ts +1 -1
- package/dist/cjs/map-interface.2401af7a.js +0 -59
- package/dist/cjs/map-interface.2401af7a.js.map +0 -1
- package/dist/cjs/map-interface.3bcda63a.js.map +0 -1
- package/dist/cjs/map-interface.64823b7c.js +0 -129
- package/dist/cjs/map-interface.64823b7c.js.map +0 -1
- package/dist/cjs/map-interface.71e61c74.js +0 -73
- package/dist/cjs/map-interface.71e61c74.js.map +0 -1
- package/dist/cjs/map-interface.860fcb7e.js +0 -67
- package/dist/cjs/map-interface.860fcb7e.js.map +0 -1
- package/dist/cjs/map-interface.dcbd3874.js.map +0 -1
- package/dist/cjs/map-interface.dfaad4a1.js +0 -36
- package/dist/cjs/map-interface.dfaad4a1.js.map +0 -1
- package/dist/esm/map-interface.00ecf2ee.js.map +0 -1
- package/dist/esm/map-interface.3ef9d0ae.js +0 -99
- package/dist/esm/map-interface.3ef9d0ae.js.map +0 -1
- package/dist/esm/map-interface.767fdc4a.js +0 -64
- package/dist/esm/map-interface.767fdc4a.js.map +0 -1
- package/dist/esm/map-interface.9fac5fa6.js +0 -50
- package/dist/esm/map-interface.9fac5fa6.js.map +0 -1
- package/dist/esm/map-interface.c4fa120d.js +0 -28
- package/dist/esm/map-interface.c4fa120d.js.map +0 -1
- package/dist/esm/map-interface.e20a9bac.js.map +0 -1
- package/dist/esm/map-interface.e50c290f.js +0 -61
- package/dist/esm/map-interface.e50c290f.js.map +0 -1
- package/dist/node/map-interface.42a4b05a.js +0 -2
- package/dist/node/map-interface.42a4b05a.js.map +0 -1
- package/dist/node/map-interface.48262cbb.js +0 -2
- package/dist/node/map-interface.48262cbb.js.map +0 -1
- package/dist/node/map-interface.56b5b2ee.js +0 -2
- package/dist/node/map-interface.56b5b2ee.js.map +0 -1
- package/dist/node/map-interface.9e6751ac.js +0 -2
- package/dist/node/map-interface.9e6751ac.js.map +0 -1
- package/dist/node/map-interface.aa4d45ff.js.map +0 -1
- package/dist/node/map-interface.d92b296e.js +0 -2
- package/dist/node/map-interface.d92b296e.js.map +0 -1
- package/dist/node/map-interface.e0032d67.js +0 -2
- package/dist/node/map-interface.e0032d67.js.map +0 -1
- package/src/location-details/xdd-panel/Article.tsx +0 -69
- package/src/location-info/index.ts +0 -100
- package/src/location-info/utils.ts +0 -24
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
var $bf943af2b72f182b$exports = require("./map-interface.dfaad4a1.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=map-interface.860fcb7e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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":"map-interface.860fcb7e.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,SAAS,qCAAe,YAAE,QAAQ,UAAE,MAAM,gBAAE,eAAe,OAAO;IAChE,MAAM,aAAa,CAAA,GAAA,0CAAY,EAAE;IAEjC,MAAM,oBAAoB,CAAA,GAAA,uCAAS,EAAE,eAAe;IAEpD,OAAO,wBAAE,yBAAyB;QAChC,wBAAE,CAAA,GAAA,gDAAkB,GAAG;YAAE,UAAU;oBAAU;wBAAQ;QAAW,GAAG,EAAE;QACrE,wBAAE,EAAE,CAAC,qBAAqB,YAAY,MAAM,sCAAgB;YAC1D,UAAU;QACZ;KACD;AACH;AAEA,SAAS,qCAAe,YAAE,QAAQ,YAAE,QAAQ,WAAE,OAAO,EAAE,GAAG,MAAM;IAC9D,MAAM,UAAU,CAAA,GAAA,wCAAS;IAEzB,IAAI,UAAU,CAAC,WAAW,CAAC;IAC3B,IAAI,YAAY,MACd,WAAW,CAAC,IAAI,EAAE,UAAU;IAE9B,WAAW;IAEX,OAAO,wBACL,CAAA,GAAA,6BAAK,GACL;QACE,WAAW;QACX,WAAW,wBAAE,CAAA,GAAA,2BAAG,GAAG;YAAE,MAAM;YAAQ,MAAM;QAAG;QAC5C,SAAS;QACT,OAAO;QACP;YACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD;gBACE,SAAS,KAAK;6BACZ;oBACA,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;gBACA;YACF,GACA;gBACE,SAAS,KAAK;oBACZ,SAAS;oBACT,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;YACF;QAEJ;QACA,GAAG,IAAI;IACT,GACA,YAAY;AAEhB;AAcO,SAAS,0CAAiB,KAA4B;IAC3D,MAAM,WACJ,OAAO,YACP,QAAQ,UACR,MAAM,QACN,OAAO,cACP,SAAS,0BACT,sBAAsB,eACtB,cAAc,iBACd,QAAQ,aACR,SAAS,EACV,GAAG;IAEJ,IAAI,aAAa;IACjB,IAAI,UAAU,QAAQ,YAAY,MAChC,aAAa,wBAAE,sCAAgB;kBAC7B;gBACA;QACA,cAAc;IAChB;IAGF,OAAO,wBACL,gCACA;QACE,WAAW,CAAA,GAAA,2CAAS,EAAE,WAAW;YAAE,gBAAgB;QAAY;IACjE,GACA;QACE;QACA;QACA,wBAAE;QACF,wBAAE,EAAE,CAAC,YAAY,MAAM,CAAA,GAAA,sCAAW,GAAG;sBACnC;kBACA;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,aAAa,MAAM,CAAA,GAAA,mCAAQ,GAAG;uBACjC;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,WAAW,MAAM,CAAA,GAAA,6BAAK,GAAG;YAC5B,SAAS;YACT,MAAM;YACN,SAAS;QACX;KACD;AAEL","sources":["packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":[],"version":3,"file":"map-interface.dcbd3874.js.map"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var $b7B0P$d3format = require("d3-format");
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function $parcel$export(e, n, v, s) {
|
|
5
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
$parcel$export(module.exports, "fmt2", () => $bf943af2b72f182b$export$4c173b1b2f78faf7);
|
|
9
|
-
$parcel$export(module.exports, "fmt1", () => $bf943af2b72f182b$export$e54bbd2c33d17485);
|
|
10
|
-
$parcel$export(module.exports, "fmtInt", () => $bf943af2b72f182b$export$bc135f63e2f56fd4);
|
|
11
|
-
$parcel$export(module.exports, "formatValue", () => $bf943af2b72f182b$export$7c4d25c0c3217d8c);
|
|
12
|
-
|
|
13
|
-
const $bf943af2b72f182b$export$97c1b10e131a836d = (0, $b7B0P$d3format.format)(".4~f");
|
|
14
|
-
const $bf943af2b72f182b$export$b1cb0f7fb990b3ea = (0, $b7B0P$d3format.format)(".3~f");
|
|
15
|
-
const $bf943af2b72f182b$export$4c173b1b2f78faf7 = (0, $b7B0P$d3format.format)(".2~f");
|
|
16
|
-
const $bf943af2b72f182b$export$e54bbd2c33d17485 = (0, $b7B0P$d3format.format)(".1~f");
|
|
17
|
-
const $bf943af2b72f182b$export$bc135f63e2f56fd4 = (0, $b7B0P$d3format.format)(".0f");
|
|
18
|
-
function $bf943af2b72f182b$export$7c4d25c0c3217d8c(val, precision = 0) {
|
|
19
|
-
switch(precision){
|
|
20
|
-
case 4:
|
|
21
|
-
return $bf943af2b72f182b$export$97c1b10e131a836d(val);
|
|
22
|
-
case 3:
|
|
23
|
-
return $bf943af2b72f182b$export$b1cb0f7fb990b3ea(val);
|
|
24
|
-
case 2:
|
|
25
|
-
return $bf943af2b72f182b$export$4c173b1b2f78faf7(val);
|
|
26
|
-
case 1:
|
|
27
|
-
return $bf943af2b72f182b$export$e54bbd2c33d17485(val);
|
|
28
|
-
case 0:
|
|
29
|
-
return $bf943af2b72f182b$export$bc135f63e2f56fd4(val);
|
|
30
|
-
default:
|
|
31
|
-
return $bf943af2b72f182b$export$97c1b10e131a836d(val);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=map-interface.dfaad4a1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;AAEO,MAAM,4CAAO,CAAA,GAAA,sBAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,sBAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,sBAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,sBAAK,EAAE;AACpB,MAAM,4CAAS,CAAA,GAAA,sBAAK,EAAE;AAEtB,SAAS,0CAAY,GAAW,EAAE,YAAoB,CAAC;IAC5D,OAAQ;QACN,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAO;QAChB;YACE,OAAO,0CAAK;IAChB;AACF","sources":["packages/map-interface/src/location-info/utils.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport function formatValue(val: number, precision: number = 0): string {\n switch (precision) {\n case 4:\n return fmt4(val);\n case 3:\n return fmt3(val);\n case 2:\n return fmt2(val);\n case 1:\n return fmt1(val);\n case 0:\n return fmtInt(val);\n default:\n return fmt4(val);\n }\n}\n"],"names":[],"version":3,"file":"map-interface.dfaad4a1.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;AAkBO,SAAS,0CAAa,WAC3B,OAAO,YACP,WAAW,uBACX,iBAAiB,MAClB;IACC,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAc;QACrB,WAAW;QACX,MAAM;QACN,YAAY,WAAW,aAAa,QAAQ,MAAM,KAAK;kBACvD;wBACA;IACF;AACF;AAEO,SAAS,0CAAa,cAC3B,UAAU,EACV,MAAM,OAAO,YACb,QAAQ,kBACR,cAAc,EACd,GAAG,MACJ;IACC,MAAM,cAAc,6CAAuB;IAE3C,QAAQ,GAAG,CAAC,YAAY;IAExB,OAAO,CAAA,GAAA,sBAAA,EACL,CAAA,GAAA,qBAAa,GACb;QACE,WAAW;QACX,OAAO;QACP,UAAU;QACV,GAAG,IAAI;kBACP;IACF,GACA;QACE,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,YAAY,CAAA,GAAA,cAAM;QACvB,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,CAAC,cAAc,QAAQ,MAAM,GAAG,GAAG;YACtC,MAAM,IAAI,CAAC,YAAY,OAAO,KAAK,IAAI,CAAC,CAAC,SAAS,SAAS;gBACzD,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,wCAAM,GAAG;oCAChB;oBACA,MAAM;oBACN,UAAU;oBACV,WAAW,QAAQ,CAAC,EAAE,CAAC,SAAS;oBAChC,KAAK;gBACP;YACF;SACD;KACF;AAEL;AAEA,SAAS,6CACP,QAAsB;IAEtB,MAAM,WAAW,IAAI;IACrB,IAAI,CAAC,YAAY,SAAS,MAAM,KAAK,GACnC,OAAO;IAET,KAAK,IAAI,WAAW,SAAU;QAC5B,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,UAChB,SAAS,GAAG,CAAC,SAAS,EAAE;QAE1B,SAAS,GAAG,CAAC,SAAS,IAAI,CAAC;IAC7B;IACA,OAAO;AACT","sources":["packages/map-interface/src/location-details/xdd-panel/index.ts"],"sourcesContent":["import { Spinner } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport Journal from \"./Journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nexport function XddExpansion({\n xddInfo,\n expanded = false,\n nestedExpanded = true,\n}) {\n return h(xDDPanelCore, {\n className: \"regional-panel\",\n data: xddInfo,\n isFetching: xddInfo == undefined || xddInfo.length === 0,\n expanded,\n nestedExpanded,\n });\n}\n\nexport function xDDPanelCore({\n isFetching,\n data: xddInfo,\n expanded,\n nestedExpanded,\n ...rest\n}) {\n const groupedData = groupSnippetsByJournal(xddInfo);\n\n console.log(\"expanded\", expanded);\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Primary literature\",\n helpText: \"via xDD\",\n ...rest,\n expanded,\n },\n [\n h.if(isFetching)(Spinner),\n h.if(!isFetching && xddInfo.length > 0)([\n Array.from(groupedData.entries())?.map(([journal, snippets]) => {\n return h(Journal, {\n nestedExpanded,\n name: journal,\n articles: snippets,\n publisher: snippets[0].publisher,\n key: journal,\n });\n }),\n ]),\n ],\n );\n}\n\nfunction groupSnippetsByJournal(\n snippets: XDDSnippet[],\n): Map<string, XDDSnippet[]> {\n const journals = new Map<string, XDDSnippet[]>();\n if (!snippets || snippets.length === 0) {\n return journals;\n }\n for (let snippet of snippets) {\n const { pubname: journal } = snippet;\n if (!journals.has(journal)) {\n journals.set(journal, []);\n }\n journals.get(journal).push(snippet);\n }\n return journals;\n}\n"],"names":[],"version":3,"file":"map-interface.00ecf2ee.js.map"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import {formatValue as $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c} from "./map-interface.c4fa120d.js";
|
|
2
|
-
import {applyMapPositionToHash as $bb5f34705d9c44bc$export$8391d1abb505ffb3, getMapPositionForHash as $bb5f34705d9c44bc$export$80abf1cbcc3918e4} from "./map-interface.e50c290f.js";
|
|
3
|
-
import $2Lirf$macrostrathyper from "@macrostrat/hyper";
|
|
4
|
-
import {formatCoordForZoomLevel as $2Lirf$formatCoordForZoomLevel, normalizeLng as $2Lirf$normalizeLng, metersToFeet as $2Lirf$metersToFeet} from "@macrostrat/mapbox-utils";
|
|
5
|
-
import {LngLat as $2Lirf$LngLat} from "mapbox-gl";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function $4fae2d573d730db8$export$716098b85fd0efdf(props) {
|
|
13
|
-
const { value: value, unit: unit } = props;
|
|
14
|
-
return (0, $2Lirf$macrostrathyper)("span.value-with-unit", [
|
|
15
|
-
(0, $2Lirf$macrostrathyper)("span.value", [
|
|
16
|
-
value
|
|
17
|
-
]),
|
|
18
|
-
(0, $2Lirf$macrostrathyper)("span.spacer", [
|
|
19
|
-
" "
|
|
20
|
-
]),
|
|
21
|
-
(0, $2Lirf$macrostrathyper)("span.unit", [
|
|
22
|
-
unit
|
|
23
|
-
])
|
|
24
|
-
]);
|
|
25
|
-
}
|
|
26
|
-
function $4fae2d573d730db8$export$af8082af0bea3eb1(props) {
|
|
27
|
-
const { value: value, labels: labels, precision: precision = 3, format: format = (0, $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c) } = props;
|
|
28
|
-
const direction = value < 0 ? labels[1] : labels[0];
|
|
29
|
-
return (0, $2Lirf$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
|
|
30
|
-
value: format(Math.abs(value), precision) + "\xb0",
|
|
31
|
-
unit: direction
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
function $4fae2d573d730db8$export$f195b3550849e560(props) {
|
|
35
|
-
/** Formatted geographic coordinates */ const { position: position, className: className, precision: precision, zoom: zoom } = props;
|
|
36
|
-
let { format: format } = props;
|
|
37
|
-
if (position == null) return null;
|
|
38
|
-
let lat;
|
|
39
|
-
let lng;
|
|
40
|
-
if (Array.isArray(position)) [lng, lat] = position;
|
|
41
|
-
else if (position instanceof (0, $2Lirf$LngLat)) [lng, lat] = position.toArray();
|
|
42
|
-
else if ("lng" in position) {
|
|
43
|
-
lat = position.lat;
|
|
44
|
-
lng = position.lng;
|
|
45
|
-
} else if ("lon" in position) {
|
|
46
|
-
lat = position.lat;
|
|
47
|
-
lng = position.lon;
|
|
48
|
-
}
|
|
49
|
-
if (zoom != null && format == null && precision == null) format = (val, _)=>(0, $2Lirf$formatCoordForZoomLevel)(val, zoom);
|
|
50
|
-
return (0, $2Lirf$macrostrathyper)("div.lnglat-container", {
|
|
51
|
-
className: className
|
|
52
|
-
}, [
|
|
53
|
-
(0, $2Lirf$macrostrathyper)("span.lnglat", [
|
|
54
|
-
(0, $2Lirf$macrostrathyper)($4fae2d573d730db8$export$af8082af0bea3eb1, {
|
|
55
|
-
value: lat,
|
|
56
|
-
labels: [
|
|
57
|
-
"N",
|
|
58
|
-
"S"
|
|
59
|
-
],
|
|
60
|
-
precision: precision,
|
|
61
|
-
format: format
|
|
62
|
-
}),
|
|
63
|
-
", ",
|
|
64
|
-
(0, $2Lirf$macrostrathyper)($4fae2d573d730db8$export$af8082af0bea3eb1, {
|
|
65
|
-
value: (0, $2Lirf$normalizeLng)(lng),
|
|
66
|
-
labels: [
|
|
67
|
-
"E",
|
|
68
|
-
"W"
|
|
69
|
-
],
|
|
70
|
-
precision: precision,
|
|
71
|
-
format: format
|
|
72
|
-
})
|
|
73
|
-
])
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
function $4fae2d573d730db8$export$58bfb4f6ec5aa58d(props) {
|
|
77
|
-
/** Renders an elevation value in meters and a parenthetical conversion to feet. */ const { elevation: elevation, className: className, includeFeet: includeFeet = true } = props;
|
|
78
|
-
if (elevation == null) return null;
|
|
79
|
-
return (0, $2Lirf$macrostrathyper)("div.elevation", {
|
|
80
|
-
className: className
|
|
81
|
-
}, [
|
|
82
|
-
(0, $2Lirf$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
|
|
83
|
-
value: elevation,
|
|
84
|
-
unit: "m"
|
|
85
|
-
}),
|
|
86
|
-
(0, $2Lirf$macrostrathyper).if(includeFeet)("span.secondary", [
|
|
87
|
-
" (",
|
|
88
|
-
(0, $2Lirf$macrostrathyper)($4fae2d573d730db8$export$716098b85fd0efdf, {
|
|
89
|
-
value: (0, $2Lirf$metersToFeet)(elevation),
|
|
90
|
-
unit: "ft"
|
|
91
|
-
}),
|
|
92
|
-
")"
|
|
93
|
-
])
|
|
94
|
-
]);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
export {$4fae2d573d730db8$export$716098b85fd0efdf as ValueWithUnit, $4fae2d573d730db8$export$af8082af0bea3eb1 as DegreeCoord, $4fae2d573d730db8$export$f195b3550849e560 as LngLatCoords, $4fae2d573d730db8$export$58bfb4f6ec5aa58d as Elevation, $bb5f34705d9c44bc$export$8391d1abb505ffb3 as applyMapPositionToHash, $bb5f34705d9c44bc$export$80abf1cbcc3918e4 as getMapPositionForHash};
|
|
99
|
-
//# sourceMappingURL=map-interface.3ef9d0ae.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;AAWO,SAAS,0CAAc,KAAK;IACjC,MAAM,SAAE,KAAK,QAAE,IAAI,EAAE,GAAG;IACxB,OAAO,CAAA,GAAA,sBAAA,EAAE,wBAAwB;QAC/B,CAAA,GAAA,sBAAA,EAAE,cAAc;YAAC;SAAM;QACvB,CAAA,GAAA,sBAAA,EAAE,eAAe;YAAC;SAAI;QACtB,CAAA,GAAA,sBAAA,EAAE,aAAa;YAAC;SAAK;KACtB;AACH;AAEO,SAAS,0CAAY,KAAK;IAC/B,MAAM,SAAE,KAAK,UAAE,MAAM,aAAE,YAAY,WAAG,SAAS,CAAA,GAAA,yCAAU,GAAG,GAAG;IAC/D,MAAM,YAAY,QAAQ,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;IAEnD,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAe;QACtB,OAAO,OAAO,KAAK,GAAG,CAAC,QAAQ,aAAa;QAC5C,MAAM;IACR;AACF;AAcO,SAAS,0CAAa,KAAkB;IAC7C,qCAAqC,GACrC,MAAM,YAAE,QAAQ,aAAE,SAAS,aAAE,SAAS,QAAE,IAAI,EAAE,GAAG;IACjD,IAAI,UAAE,MAAM,EAAE,GAAG;IACjB,IAAI,YAAY,MACd,OAAO;IAGT,IAAI;IACJ,IAAI;IACJ,IAAI,MAAM,OAAO,CAAC,WAChB,CAAC,KAAK,IAAI,GAAG;SACR,IAAI,oBAAoB,CAAA,GAAA,aAAK,GAClC,CAAC,KAAK,IAAI,GAAG,SAAS,OAAO;SACxB,IAAI,SAAS,UAAU;QAC5B,MAAM,SAAS,GAAG;QAClB,MAAM,SAAS,GAAG;IACpB,OAAO,IAAI,SAAS,UAAU;QAC5B,MAAM,SAAS,GAAG;QAClB,MAAM,SAAS,GAAG;IACpB;IAEA,IAAI,QAAQ,QAAQ,UAAU,QAAQ,aAAa,MACjD,SAAS,CAAC,KAAK,IAAM,CAAA,GAAA,8BAAsB,EAAE,KAAK;IAGpD,OAAO,CAAA,GAAA,sBAAA,EAAE,wBAAwB;mBAAE;IAAU,GAAG;QAC9C,CAAA,GAAA,sBAAA,EAAE,eAAe;YACf,CAAA,GAAA,sBAAA,EAAE,2CAAa;gBACb,OAAO;gBACP,QAAQ;oBAAC;oBAAK;iBAAI;2BAClB;wBACA;YACF;YACA;YACA,CAAA,GAAA,sBAAA,EAAE,2CAAa;gBACb,OAAO,CAAA,GAAA,mBAAW,EAAE;gBACpB,QAAQ;oBAAC;oBAAK;iBAAI;2BAClB;wBACA;YACF;SACD;KACF;AACH;AAEO,SAAS,0CAAU,KAAK;IAC7B,iFAAiF,GACjF,MAAM,aAAE,SAAS,aAAE,SAAS,eAAE,cAAc,MAAM,GAAG;IACrD,IAAI,aAAa,MAAM,OAAO;IAC9B,OAAO,CAAA,GAAA,sBAAA,EAAE,iBAAiB;mBAAE;IAAU,GAAG;QACvC,CAAA,GAAA,sBAAA,EAAE,2CAAe;YAAE,OAAO;YAAW,MAAM;QAAI;QAC/C,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,aAAa,kBAAkB;YAClC;YACA,CAAA,GAAA,sBAAA,EAAE,2CAAe;gBAAE,OAAO,CAAA,GAAA,mBAAW,EAAE;gBAAY,MAAM;YAAK;YAC9D;SACD;KACF;AACH","sources":["packages/map-interface/src/location-info/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n formatCoordForZoomLevel,\n metersToFeet,\n normalizeLng,\n} from \"@macrostrat/mapbox-utils\";\nimport { formatValue } from \"./utils\";\nimport { LngLat } from \"mapbox-gl\";\n\nexport * from \"./hash-string\";\n\nexport function ValueWithUnit(props) {\n const { value, unit } = props;\n return h(\"span.value-with-unit\", [\n h(\"span.value\", [value]),\n h(\"span.spacer\", [\" \"]),\n h(\"span.unit\", [unit]),\n ]);\n}\n\nexport function DegreeCoord(props) {\n const { value, labels, precision = 3, format = formatValue } = props;\n const direction = value < 0 ? labels[1] : labels[0];\n\n return h(ValueWithUnit, {\n value: format(Math.abs(value), precision) + \"°\",\n unit: direction,\n });\n}\n\nexport interface LngLatProps {\n /** Map position */\n position: mapboxgl.LngLatLike | null;\n className?: string;\n /** Zoom level (used to infer coordinate rounding if provided) */\n zoom?: number;\n /** Number of decimal places to round coordinates to */\n precision?: number;\n /** Function to format coordinates */\n format?: (val: number, precision: number) => string;\n}\n\nexport function LngLatCoords(props: LngLatProps) {\n /** Formatted geographic coordinates */\n const { position, className, precision, zoom } = props;\n let { format } = props;\n if (position == null) {\n return null;\n }\n\n let lat: number;\n let lng: number;\n if (Array.isArray(position)) {\n [lng, lat] = position;\n } else if (position instanceof LngLat) {\n [lng, lat] = position.toArray();\n } else if (\"lng\" in position) {\n lat = position.lat;\n lng = position.lng;\n } else if (\"lon\" in position) {\n lat = position.lat;\n lng = position.lon;\n }\n\n if (zoom != null && format == null && precision == null) {\n format = (val, _) => formatCoordForZoomLevel(val, zoom);\n }\n\n return h(\"div.lnglat-container\", { className }, [\n h(\"span.lnglat\", [\n h(DegreeCoord, {\n value: lat,\n labels: [\"N\", \"S\"],\n precision,\n format,\n }),\n \", \",\n h(DegreeCoord, {\n value: normalizeLng(lng),\n labels: [\"E\", \"W\"],\n precision,\n format,\n }),\n ]),\n ]);\n}\n\nexport function Elevation(props) {\n /** Renders an elevation value in meters and a parenthetical conversion to feet. */\n const { elevation, className, includeFeet = true } = props;\n if (elevation == null) return null;\n return h(\"div.elevation\", { className }, [\n h(ValueWithUnit, { value: elevation, unit: \"m\" }),\n h.if(includeFeet)(\"span.secondary\", [\n \" (\",\n h(ValueWithUnit, { value: metersToFeet(elevation), unit: \"ft\" }),\n \")\",\n ]),\n ]);\n}\n"],"names":[],"version":3,"file":"map-interface.3ef9d0ae.js.map"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import $jc9RV$react, {useState as $jc9RV$useState} from "react";
|
|
2
|
-
import {Button as $jc9RV$Button, Collapse as $jc9RV$Collapse} from "@blueprintjs/core";
|
|
3
|
-
import {AuthorList as $jc9RV$AuthorList} from "@macrostrat/ui-components";
|
|
4
|
-
import $jc9RV$macrostrathyper from "@macrostrat/hyper";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
function $a335d16e994fabd4$var$Article(props) {
|
|
11
|
-
const [expanded, setExpanded] = (0, $jc9RV$useState)(false);
|
|
12
|
-
const { data: data } = props;
|
|
13
|
-
const toggleExpand = ()=>{
|
|
14
|
-
setExpanded(!expanded);
|
|
15
|
-
};
|
|
16
|
-
// Attempt to pull out only the year and not the whole date
|
|
17
|
-
let year;
|
|
18
|
-
try {
|
|
19
|
-
year = data.coverDate ? data.coverDate.match(/\d{4}/)[0] : "";
|
|
20
|
-
} catch (e) {
|
|
21
|
-
year = "";
|
|
22
|
-
}
|
|
23
|
-
const authors = data?.authors?.split("; ") ?? [];
|
|
24
|
-
const authorList = authors.length > 0 ? (0, $jc9RV$macrostrathyper)((0, $jc9RV$AuthorList), {
|
|
25
|
-
names: authors
|
|
26
|
-
}) : "Unknown";
|
|
27
|
-
const iconName = expanded ? "chevron-up" : "chevron-down";
|
|
28
|
-
return /*#__PURE__*/ (0, $jc9RV$react).createElement("div", {
|
|
29
|
-
className: "article"
|
|
30
|
-
}, /*#__PURE__*/ (0, $jc9RV$react).createElement("div", {
|
|
31
|
-
className: "article-title"
|
|
32
|
-
}, /*#__PURE__*/ (0, $jc9RV$react).createElement("p", {
|
|
33
|
-
className: "article-author"
|
|
34
|
-
}, authorList, ", ", year.length ? " " + year + ". " : ""), /*#__PURE__*/ (0, $jc9RV$react).createElement("a", {
|
|
35
|
-
href: data.URL,
|
|
36
|
-
target: "_blank",
|
|
37
|
-
className: "title-link"
|
|
38
|
-
}, /*#__PURE__*/ (0, $jc9RV$react).createElement("strong", null, data.title, ".")), /*#__PURE__*/ (0, $jc9RV$react).createElement("span", null, /*#__PURE__*/ (0, $jc9RV$react).createElement((0, $jc9RV$Button), {
|
|
39
|
-
onClick: toggleExpand,
|
|
40
|
-
minimal: true,
|
|
41
|
-
rightIcon: iconName,
|
|
42
|
-
className: "flat-btn"
|
|
43
|
-
}))), /*#__PURE__*/ (0, $jc9RV$react).createElement((0, $jc9RV$Collapse), {
|
|
44
|
-
isOpen: expanded
|
|
45
|
-
}, /*#__PURE__*/ (0, $jc9RV$react).createElement("span", {
|
|
46
|
-
className: expanded ? "" : "hidden"
|
|
47
|
-
}, /*#__PURE__*/ (0, $jc9RV$react).createElement("div", {
|
|
48
|
-
className: "quotes"
|
|
49
|
-
}, data.highlight.map((snippet, si)=>{
|
|
50
|
-
let text = snippet;
|
|
51
|
-
return /*#__PURE__*/ (0, $jc9RV$react).createElement("p", {
|
|
52
|
-
className: "gdd-snippet",
|
|
53
|
-
key: si,
|
|
54
|
-
dangerouslySetInnerHTML: {
|
|
55
|
-
__html: `...${snippet}...`
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
})))));
|
|
59
|
-
}
|
|
60
|
-
var $a335d16e994fabd4$export$2e2bcd8739ae039 = $a335d16e994fabd4$var$Article;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
export {$a335d16e994fabd4$export$2e2bcd8739ae039 as default};
|
|
64
|
-
//# sourceMappingURL=map-interface.767fdc4a.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;AAKA,SAAS,8BAAQ,KAAK;IACpB,MAAM,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,eAAO,EAAE;IACzC,MAAM,QAAE,IAAI,EAAE,GAAG;IAEjB,MAAM,eAAe;QACnB,YAAY,CAAC;IACf;IAEA,2DAA2D;IAC3D,IAAI;IACJ,IAAI;QACF,OAAO,KAAK,SAAS,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG;IAC7D,EAAE,OAAO,GAAG;QACV,OAAO;IACT;IAEA,MAAM,UAAU,MAAM,SAAS,MAAM,SAAS,EAAE;IAEhD,MAAM,aACJ,QAAQ,MAAM,GAAG,IAAI,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,iBAAS,GAAG;QAAE,OAAO;IAAQ,KAAK;IAE3D,MAAM,WAAW,WAAW,eAAe;IAE3C,qBACE,gCAAC;QAAI,WAAU;qBACb,gCAAC;QAAI,WAAU;qBACb,gCAAC;QAAE,WAAU;OACV,YAAW,MAAG,KAAK,MAAM,GAAG,MAAM,OAAO,OAAO,mBAEnD,gCAAC;QAAE,MAAM,KAAK,GAAG;QAAE,QAAO;QAAS,WAAU;qBAC3C,gCAAC,gBAAQ,KAAK,KAAK,EAAC,qBAGtB,gCAAC,4BACC,gCAAC,CAAA,GAAA,aAAK;QACJ,SAAS;QACT,SAAS;QACT,WAAW;QACX,WAAU;wBAIhB,gCAAC,CAAA,GAAA,eAAO;QAAE,QAAQ;qBAChB,gCAAC;QAAK,WAAW,WAAW,KAAK;qBAC/B,gCAAC;QAAI,WAAU;OACZ,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS;QAC5B,IAAI,OAAO;QAEX,qBACE,gCAAC;YACC,WAAU;YACV,KAAK;YACL,yBAAyB;gBAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC;YAAC;;IAG5D;AAMZ;IAEA,2CAAe","sources":["packages/map-interface/src/location-details/xdd-panel/Article.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nfunction Article(props) {\n const [expanded, setExpanded] = useState(false);\n const { data } = props;\n\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n\n // Attempt to pull out only the year and not the whole date\n let year;\n try {\n year = data.coverDate ? data.coverDate.match(/\\d{4}/)[0] : \"\";\n } catch (e) {\n year = \"\";\n }\n\n const authors = data?.authors?.split(\"; \") ?? [];\n\n const authorList =\n authors.length > 0 ? h(AuthorList, { names: authors }) : \"Unknown\";\n\n const iconName = expanded ? \"chevron-up\" : \"chevron-down\";\n\n return (\n <div className=\"article\">\n <div className=\"article-title\">\n <p className=\"article-author\">\n {authorList}, {year.length ? \" \" + year + \". \" : \"\"}\n </p>\n <a href={data.URL} target=\"_blank\" className=\"title-link\">\n <strong>{data.title}.</strong>\n </a>\n\n <span>\n <Button\n onClick={toggleExpand}\n minimal={true}\n rightIcon={iconName}\n className=\"flat-btn\"\n ></Button>\n </span>\n </div>\n <Collapse isOpen={expanded}>\n <span className={expanded ? \"\" : \"hidden\"}>\n <div className=\"quotes\">\n {data.highlight.map((snippet, si) => {\n let text = snippet;\n\n return (\n <p\n className=\"gdd-snippet\"\n key={si}\n dangerouslySetInnerHTML={{ __html: `...${snippet}...` }}\n ></p>\n );\n })}\n </div>\n </span>\n </Collapse>\n </div>\n );\n}\n\nexport default Article;\n"],"names":[],"version":3,"file":"map-interface.767fdc4a.js.map"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import $a335d16e994fabd4$export$2e2bcd8739ae039 from "./map-interface.767fdc4a.js";
|
|
2
|
-
import {Divider as $1IQLV$Divider} from "@blueprintjs/core";
|
|
3
|
-
import $1IQLV$macrostrathyper from "@macrostrat/hyper";
|
|
4
|
-
import {SubExpansionPanel as $1IQLV$SubExpansionPanel} from "@macrostrat/map-interface";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
function $587b0b7a9b0c5d08$var$Journal(props) {
|
|
11
|
-
return (0, $1IQLV$macrostrathyper)("div.journal", [
|
|
12
|
-
(0, $1IQLV$macrostrathyper)("div.journal-title", [
|
|
13
|
-
(0, $1IQLV$macrostrathyper)("h2.journal-title-text", [
|
|
14
|
-
props.data.name,
|
|
15
|
-
(0, $1IQLV$macrostrathyper)("small.journal-source", [
|
|
16
|
-
props.data
|
|
17
|
-
])
|
|
18
|
-
])
|
|
19
|
-
]),
|
|
20
|
-
(0, $1IQLV$macrostrathyper)((0, $1IQLV$Divider)),
|
|
21
|
-
props.data.articles.map((article, i)=>{
|
|
22
|
-
return (0, $1IQLV$macrostrathyper)((0, $a335d16e994fabd4$export$2e2bcd8739ae039), {
|
|
23
|
-
key: i,
|
|
24
|
-
data: article
|
|
25
|
-
});
|
|
26
|
-
})
|
|
27
|
-
]);
|
|
28
|
-
}
|
|
29
|
-
// Still up for review
|
|
30
|
-
function $587b0b7a9b0c5d08$var$Journal_(props) {
|
|
31
|
-
const { articles: articles, name: name, publisher: publisher, nestedExpanded: nestedExpanded } = props;
|
|
32
|
-
const helpText = articles[0].pubname;
|
|
33
|
-
return (0, $1IQLV$macrostrathyper)((0, $1IQLV$SubExpansionPanel), {
|
|
34
|
-
title: name,
|
|
35
|
-
helpText: publisher,
|
|
36
|
-
expanded: nestedExpanded
|
|
37
|
-
}, [
|
|
38
|
-
articles.map((article, i)=>{
|
|
39
|
-
return (0, $1IQLV$macrostrathyper)((0, $a335d16e994fabd4$export$2e2bcd8739ae039), {
|
|
40
|
-
key: i,
|
|
41
|
-
data: article
|
|
42
|
-
});
|
|
43
|
-
})
|
|
44
|
-
]);
|
|
45
|
-
}
|
|
46
|
-
var $587b0b7a9b0c5d08$export$2e2bcd8739ae039 = $587b0b7a9b0c5d08$var$Journal_;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export {$587b0b7a9b0c5d08$export$2e2bcd8739ae039 as default};
|
|
50
|
-
//# sourceMappingURL=map-interface.9fac5fa6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;AAMA,SAAS,8BAAQ,KAAK;IACpB,OAAO,CAAA,GAAA,sBAAA,EAAE,eAAe;QACtB,CAAA,GAAA,sBAAA,EAAE,qBAAqB;YACrB,CAAA,GAAA,sBAAA,EAAE,yBAAyB;gBACzB,MAAM,IAAI,CAAC,IAAI;gBACf,CAAA,GAAA,sBAAA,EAAE,wBAAwB;oBAAC,MAAM,IAAI;iBAAC;aACvC;SACF;QACD,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,cAAM;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS;YAChC,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,wCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AACH;AASA,sBAAsB;AACtB,SAAS,+BAAS,KAAmB;IACnC,MAAM,YAAE,QAAQ,QAAE,IAAI,aAAE,SAAS,kBAAE,cAAc,EAAE,GAAG;IAEtD,MAAM,WAAW,QAAQ,CAAC,EAAE,CAAC,OAAO;IAEpC,OAAO,CAAA,GAAA,sBAAA,EACL,CAAA,GAAA,wBAAgB,GAChB;QACE,OAAO;QACP,UAAU;QACV,UAAU;IACZ,GACA;QACE,SAAS,GAAG,CAAC,CAAC,SAAS;YACrB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,wCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AAEL;IAEA,2CAAe","sources":["packages/map-interface/src/location-details/xdd-panel/Journal.tsx"],"sourcesContent":["import Article from \"./Article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\nimport { XDDSnippet } from \"./index\";\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nfunction Journal_(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n\nexport default Journal_;\n"],"names":[],"version":3,"file":"map-interface.9fac5fa6.js.map"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {format as $9NqSy$format} from "d3-format";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const $3e1bd09be8f70c4c$export$97c1b10e131a836d = (0, $9NqSy$format)(".4~f");
|
|
5
|
-
const $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea = (0, $9NqSy$format)(".3~f");
|
|
6
|
-
const $3e1bd09be8f70c4c$export$4c173b1b2f78faf7 = (0, $9NqSy$format)(".2~f");
|
|
7
|
-
const $3e1bd09be8f70c4c$export$e54bbd2c33d17485 = (0, $9NqSy$format)(".1~f");
|
|
8
|
-
const $3e1bd09be8f70c4c$export$bc135f63e2f56fd4 = (0, $9NqSy$format)(".0f");
|
|
9
|
-
function $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c(val, precision = 0) {
|
|
10
|
-
switch(precision){
|
|
11
|
-
case 4:
|
|
12
|
-
return $3e1bd09be8f70c4c$export$97c1b10e131a836d(val);
|
|
13
|
-
case 3:
|
|
14
|
-
return $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea(val);
|
|
15
|
-
case 2:
|
|
16
|
-
return $3e1bd09be8f70c4c$export$4c173b1b2f78faf7(val);
|
|
17
|
-
case 1:
|
|
18
|
-
return $3e1bd09be8f70c4c$export$e54bbd2c33d17485(val);
|
|
19
|
-
case 0:
|
|
20
|
-
return $3e1bd09be8f70c4c$export$bc135f63e2f56fd4(val);
|
|
21
|
-
default:
|
|
22
|
-
return $3e1bd09be8f70c4c$export$97c1b10e131a836d(val);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export {$3e1bd09be8f70c4c$export$97c1b10e131a836d as fmt4, $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea as fmt3, $3e1bd09be8f70c4c$export$4c173b1b2f78faf7 as fmt2, $3e1bd09be8f70c4c$export$e54bbd2c33d17485 as fmt1, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4 as fmtInt, $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c as formatValue};
|
|
28
|
-
//# sourceMappingURL=map-interface.c4fa120d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;AAEO,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAS,CAAA,GAAA,aAAK,EAAE;AAEtB,SAAS,0CAAY,GAAW,EAAE,YAAoB,CAAC;IAC5D,OAAQ;QACN,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAO;QAChB;YACE,OAAO,0CAAK;IAChB;AACF","sources":["packages/map-interface/src/location-info/utils.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport function formatValue(val: number, precision: number = 0): string {\n switch (precision) {\n case 4:\n return fmt4(val);\n case 3:\n return fmt3(val);\n case 2:\n return fmt2(val);\n case 1:\n return fmt1(val);\n case 0:\n return fmtInt(val);\n default:\n return fmt4(val);\n }\n}\n"],"names":[],"version":3,"file":"map-interface.c4fa120d.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAE5B,SAAS,qCAAe,YAAE,QAAQ,UAAE,MAAM,gBAAE,eAAe,OAAO;IAChE,MAAM,aAAa,CAAA,GAAA,oBAAY,EAAE;IAEjC,MAAM,oBAAoB,CAAA,GAAA,iBAAS,EAAE,eAAe;IAEpD,OAAO,wBAAE,yBAAyB;QAChC,wBAAE,CAAA,GAAA,0BAAkB,GAAG;YAAE,UAAU;oBAAU;wBAAQ;QAAW,GAAG,EAAE;QACrE,wBAAE,EAAE,CAAC,qBAAqB,YAAY,MAAM,sCAAgB;YAC1D,UAAU;QACZ;KACD;AACH;AAEA,SAAS,qCAAe,YAAE,QAAQ,YAAE,QAAQ,WAAE,OAAO,EAAE,GAAG,MAAM;IAC9D,MAAM,UAAU,CAAA,GAAA,iBAAS;IAEzB,IAAI,UAAU,CAAC,WAAW,CAAC;IAC3B,IAAI,YAAY,MACd,WAAW,CAAC,IAAI,EAAE,UAAU;IAE9B,WAAW;IAEX,OAAO,wBACL,CAAA,GAAA,aAAK,GACL;QACE,WAAW;QACX,WAAW,wBAAE,CAAA,GAAA,WAAG,GAAG;YAAE,MAAM;YAAQ,MAAM;QAAG;QAC5C,SAAS;QACT,OAAO;QACP;YACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD;gBACE,SAAS,KAAK;6BACZ;oBACA,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;gBACA;YACF,GACA;gBACE,SAAS,KAAK;oBACZ,SAAS;oBACT,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;YACF;QAEJ;QACA,GAAG,IAAI;IACT,GACA,YAAY;AAEhB;AAcO,SAAS,0CAAiB,KAA4B;IAC3D,MAAM,WACJ,OAAO,YACP,QAAQ,UACR,MAAM,QACN,OAAO,cACP,SAAS,0BACT,sBAAsB,eACtB,cAAc,iBACd,QAAQ,aACR,SAAS,EACV,GAAG;IAEJ,IAAI,aAAa;IACjB,IAAI,UAAU,QAAQ,YAAY,MAChC,aAAa,wBAAE,sCAAgB;kBAC7B;gBACA;QACA,cAAc;IAChB;IAGF,OAAO,wBACL,gCACA;QACE,WAAW,CAAA,GAAA,iBAAS,EAAE,WAAW;YAAE,gBAAgB;QAAY;IACjE,GACA;QACE;QACA;QACA,wBAAE;QACF,wBAAE,EAAE,CAAC,YAAY,MAAM,CAAA,GAAA,yCAAW,GAAG;sBACnC;kBACA;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,aAAa,MAAM,CAAA,GAAA,yCAAQ,GAAG;uBACjC;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,WAAW,MAAM,CAAA,GAAA,aAAK,GAAG;YAC5B,SAAS;YACT,MAAM;YACN,SAAS;QACX;KACD;AAEL","sources":["packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":[],"version":3,"file":"map-interface.e20a9bac.js.map"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import {fmt1 as $3e1bd09be8f70c4c$export$e54bbd2c33d17485, fmt2 as $3e1bd09be8f70c4c$export$4c173b1b2f78faf7, fmtInt as $3e1bd09be8f70c4c$export$bc135f63e2f56fd4} from "./map-interface.c4fa120d.js";
|
|
2
|
-
import {formatCoordForZoomLevel as $diowj$formatCoordForZoomLevel} from "@macrostrat/mapbox-utils";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function $bb5f34705d9c44bc$export$8391d1abb505ffb3(args, mapPosition) {
|
|
7
|
-
const pos = mapPosition?.camera;
|
|
8
|
-
if (pos == null) return;
|
|
9
|
-
const zoom = mapPosition.target?.zoom;
|
|
10
|
-
args.x = (0, $diowj$formatCoordForZoomLevel)(pos.lng, zoom);
|
|
11
|
-
args.y = (0, $diowj$formatCoordForZoomLevel)(pos.lat, zoom);
|
|
12
|
-
if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) args.z = (0, $3e1bd09be8f70c4c$export$e54bbd2c33d17485)(zoom);
|
|
13
|
-
else if (pos.altitude != null) {
|
|
14
|
-
if (pos.altitude > 5000) args.z = (0, $3e1bd09be8f70c4c$export$4c173b1b2f78faf7)(pos.altitude / 1000) + "km";
|
|
15
|
-
else args.z = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(pos.altitude) + "m";
|
|
16
|
-
}
|
|
17
|
-
if (pos.bearing != 0) {
|
|
18
|
-
let az = pos.bearing;
|
|
19
|
-
if (az < 0) az += 360;
|
|
20
|
-
args.a = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(az);
|
|
21
|
-
}
|
|
22
|
-
if (pos.pitch != 0) args.e = (0, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4)(pos.pitch);
|
|
23
|
-
}
|
|
24
|
-
function $bb5f34705d9c44bc$var$_fmt(x) {
|
|
25
|
-
if (Array.isArray(x)) x = x[0];
|
|
26
|
-
return parseFloat(x.toString());
|
|
27
|
-
}
|
|
28
|
-
function $bb5f34705d9c44bc$export$80abf1cbcc3918e4(hashData, centerPosition) {
|
|
29
|
-
const { x: x = centerPosition?.lng ?? 0, y: y = centerPosition?.lat ?? 0, z: // Different default for zoom depending on whether we have a marker
|
|
30
|
-
z = centerPosition != null ? 7 : 2, a: a = 0, e: e = 0 } = hashData;
|
|
31
|
-
const lng = $bb5f34705d9c44bc$var$_fmt(x);
|
|
32
|
-
const lat = $bb5f34705d9c44bc$var$_fmt(y);
|
|
33
|
-
let altitude = null;
|
|
34
|
-
let zoom = null;
|
|
35
|
-
const _z = z.toString();
|
|
36
|
-
if (_z.endsWith("km")) altitude = $bb5f34705d9c44bc$var$_fmt(_z.substring(0, _z.length - 2)) * 1000;
|
|
37
|
-
else if (_z.endsWith("m")) altitude = $bb5f34705d9c44bc$var$_fmt(_z.substring(0, _z.length - 1));
|
|
38
|
-
else zoom = $bb5f34705d9c44bc$var$_fmt(z);
|
|
39
|
-
const bearing = $bb5f34705d9c44bc$var$_fmt(a);
|
|
40
|
-
const pitch = $bb5f34705d9c44bc$var$_fmt(e);
|
|
41
|
-
let target = undefined;
|
|
42
|
-
if (bearing == 0 && pitch == 0 && zoom != null) target = {
|
|
43
|
-
lat: lat,
|
|
44
|
-
lng: lng,
|
|
45
|
-
zoom: zoom
|
|
46
|
-
};
|
|
47
|
-
return {
|
|
48
|
-
camera: {
|
|
49
|
-
lng: $bb5f34705d9c44bc$var$_fmt(x),
|
|
50
|
-
lat: $bb5f34705d9c44bc$var$_fmt(y),
|
|
51
|
-
altitude: altitude,
|
|
52
|
-
bearing: $bb5f34705d9c44bc$var$_fmt(a),
|
|
53
|
-
pitch: $bb5f34705d9c44bc$var$_fmt(e)
|
|
54
|
-
},
|
|
55
|
-
target: target
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
export {$bb5f34705d9c44bc$export$8391d1abb505ffb3 as applyMapPositionToHash, $bb5f34705d9c44bc$export$80abf1cbcc3918e4 as getMapPositionForHash};
|
|
61
|
-
//# sourceMappingURL=map-interface.e50c290f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAC1C,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAE1C,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,MAChD,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,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,yCAAK,EAAE;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,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":"map-interface.e50c290f.js.map"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require("./map-interface.e0032d67.js");var $bcm1k$macrostratmapboxutils=require("@macrostrat/mapbox-utils");function $parcel$export(e,r,t,a){Object.defineProperty(e,r,{get:t,set:a,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var t={id:e,exports:{}};return $parcel$modules[e]=t,r.call(t.exports,t,t.exports),t.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"applyMapPositionToHash",()=>$b923cd2c0e906b00$export$8391d1abb505ffb3),$parcel$export(module.exports,"getMapPositionForHash",()=>$b923cd2c0e906b00$export$80abf1cbcc3918e4);var $h1r1l=parcelRequire("h1r1l");function $b923cd2c0e906b00$export$8391d1abb505ffb3(e,r){let t=r?.camera;if(null==t)return;let a=r.target?.zoom;if(e.x=(0,$bcm1k$macrostratmapboxutils.formatCoordForZoomLevel)(t.lng,a),e.y=(0,$bcm1k$macrostratmapboxutils.formatCoordForZoomLevel)(t.lat,a),0==t.bearing&&0==t.pitch&&null!=a?e.z=(0,$h1r1l.fmt1)(a):null!=t.altitude&&(t.altitude>5e3?e.z=(0,$h1r1l.fmt2)(t.altitude/1e3)+"km":e.z=(0,$h1r1l.fmtInt)(t.altitude)+"m"),0!=t.bearing){let r=t.bearing;r<0&&(r+=360),e.a=(0,$h1r1l.fmtInt)(r)}0!=t.pitch&&(e.e=(0,$h1r1l.fmtInt)(t.pitch))}function $b923cd2c0e906b00$var$_fmt(e){return Array.isArray(e)&&(e=e[0]),parseFloat(e.toString())}function $b923cd2c0e906b00$export$80abf1cbcc3918e4(e,r){let t,{x:a=r?.lng??0,y:l=r?.lat??0,z:$=null!=r?7:2,a:c=0,e:o=0}=e,i=$b923cd2c0e906b00$var$_fmt(a),b=$b923cd2c0e906b00$var$_fmt(l),n=null,p=null,m=$.toString();m.endsWith("km")?n=1e3*$b923cd2c0e906b00$var$_fmt(m.substring(0,m.length-2)):m.endsWith("m")?n=$b923cd2c0e906b00$var$_fmt(m.substring(0,m.length-1)):p=$b923cd2c0e906b00$var$_fmt($);let u=$b923cd2c0e906b00$var$_fmt(c),s=$b923cd2c0e906b00$var$_fmt(o);return 0==u&&0==s&&null!=p&&(t={lat:b,lng:i,zoom:p}),{camera:{lng:$b923cd2c0e906b00$var$_fmt(a),lat:$b923cd2c0e906b00$var$_fmt(l),altitude:n,bearing:$b923cd2c0e906b00$var$_fmt(c),pitch:$b923cd2c0e906b00$var$_fmt(o)},target:t}}
|
|
2
|
-
//# sourceMappingURL=map-interface.42a4b05a.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,Q,gD,I,6B,Q,4B,S,e,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,yB,I,2C,e,O,O,C,wB,I,2C,I,O,c,SCgBO,SAAS,0CACd,CAAwB,CACxB,CAA+B,EAE/B,IAAM,EAAM,GAAa,OACzB,GAAI,AAAO,MAAP,EAAa,OACjB,IAAM,EAAO,EAAY,MAAM,EAAE,KAcjC,GAZA,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,6BAAA,uBAAsB,AAAtB,EAAwB,EAAI,GAAG,CAAE,GAC1C,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,6BAAA,uBAAsB,AAAtB,EAAwB,EAAI,GAAG,CAAE,GAEtC,AAAe,GAAf,EAAI,OAAO,EAAS,AAAa,GAAb,EAAI,KAAK,EAAS,AAAQ,MAAR,EACxC,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,OAAA,IAAG,AAAH,EAAK,GACW,MAAhB,EAAI,QAAQ,GACjB,EAAI,QAAQ,CAAG,IACjB,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,OAAA,IAAG,AAAH,EAAK,EAAI,QAAQ,CAAG,KAAQ,KAErC,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,OAAA,MAAK,AAAL,EAAO,EAAI,QAAQ,EAAI,KAGhC,AAAe,GAAf,EAAI,OAAO,CAAO,CACpB,IAAI,EAAK,EAAI,OAAO,AAChB,CAAA,EAAK,GAAG,CAAA,GAAM,GAAlB,EACA,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,OAAA,MAAK,AAAL,EAAO,EAClB,CACI,AAAa,GAAb,EAAI,KAAK,EACX,CAAA,EAAK,CAAC,CAAG,AAAA,CAAA,EAAA,OAAA,MAAK,AAAL,EAAO,EAAI,KAAK,CAAA,CAE7B,CAEA,SAAS,2BAAK,CAA6B,EAIzC,OAHI,MAAM,OAAO,CAAC,IAChB,CAAA,EAAI,CAAC,CAAC,EAAE,AAAF,EAED,WAAW,EAAE,QAAQ,GAC9B,CAEO,SAAS,0CACd,CAA6B,CAC7B,CAA6B,EAE7B,IAyBI,EAzBE,CAAA,EACJ,EAAI,GAAgB,KAAO,CAAA,CAAA,EAC3B,EAAI,GAAgB,KAAO,CAAA,CAAA,EAE3B,EAAI,AAAkB,MAAlB,EAAyB,EAAI,CAAA,CAAA,EACjC,EAAI,CAAA,CAAA,EACJ,EAAI,CAAA,CACL,CAAG,EAEE,EAAM,2BAAK,GACX,EAAM,2BAAK,GAEb,EAAW,KACX,EAAO,KACL,EAAK,EAAE,QAAQ,GACjB,EAAG,QAAQ,CAAC,MACd,EAAW,AAAuC,IAAvC,2BAAK,EAAG,SAAS,CAAC,EAAG,EAAG,MAAM,CAAG,IACnC,EAAG,QAAQ,CAAC,KACrB,EAAW,2BAAK,EAAG,SAAS,CAAC,EAAG,EAAG,MAAM,CAAG,IAE5C,EAAO,2BAAK,GAEd,IAAM,EAAU,2BAAK,GACf,EAAQ,2BAAK,GAWnB,OARI,AAAW,GAAX,GAAgB,AAAS,GAAT,GAAc,AAAQ,MAAR,GAChC,CAAA,EAAS,CACP,IAAA,EACA,IAAA,EACA,KAAA,CACF,CAAA,EAGK,CACL,OAAQ,CACN,IAAK,2BAAK,GACV,IAAK,2BAAK,GACV,SAAA,EACA,QAAS,2BAAK,GACd,MAAO,2BAAK,EACd,EACA,OAAA,CACF,CACF","sources":["<anon>","packages/map-interface/src/location-info/hash-string.ts"],"sourcesContent":["require(\"./map-interface.e0032d67.js\");\nvar $bcm1k$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n$parcel$export(module.exports, \"applyMapPositionToHash\", () => $b923cd2c0e906b00$export$8391d1abb505ffb3);\n$parcel$export(module.exports, \"getMapPositionForHash\", () => $b923cd2c0e906b00$export$80abf1cbcc3918e4);\n\n\nvar $h1r1l = parcelRequire(\"h1r1l\");\nfunction $b923cd2c0e906b00$export$8391d1abb505ffb3(args, mapPosition) {\n const pos = mapPosition?.camera;\n if (pos == null) return;\n const zoom = mapPosition.target?.zoom;\n args.x = (0, $bcm1k$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lng, zoom);\n args.y = (0, $bcm1k$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lat, zoom);\n if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) args.z = (0, $h1r1l.fmt1)(zoom);\n else if (pos.altitude != null) {\n if (pos.altitude > 5000) args.z = (0, $h1r1l.fmt2)(pos.altitude / 1000) + \"km\";\n else args.z = (0, $h1r1l.fmtInt)(pos.altitude) + \"m\";\n }\n if (pos.bearing != 0) {\n let az = pos.bearing;\n if (az < 0) az += 360;\n args.a = (0, $h1r1l.fmtInt)(az);\n }\n if (pos.pitch != 0) args.e = (0, $h1r1l.fmtInt)(pos.pitch);\n}\nfunction $b923cd2c0e906b00$var$_fmt(x) {\n if (Array.isArray(x)) x = x[0];\n return parseFloat(x.toString());\n}\nfunction $b923cd2c0e906b00$export$80abf1cbcc3918e4(hashData, centerPosition) {\n const { x: x = centerPosition?.lng ?? 0, y: y = centerPosition?.lat ?? 0, z: // Different default for zoom depending on whether we have a marker\n z = centerPosition != null ? 7 : 2, a: a = 0, e: e = 0 } = hashData;\n const lng = $b923cd2c0e906b00$var$_fmt(x);\n const lat = $b923cd2c0e906b00$var$_fmt(y);\n let altitude = null;\n let zoom = null;\n const _z = z.toString();\n if (_z.endsWith(\"km\")) altitude = $b923cd2c0e906b00$var$_fmt(_z.substring(0, _z.length - 2)) * 1000;\n else if (_z.endsWith(\"m\")) altitude = $b923cd2c0e906b00$var$_fmt(_z.substring(0, _z.length - 1));\n else zoom = $b923cd2c0e906b00$var$_fmt(z);\n const bearing = $b923cd2c0e906b00$var$_fmt(a);\n const pitch = $b923cd2c0e906b00$var$_fmt(e);\n let target = undefined;\n if (bearing == 0 && pitch == 0 && zoom != null) target = {\n lat: lat,\n lng: lng,\n zoom: zoom\n };\n return {\n camera: {\n lng: $b923cd2c0e906b00$var$_fmt(x),\n lat: $b923cd2c0e906b00$var$_fmt(y),\n altitude: altitude,\n bearing: $b923cd2c0e906b00$var$_fmt(a),\n pitch: $b923cd2c0e906b00$var$_fmt(e)\n },\n target: target\n };\n}\n\n\n//# sourceMappingURL=map-interface.42a4b05a.js.map\n","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":["require","$bcm1k$macrostratmapboxutils","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$b923cd2c0e906b00$export$8391d1abb505ffb3","$b923cd2c0e906b00$export$80abf1cbcc3918e4","$h1r1l","args","mapPosition","pos","camera","zoom","target","x","formatCoordForZoomLevel","lng","y","lat","bearing","pitch","z","fmt1","altitude","fmt2","fmtInt","az","a","$b923cd2c0e906b00$var$_fmt","Array","isArray","parseFloat","toString","hashData","centerPosition","_z","endsWith","substring","length"],"version":3,"file":"map-interface.42a4b05a.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require("./map-interface.9e6751ac.js");var $9Sepp$blueprintjscore=require("@blueprintjs/core"),$9Sepp$macrostrathyper=require("@macrostrat/hyper"),$9Sepp$macrostratmapinterface=require("@macrostrat/map-interface");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register,$9NWnl=parcelRequire("9NWnl");function $eb1cce412d869334$var$Journal(e){return $parcel$interopDefault($9Sepp$macrostrathyper)("div.journal",[$parcel$interopDefault($9Sepp$macrostrathyper)("div.journal-title",[$parcel$interopDefault($9Sepp$macrostrathyper)("h2.journal-title-text",[e.data.name,$parcel$interopDefault($9Sepp$macrostrathyper)("small.journal-source",[e.data])])]),$parcel$interopDefault($9Sepp$macrostrathyper)($9Sepp$blueprintjscore.Divider),e.data.articles.map((e,r)=>$parcel$interopDefault($9Sepp$macrostrathyper)($9NWnl.default,{key:r,data:e}))])}function $eb1cce412d869334$var$Journal_(e){let{articles:r,name:a,publisher:t,nestedExpanded:p}=e;return r[0].pubname,$parcel$interopDefault($9Sepp$macrostrathyper)($9Sepp$macrostratmapinterface.SubExpansionPanel,{title:a,helpText:t,expanded:p},[r.map((e,r)=>$parcel$interopDefault($9Sepp$macrostrathyper)($9NWnl.default,{key:r,data:e}))])}var $eb1cce412d869334$export$2e2bcd8739ae039=$eb1cce412d869334$var$Journal_;
|
|
2
|
-
//# sourceMappingURL=map-interface.48262cbb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,Q,gD,I,uB,Q,qB,uB,Q,qB,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,SCMA,SAAS,8BAAQ,CAAK,EACpB,OAAO,AAAA,uBAAA,wBAAE,cAAe,CACtB,AAAA,uBAAA,wBAAE,oBAAqB,CACrB,AAAA,uBAAA,wBAAE,wBAAyB,CACzB,EAAM,IAAI,CAAC,IAAI,CACf,AAAA,uBAAA,wBAAE,uBAAwB,CAAC,EAAM,IAAI,CAAC,EACvC,EACF,EACD,AAAA,uBAAA,wBAAE,uBAAA,OAAM,EACR,EAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAS,IACzB,AAAA,uBAAA,wBAAE,OAAA,OAAM,CAAG,CAAE,IAAK,EAAG,KAAM,CAAQ,IAE7C,CACH,CAUA,SAAS,+BAAS,CAAmB,EACnC,GAAM,CAAA,SAAE,CAAQ,CAAA,KAAE,CAAI,CAAA,UAAE,CAAS,CAAA,eAAE,CAAc,CAAE,CAAG,EAItD,OAFiB,CAAQ,CAAC,EAAE,CAAC,OAAO,CAE7B,AAAA,uBAAA,wBACL,8BAAA,iBAAgB,CAChB,CACE,MAAO,EACP,SAAU,EACV,SAAU,CACZ,EACA,CACE,EAAS,GAAG,CAAC,CAAC,EAAS,IACd,AAAA,uBAAA,wBAAE,OAAA,OAAM,CAAG,CAAE,IAAK,EAAG,KAAM,CAAQ,IAE7C,CAEL,CAEA,IAAA,yCAAe","sources":["<anon>","packages/map-interface/src/location-details/xdd-panel/Journal.tsx"],"sourcesContent":["require(\"./map-interface.9e6751ac.js\");\nvar $9Sepp$blueprintjscore = require(\"@blueprintjs/core\");\nvar $9Sepp$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $9Sepp$macrostratmapinterface = require(\"@macrostrat/map-interface\");\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\nvar $9NWnl = parcelRequire(\"9NWnl\");\n\n\n\nfunction $eb1cce412d869334$var$Journal(props) {\n return (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))(\"div.journal\", [\n (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))(\"div.journal-title\", [\n (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))(\"h2.journal-title-text\", [\n props.data.name,\n (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))(\"small.journal-source\", [\n props.data\n ])\n ])\n ]),\n (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))((0, $9Sepp$blueprintjscore.Divider)),\n props.data.articles.map((article, i)=>{\n return (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))((0, $9NWnl.default), {\n key: i,\n data: article\n });\n })\n ]);\n}\n// Still up for review\nfunction $eb1cce412d869334$var$Journal_(props) {\n const { articles: articles, name: name, publisher: publisher, nestedExpanded: nestedExpanded } = props;\n const helpText = articles[0].pubname;\n return (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))((0, $9Sepp$macrostratmapinterface.SubExpansionPanel), {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded\n }, [\n articles.map((article, i)=>{\n return (0, ($parcel$interopDefault($9Sepp$macrostrathyper)))((0, $9NWnl.default), {\n key: i,\n data: article\n });\n })\n ]);\n}\nvar $eb1cce412d869334$export$2e2bcd8739ae039 = $eb1cce412d869334$var$Journal_;\n\n\n//# sourceMappingURL=map-interface.48262cbb.js.map\n","import Article from \"./Article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\nimport { XDDSnippet } from \"./index\";\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nfunction Journal_(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n\nexport default Journal_;\n"],"names":["require","$9Sepp$blueprintjscore","$9Sepp$macrostrathyper","$9Sepp$macrostratmapinterface","$parcel$interopDefault","a","__esModule","default","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$9NWnl","$eb1cce412d869334$var$Journal","props","data","name","Divider","articles","map","article","i","key","$eb1cce412d869334$var$Journal_","publisher","nestedExpanded","pubname","SubExpansionPanel","title","helpText","expanded","$eb1cce412d869334$export$2e2bcd8739ae039"],"version":3,"file":"map-interface.48262cbb.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require("./map-interface.1a5eecac.js"),require("./map-interface.d92b296e.js");var $9HnAS$blueprintjscore=require("@blueprintjs/core"),$9HnAS$macrostrathyper=require("@macrostrat/hyper"),$9HnAS$macrostratuicomponents=require("@macrostrat/ui-components"),$9HnAS$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$9HnAS$classnames=require("classnames"),$9HnAS$macrostratmapboxutils=require("@macrostrat/mapbox-utils");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var a=$parcel$inits[e];delete $parcel$inits[e];var r={id:e,exports:{}};return $parcel$modules[e]=r,a.call(r.exports,r,r.exports),r.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register,$2UJTP=parcelRequire("2UJTP"),$66CcX=parcelRequire("66CcX");let $1a913554a5c0869b$var$h=$parcel$interopDefault($9HnAS$macrostrathyper).styled($parcel$interopDefault($2UJTP));function $1a913554a5c0869b$var$PositionButton({position:e,bounds:a,showCopyLink:r=!1}){let o=(0,$9HnAS$macrostratmapboxreact.useFocusState)(e),t=(0,$9HnAS$macrostratmapboxutils.isCentered)(o)&&r;return $1a913554a5c0869b$var$h("div.position-controls",[$1a913554a5c0869b$var$h($9HnAS$macrostratmapboxreact.LocationFocusButton,{location:e,bounds:a,focusState:o},[]),$1a913554a5c0869b$var$h.if(t&&null!=e)($1a913554a5c0869b$var$CopyLinkButton,{itemName:"position"})])}function $1a913554a5c0869b$var$CopyLinkButton({itemName:e,children:a,onClick:r,...o}){let t=(0,$9HnAS$macrostratuicomponents.useToaster)(),n="Copied link";return null!=e&&(n+=` to ${e}`),n+="!",$1a913554a5c0869b$var$h($9HnAS$blueprintjscore.Button,{className:"copy-link-button",rightIcon:$1a913554a5c0869b$var$h($9HnAS$blueprintjscore.Icon,{icon:"link",size:12}),minimal:!0,small:!0,onClick(){navigator.clipboard.writeText(window.location.href).then(()=>{t?.show({message:n,intent:"success",icon:"clipboard",timeout:1e3}),r?.()},()=>{t?.show({message:"Failed to copy link",intent:"danger",icon:"error",timeout:1e3})})},...o},a??"Copy link")}function $1a913554a5c0869b$export$e9ff14c4822c2e8c(e){let{onClose:a,position:r,bounds:o,zoom:t=7,elevation:n,showCopyPositionButton:i,fixedHeight:c=!1,children:$,className:l}=e,s=null;return(null!=o||null!=r)&&(s=$1a913554a5c0869b$var$h($1a913554a5c0869b$var$PositionButton,{position:r,bounds:o,showCopyLink:i})),$1a913554a5c0869b$var$h("header.location-panel-header",{className:$parcel$interopDefault($9HnAS$classnames)(l,{"fixed-height":c})},[s,$,$1a913554a5c0869b$var$h("div.spacer"),$1a913554a5c0869b$var$h.if(null!=r)($66CcX.LngLatCoords,{position:r,zoom:t,className:"infodrawer-header-item"}),$1a913554a5c0869b$var$h.if(null!=n)($66CcX.Elevation,{elevation:n,className:"infodrawer-header-item"}),$1a913554a5c0869b$var$h.if(null!=a)($9HnAS$blueprintjscore.Button,{minimal:!0,icon:"cross",onClick:a})])}
|
|
2
|
-
//# sourceMappingURL=map-interface.56b5b2ee.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,Q,gD,Q,gD,I,uB,Q,qB,uB,Q,qB,8B,Q,6B,6B,Q,4B,kB,Q,c,6B,Q,4B,S,uB,C,E,O,G,E,U,C,E,O,C,C,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,SCWA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEvB,SAAS,qCAAe,CAAA,SAAE,CAAQ,CAAA,OAAE,CAAM,CAAA,aAAE,EAAe,CAAA,CAAA,CAAO,EAChE,IAAM,EAAa,AAAA,CAAA,EAAA,6BAAA,aAAY,AAAZ,EAAc,GAE3B,EAAoB,AAAA,CAAA,EAAA,6BAAA,UAAS,AAAT,EAAW,IAAe,EAEpD,OAAO,wBAAE,wBAAyB,CAChC,wBAAE,6BAAA,mBAAkB,CAAG,CAAE,SAAU,EAAU,OAAA,EAAQ,WAAA,CAAW,EAAG,EAAE,EACrE,wBAAE,EAAE,CAAC,GAAqB,AAAY,MAAZ,GAAkB,qCAAgB,CAC1D,SAAU,UACZ,GACD,CACH,CAEA,SAAS,qCAAe,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,QAAE,CAAO,CAAE,GAAG,EAAM,EAC9D,IAAM,EAAU,AAAA,CAAA,EAAA,8BAAA,UAAS,AAAT,IAEZ,EAAU,cAMd,OALI,AAAY,MAAZ,GACF,CAAA,GAAW,CAAC,IAAI,EAAE,EAAA,CAAU,AAAV,EAEpB,GAAW,IAEJ,wBACL,uBAAA,MAAK,CACL,CACE,UAAW,mBACX,UAAW,wBAAE,uBAAA,IAAG,CAAG,CAAE,KAAM,OAAQ,KAAM,EAAG,GAC5C,QAAS,CAAA,EACT,MAAO,CAAA,EACP,UACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD,KACE,GAAS,KAAK,CACZ,QAAA,EACA,OAAQ,UACR,KAAM,YACN,QAAS,GACX,GACA,KACF,EACA,KACE,GAAS,KAAK,CACZ,QAAS,sBACT,OAAQ,SACR,KAAM,QACN,QAAS,GACX,EACF,EAEJ,EACA,GAAG,CAAI,AACT,EACA,GAAY,YAEhB,CAcO,SAAS,0CAAiB,CAA4B,EAC3D,GAAM,CAAA,QACJ,CAAO,CAAA,SACP,CAAQ,CAAA,OACR,CAAM,CAAA,KACN,EAAO,CAAA,CAAA,UACP,CAAS,CAAA,uBACT,CAAsB,CAAA,YACtB,EAAc,CAAA,CAAA,CAAA,SACd,CAAQ,CAAA,UACR,CAAS,CACV,CAAG,EAEA,EAAa,KASjB,MARI,CAAA,AAAU,MAAV,GAAkB,AAAY,MAAZ,CAAY,GAChC,CAAA,EAAa,wBAAE,qCAAgB,CAC7B,SAAA,EACA,OAAA,EACA,aAAc,CAChB,EAAA,EAGK,wBACL,+BACA,CACE,UAAW,AAAA,uBAAA,mBAAW,EAAW,CAAE,eAAgB,CAAY,EACjE,EACA,CACE,EACA,EACA,wBAAE,cACF,wBAAE,EAAE,CAAC,AAAY,MAAZ,GAAkB,OAAA,YAAW,CAAG,CACnC,SAAA,EACA,KAAA,EACA,UAAW,wBACb,GACA,wBAAE,EAAE,CAAC,AAAa,MAAb,GAAmB,OAAA,SAAQ,CAAG,CACjC,UAAA,EACA,UAAW,wBACb,GACA,wBAAE,EAAE,CAAC,AAAW,MAAX,GAAiB,uBAAA,MAAK,CAAG,CAC5B,QAAS,CAAA,EACT,KAAM,QACN,QAAS,CACX,GACD,CAEL","sources":["<anon>","packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["require(\"./map-interface.1a5eecac.js\");\nrequire(\"./map-interface.d92b296e.js\");\nvar $9HnAS$blueprintjscore = require(\"@blueprintjs/core\");\nvar $9HnAS$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $9HnAS$macrostratuicomponents = require(\"@macrostrat/ui-components\");\nvar $9HnAS$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $9HnAS$classnames = require(\"classnames\");\nvar $9HnAS$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\nvar $2UJTP = parcelRequire(\"2UJTP\");\n\n\nvar $66CcX = parcelRequire(\"66CcX\");\n\n\n\nconst $1a913554a5c0869b$var$h = (0, ($parcel$interopDefault($9HnAS$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($2UJTP))));\nfunction $1a913554a5c0869b$var$PositionButton({ position: position, bounds: bounds, showCopyLink: showCopyLink = false }) {\n const focusState = (0, $9HnAS$macrostratmapboxreact.useFocusState)(position);\n const copyLinkIsVisible = (0, $9HnAS$macrostratmapboxutils.isCentered)(focusState) && showCopyLink;\n return $1a913554a5c0869b$var$h(\"div.position-controls\", [\n $1a913554a5c0869b$var$h((0, $9HnAS$macrostratmapboxreact.LocationFocusButton), {\n location: position,\n bounds: bounds,\n focusState: focusState\n }, []),\n $1a913554a5c0869b$var$h.if(copyLinkIsVisible && position != null)($1a913554a5c0869b$var$CopyLinkButton, {\n itemName: \"position\"\n })\n ]);\n}\nfunction $1a913554a5c0869b$var$CopyLinkButton({ itemName: itemName, children: children, onClick: onClick, ...rest }) {\n const toaster = (0, $9HnAS$macrostratuicomponents.useToaster)();\n let message = `Copied link`;\n if (itemName != null) message += ` to ${itemName}`;\n message += \"!\";\n return $1a913554a5c0869b$var$h((0, $9HnAS$blueprintjscore.Button), {\n className: \"copy-link-button\",\n rightIcon: $1a913554a5c0869b$var$h((0, $9HnAS$blueprintjscore.Icon), {\n icon: \"link\",\n size: 12\n }),\n minimal: true,\n small: true,\n onClick () {\n navigator.clipboard.writeText(window.location.href).then(()=>{\n toaster?.show({\n message: message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000\n });\n onClick?.();\n }, ()=>{\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000\n });\n });\n },\n ...rest\n }, children ?? \"Copy link\");\n}\nfunction $1a913554a5c0869b$export$e9ff14c4822c2e8c(props) {\n const { onClose: onClose, position: position, bounds: bounds, zoom: zoom = 7, elevation: elevation, showCopyPositionButton: showCopyPositionButton, fixedHeight: fixedHeight = false, children: children, className: className } = props;\n let leftButton = null;\n if (bounds != null || position != null) leftButton = $1a913554a5c0869b$var$h($1a913554a5c0869b$var$PositionButton, {\n position: position,\n bounds: bounds,\n showCopyLink: showCopyPositionButton\n });\n return $1a913554a5c0869b$var$h(\"header.location-panel-header\", {\n className: (0, ($parcel$interopDefault($9HnAS$classnames)))(className, {\n \"fixed-height\": fixedHeight\n })\n }, [\n leftButton,\n children,\n $1a913554a5c0869b$var$h(\"div.spacer\"),\n $1a913554a5c0869b$var$h.if(position != null)((0, $66CcX.LngLatCoords), {\n position: position,\n zoom: zoom,\n className: \"infodrawer-header-item\"\n }),\n $1a913554a5c0869b$var$h.if(elevation != null)((0, $66CcX.Elevation), {\n elevation: elevation,\n className: \"infodrawer-header-item\"\n }),\n $1a913554a5c0869b$var$h.if(onClose != null)((0, $9HnAS$blueprintjscore.Button), {\n minimal: true,\n icon: \"cross\",\n onClick: onClose\n })\n ]);\n}\n\n\n//# sourceMappingURL=map-interface.56b5b2ee.js.map\n","import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["require","$9HnAS$blueprintjscore","$9HnAS$macrostrathyper","$9HnAS$macrostratuicomponents","$9HnAS$macrostratmapboxreact","$9HnAS$classnames","$9HnAS$macrostratmapboxutils","$parcel$interopDefault","a","__esModule","default","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$2UJTP","$66CcX","$1a913554a5c0869b$var$h","styled","$1a913554a5c0869b$var$PositionButton","position","bounds","showCopyLink","focusState","useFocusState","copyLinkIsVisible","isCentered","LocationFocusButton","location","if","$1a913554a5c0869b$var$CopyLinkButton","itemName","children","onClick","rest","toaster","useToaster","message","Button","className","rightIcon","Icon","icon","size","minimal","small","navigator","clipboard","writeText","window","href","then","show","intent","timeout","$1a913554a5c0869b$export$e9ff14c4822c2e8c","props","onClose","zoom","elevation","showCopyPositionButton","fixedHeight","leftButton","LngLatCoords","Elevation"],"version":3,"file":"map-interface.56b5b2ee.js.map","sourceRoot":"../../../../"}
|