@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
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.6.0] - 2025-11-28
|
|
8
|
+
|
|
9
|
+
- Update XDD panel components to remove Typescript
|
|
10
|
+
- Remove circular dependencies
|
|
11
|
+
- Move `LngLatCoords` and `Elevation` components to
|
|
12
|
+
`@macrostrat/data-components`
|
|
13
|
+
|
|
7
14
|
## [1.5.7] - 2025-08-19
|
|
8
15
|
|
|
9
16
|
- Remove a duplicate export
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var $fce5fc950d1fe35b$exports = require("./map-interface.0e252a74.js");
|
|
2
|
-
var $2bc7c1e4e7da7fdf$exports = require("./map-interface.
|
|
3
|
-
var $9acbb47bf7cb7660$exports = require("./map-interface.
|
|
2
|
+
var $2bc7c1e4e7da7fdf$exports = require("./map-interface.67001b26.js");
|
|
3
|
+
var $9acbb47bf7cb7660$exports = require("./map-interface.a3c2552f.js");
|
|
4
4
|
var $c3311f59335df34d$exports = require("./map-interface.bda26b27.js");
|
|
5
5
|
var $493deb9ab6b848e3$exports = require("./map-interface.7bdbe4b6.js");
|
|
6
6
|
var $f333fe6f49373ca9$exports = require("./map-interface.99a048dc.js");
|
|
7
7
|
var $2611a7b4364593e5$exports = require("./map-interface.cf6c9a68.js");
|
|
8
8
|
var $3490fc4f4bda12f7$exports = require("./map-interface.ffb109ef.js");
|
|
9
|
-
var $860d9939f7032c69$exports = require("./map-interface.64823b7c.js");
|
|
10
9
|
var $750d69d73bfbdc9a$exports = require("./map-interface.354aaa39.js");
|
|
11
|
-
var $4b8aa57c998025ac$exports = require("./map-interface.
|
|
10
|
+
var $4b8aa57c998025ac$exports = require("./map-interface.c5061c96.js");
|
|
11
|
+
var $b96d5ba3a9868b40$exports = require("./map-interface.4267aa3a.js");
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
function $parcel$exportWildcard(dest, source) {
|
|
@@ -46,9 +46,9 @@ $parcel$exportWildcard(module.exports, $493deb9ab6b848e3$exports);
|
|
|
46
46
|
$parcel$exportWildcard(module.exports, $f333fe6f49373ca9$exports);
|
|
47
47
|
$parcel$exportWildcard(module.exports, $2611a7b4364593e5$exports);
|
|
48
48
|
$parcel$exportWildcard(module.exports, $3490fc4f4bda12f7$exports);
|
|
49
|
-
$parcel$exportWildcard(module.exports, $860d9939f7032c69$exports);
|
|
50
49
|
$parcel$exportWildcard(module.exports, $750d69d73bfbdc9a$exports);
|
|
51
50
|
$parcel$exportWildcard(module.exports, $4b8aa57c998025ac$exports);
|
|
51
|
+
$parcel$exportWildcard(module.exports, $b96d5ba3a9868b40$exports);
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/map-interface/src/index.ts"],"sourcesContent":["export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./
|
|
1
|
+
{"mappings":"","sources":["packages/map-interface/src/index.ts"],"sourcesContent":["export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./expansion-panel\";\nexport * from \"./location-details\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"index.js.map"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var $8I3pR$react = require("react");
|
|
2
|
+
var $8I3pR$blueprintjscore = require("@blueprintjs/core");
|
|
3
|
+
var $8I3pR$macrostratuicomponents = require("@macrostrat/ui-components");
|
|
4
|
+
var $8I3pR$macrostrathyper = require("@macrostrat/hyper");
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function $parcel$interopDefault(a) {
|
|
8
|
+
return a && a.__esModule ? a.default : a;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function $parcel$export(e, n, v, s) {
|
|
12
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
$parcel$export(module.exports, "Article", () => $db1853dba5bbb3cb$export$89693000420c0acd);
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
function $db1853dba5bbb3cb$export$89693000420c0acd(props) {
|
|
21
|
+
const [expanded, setExpanded] = (0, $8I3pR$react.useState)(false);
|
|
22
|
+
const { data: data } = props;
|
|
23
|
+
const toggleExpand = ()=>{
|
|
24
|
+
setExpanded(!expanded);
|
|
25
|
+
};
|
|
26
|
+
// Attempt to pull out only the year and not the whole date
|
|
27
|
+
let year;
|
|
28
|
+
try {
|
|
29
|
+
year = data.coverDate ? data.coverDate.match(/\d{4}/)[0] : "";
|
|
30
|
+
} catch (e) {
|
|
31
|
+
year = "";
|
|
32
|
+
}
|
|
33
|
+
const authors = data?.authors?.split("; ") ?? [];
|
|
34
|
+
const authorList = authors.length > 0 ? (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))((0, $8I3pR$macrostratuicomponents.AuthorList), {
|
|
35
|
+
names: authors
|
|
36
|
+
}) : "Unknown";
|
|
37
|
+
const iconName = expanded ? "chevron-up" : "chevron-down";
|
|
38
|
+
return (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("div.article", [
|
|
39
|
+
(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("div.article-title", [
|
|
40
|
+
(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("p.article-author", [
|
|
41
|
+
authorList,
|
|
42
|
+
year.length ? ` ${year}. ` : ""
|
|
43
|
+
]),
|
|
44
|
+
(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("a.title-link", {
|
|
45
|
+
href: data.URL,
|
|
46
|
+
target: "_blank"
|
|
47
|
+
}, (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("strong", [
|
|
48
|
+
data.title + "."
|
|
49
|
+
])),
|
|
50
|
+
(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("span", {}, (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))((0, $8I3pR$blueprintjscore.Button), {
|
|
51
|
+
onClick: toggleExpand,
|
|
52
|
+
minimal: true,
|
|
53
|
+
rightIcon: iconName,
|
|
54
|
+
className: "flat-btn"
|
|
55
|
+
}))
|
|
56
|
+
]),
|
|
57
|
+
(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))((0, $8I3pR$blueprintjscore.Collapse), {
|
|
58
|
+
isOpen: expanded
|
|
59
|
+
}, (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("span", {
|
|
60
|
+
className: expanded ? "" : "hidden"
|
|
61
|
+
}, (0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("div.quotes", {}, data.highlight.map((snippet, si)=>(0, ($parcel$interopDefault($8I3pR$macrostrathyper)))("p.gdd-snippet", {
|
|
62
|
+
key: si,
|
|
63
|
+
dangerouslySetInnerHTML: {
|
|
64
|
+
__html: `...${snippet}...`
|
|
65
|
+
}
|
|
66
|
+
})))))
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=map-interface.225c9340.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;AAKO,SAAS,0CAAQ,KAAK;IAC3B,MAAM,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,qBAAO,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,gDAAA,EAAE,CAAA,GAAA,wCAAS,GAAG;QAAE,OAAO;IAAQ,KAAK;IAE3D,MAAM,WAAW,WAAW,eAAe;IAE3C,OAAO,CAAA,GAAA,gDAAA,EAAE,eAAe;QACtB,CAAA,GAAA,gDAAA,EAAE,qBAAqB;YACrB,CAAA,GAAA,gDAAA,EAAE,oBAAoB;gBAAC;gBAAY,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;aAAG;YACnE,CAAA,GAAA,gDAAA,EACE,gBACA;gBAAE,MAAM,KAAK,GAAG;gBAAE,QAAQ;YAAS,GACnC,CAAA,GAAA,gDAAA,EAAE,UAAU;gBAAC,KAAK,KAAK,GAAG;aAAI;YAEhC,CAAA,GAAA,gDAAA,EACE,QACA,CAAC,GACD,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,6BAAK,GAAG;gBACR,SAAS;gBACT,SAAS;gBACT,WAAW;gBACX,WAAW;YACb;SAEH;QACD,CAAA,GAAA,gDAAA,EACE,CAAA,GAAA,+BAAO,GACP;YAAE,QAAQ;QAAS,GACnB,CAAA,GAAA,gDAAA,EACE,QACA;YAAE,WAAW,WAAW,KAAK;QAAS,GACtC,CAAA,GAAA,gDAAA,EACE,cACA,CAAC,GACD,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,KAC3B,CAAA,GAAA,gDAAA,EAAE,iBAAiB;gBACjB,KAAK;gBACL,yBAAyB;oBAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC;gBAAC;YACxD;KAKT;AACH","sources":["packages/map-interface/src/location-details/xdd-panel/article.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function 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 h(\"div.article\", [\n h(\"div.article-title\", [\n h(\"p.article-author\", [authorList, year.length ? ` ${year}. ` : \"\"]),\n h(\n \"a.title-link\",\n { href: data.URL, target: \"_blank\" },\n h(\"strong\", [data.title + \".\"]),\n ),\n h(\n \"span\",\n {},\n h(Button, {\n onClick: toggleExpand,\n minimal: true,\n rightIcon: iconName,\n className: \"flat-btn\",\n }),\n ),\n ]),\n h(\n Collapse,\n { isOpen: expanded },\n h(\n \"span\",\n { className: expanded ? \"\" : \"hidden\" },\n h(\n \"div.quotes\",\n {},\n data.highlight.map((snippet, si) =>\n h(\"p.gdd-snippet\", {\n key: si,\n dangerouslySetInnerHTML: { __html: `...${snippet}...` },\n }),\n ),\n ),\n ),\n ),\n ]);\n}\n"],"names":[],"version":3,"file":"map-interface.225c9340.js.map"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var $db1853dba5bbb3cb$exports = require("./map-interface.225c9340.js");
|
|
2
|
+
var $1A6pA$blueprintjscore = require("@blueprintjs/core");
|
|
3
|
+
var $1A6pA$macrostrathyper = require("@macrostrat/hyper");
|
|
4
|
+
var $1A6pA$macrostratmapinterface = require("@macrostrat/map-interface");
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function $parcel$interopDefault(a) {
|
|
8
|
+
return a && a.__esModule ? a.default : a;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function $parcel$export(e, n, v, s) {
|
|
12
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
$parcel$export(module.exports, "JournalLegacy", () => $1bbba8ce35f6df80$export$3adf728445826508);
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
function $1bbba8ce35f6df80$var$Journal(props) {
|
|
21
|
+
return (0, ($parcel$interopDefault($1A6pA$macrostrathyper)))("div.journal", [
|
|
22
|
+
(0, ($parcel$interopDefault($1A6pA$macrostrathyper)))("div.journal-title", [
|
|
23
|
+
(0, ($parcel$interopDefault($1A6pA$macrostrathyper)))("h2.journal-title-text", [
|
|
24
|
+
props.data.name,
|
|
25
|
+
(0, ($parcel$interopDefault($1A6pA$macrostrathyper)))("small.journal-source", [
|
|
26
|
+
props.data
|
|
27
|
+
])
|
|
28
|
+
])
|
|
29
|
+
]),
|
|
30
|
+
(0, ($parcel$interopDefault($1A6pA$macrostrathyper)))((0, $1A6pA$blueprintjscore.Divider)),
|
|
31
|
+
props.data.articles.map((article, i)=>{
|
|
32
|
+
return (0, ($parcel$interopDefault($1A6pA$macrostrathyper)))((0, $db1853dba5bbb3cb$exports.Article), {
|
|
33
|
+
key: i,
|
|
34
|
+
data: article
|
|
35
|
+
});
|
|
36
|
+
})
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
function $1bbba8ce35f6df80$export$3adf728445826508(props) {
|
|
40
|
+
const { articles: articles, name: name, publisher: publisher, nestedExpanded: nestedExpanded } = props;
|
|
41
|
+
const helpText = articles[0].pubname;
|
|
42
|
+
return (0, ($parcel$interopDefault($1A6pA$macrostrathyper)))((0, $1A6pA$macrostratmapinterface.SubExpansionPanel), {
|
|
43
|
+
title: name,
|
|
44
|
+
helpText: publisher,
|
|
45
|
+
expanded: nestedExpanded
|
|
46
|
+
}, [
|
|
47
|
+
articles.map((article, i)=>{
|
|
48
|
+
return (0, ($parcel$interopDefault($1A6pA$macrostrathyper)))((0, $db1853dba5bbb3cb$exports.Article), {
|
|
49
|
+
key: i,
|
|
50
|
+
data: article
|
|
51
|
+
});
|
|
52
|
+
})
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=map-interface.3ca778c5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,SAAS,8BAAQ,KAAK;IACpB,OAAO,CAAA,GAAA,gDAAA,EAAE,eAAe;QACtB,CAAA,GAAA,gDAAA,EAAE,qBAAqB;YACrB,CAAA,GAAA,gDAAA,EAAE,yBAAyB;gBACzB,MAAM,IAAI,CAAC,IAAI;gBACf,CAAA,GAAA,gDAAA,EAAE,wBAAwB;oBAAC,MAAM,IAAI;iBAAC;aACvC;SACF;QACD,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,8BAAM;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS;YAChC,OAAO,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,iCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AACH;AAUO,SAAS,0CAAc,KAAmB;IAC/C,MAAM,YAAE,QAAQ,QAAE,IAAI,aAAE,SAAS,kBAAE,cAAc,EAAE,GAAG;IAEtD,MAAM,WAAW,QAAQ,CAAC,EAAE,CAAC,OAAO;IAEpC,OAAO,CAAA,GAAA,gDAAA,EACL,CAAA,GAAA,+CAAgB,GAChB;QACE,OAAO;QACP,UAAU;QACV,UAAU;IACZ,GACA;QACE,SAAS,GAAG,CAAC,CAAC,SAAS;YACrB,OAAO,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,iCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AAEL","sources":["packages/map-interface/src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } 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\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\nexport function JournalLegacy(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"],"names":[],"version":3,"file":"map-interface.3ca778c5.js.map"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var $bj4Ts$macrostratmapboxutils = require("@macrostrat/mapbox-utils");
|
|
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, "applyMapPositionToHash", () => $b96d5ba3a9868b40$export$8391d1abb505ffb3);
|
|
9
|
+
$parcel$export(module.exports, "getMapPositionForHash", () => $b96d5ba3a9868b40$export$80abf1cbcc3918e4);
|
|
10
|
+
|
|
11
|
+
const $b96d5ba3a9868b40$var$fmt1 = (x)=>x.toFixed(1);
|
|
12
|
+
const $b96d5ba3a9868b40$var$fmt2 = (x)=>x.toFixed(2);
|
|
13
|
+
const $b96d5ba3a9868b40$var$fmtInt = (x)=>Math.round(x).toString();
|
|
14
|
+
function $b96d5ba3a9868b40$export$8391d1abb505ffb3(args, mapPosition) {
|
|
15
|
+
const pos = mapPosition?.camera;
|
|
16
|
+
if (pos == null) return;
|
|
17
|
+
const zoom = mapPosition.target?.zoom;
|
|
18
|
+
args.x = (0, $bj4Ts$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lng, zoom);
|
|
19
|
+
args.y = (0, $bj4Ts$macrostratmapboxutils.formatCoordForZoomLevel)(pos.lat, zoom);
|
|
20
|
+
if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) args.z = $b96d5ba3a9868b40$var$fmt1(zoom);
|
|
21
|
+
else if (pos.altitude != null) {
|
|
22
|
+
if (pos.altitude > 5000) args.z = $b96d5ba3a9868b40$var$fmt2(pos.altitude / 1000) + "km";
|
|
23
|
+
else args.z = $b96d5ba3a9868b40$var$fmtInt(pos.altitude) + "m";
|
|
24
|
+
}
|
|
25
|
+
if (pos.bearing != 0) {
|
|
26
|
+
let az = pos.bearing;
|
|
27
|
+
if (az < 0) az += 360;
|
|
28
|
+
args.a = $b96d5ba3a9868b40$var$fmtInt(az);
|
|
29
|
+
}
|
|
30
|
+
if (pos.pitch != 0) args.e = $b96d5ba3a9868b40$var$fmtInt(pos.pitch);
|
|
31
|
+
}
|
|
32
|
+
function $b96d5ba3a9868b40$var$_fmt(x) {
|
|
33
|
+
if (Array.isArray(x)) x = x[0];
|
|
34
|
+
return parseFloat(x.toString());
|
|
35
|
+
}
|
|
36
|
+
function $b96d5ba3a9868b40$export$80abf1cbcc3918e4(hashData, centerPosition) {
|
|
37
|
+
const { x: x = centerPosition?.lng ?? 0, y: y = centerPosition?.lat ?? 0, z: // Different default for zoom depending on whether we have a marker
|
|
38
|
+
z = centerPosition != null ? 7 : 2, a: a = 0, e: e = 0 } = hashData;
|
|
39
|
+
const lng = $b96d5ba3a9868b40$var$_fmt(x);
|
|
40
|
+
const lat = $b96d5ba3a9868b40$var$_fmt(y);
|
|
41
|
+
let altitude = null;
|
|
42
|
+
let zoom = null;
|
|
43
|
+
const _z = z.toString();
|
|
44
|
+
if (_z.endsWith("km")) altitude = $b96d5ba3a9868b40$var$_fmt(_z.substring(0, _z.length - 2)) * 1000;
|
|
45
|
+
else if (_z.endsWith("m")) altitude = $b96d5ba3a9868b40$var$_fmt(_z.substring(0, _z.length - 1));
|
|
46
|
+
else zoom = $b96d5ba3a9868b40$var$_fmt(z);
|
|
47
|
+
const bearing = $b96d5ba3a9868b40$var$_fmt(a);
|
|
48
|
+
const pitch = $b96d5ba3a9868b40$var$_fmt(e);
|
|
49
|
+
let target = undefined;
|
|
50
|
+
if (bearing == 0 && pitch == 0 && zoom != null) target = {
|
|
51
|
+
lat: lat,
|
|
52
|
+
lng: lng,
|
|
53
|
+
zoom: zoom
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
camera: {
|
|
57
|
+
lng: $b96d5ba3a9868b40$var$_fmt(x),
|
|
58
|
+
lat: $b96d5ba3a9868b40$var$_fmt(y),
|
|
59
|
+
altitude: altitude,
|
|
60
|
+
bearing: $b96d5ba3a9868b40$var$_fmt(a),
|
|
61
|
+
pitch: $b96d5ba3a9868b40$var$_fmt(e)
|
|
62
|
+
},
|
|
63
|
+
target: target
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=map-interface.4267aa3a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;AAeA,MAAM,6BAAO,CAAC,IAAc,EAAE,OAAO,CAAC;AACtC,MAAM,6BAAO,CAAC,IAAc,EAAE,OAAO,CAAC;AACtC,MAAM,+BAAS,CAAC,IAAc,KAAK,KAAK,CAAC,GAAG,QAAQ;AAE7C,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,2BAAK;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,2BAAK,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,6BAAO,IAAI,QAAQ,IAAI;;IAGpC,IAAI,IAAI,OAAO,IAAI,GAAG;QACpB,IAAI,KAAK,IAAI,OAAO;QACpB,IAAI,KAAK,GAAG,MAAM;QAClB,KAAK,CAAC,GAAG,6BAAO;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,6BAAO,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/hash-string.ts"],"sourcesContent":["import {\n LatLng,\n MapPosition,\n formatCoordForZoomLevel,\n} from \"@macrostrat/mapbox-utils\";\nimport { ParsedQuery } from \"query-string\";\n\ninterface LocationHashParams {\n x?: string;\n y?: string;\n z?: string;\n a?: string;\n e?: string;\n}\n\nconst fmt1 = (x: number) => x.toFixed(1);\nconst fmt2 = (x: number) => x.toFixed(2);\nconst fmtInt = (x: number) => Math.round(x).toString();\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.4267aa3a.js.map"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
require("./map-interface.1b386e07.css");
|
|
2
2
|
var $a8d7c4c397e52cf6$exports = require("./map-interface.cd485bb4.js");
|
|
3
|
-
var $860d9939f7032c69$exports = require("./map-interface.64823b7c.js");
|
|
4
3
|
var $hshpw$blueprintjscore = require("@blueprintjs/core");
|
|
5
4
|
var $hshpw$macrostrathyper = require("@macrostrat/hyper");
|
|
6
5
|
var $hshpw$macrostratuicomponents = require("@macrostrat/ui-components");
|
|
6
|
+
var $hshpw$macrostratdatacomponents = require("@macrostrat/data-components");
|
|
7
7
|
var $hshpw$macrostratmapboxreact = require("@macrostrat/mapbox-react");
|
|
8
8
|
var $hshpw$classnames = require("classnames");
|
|
9
9
|
var $hshpw$macrostratmapboxutils = require("@macrostrat/mapbox-utils");
|
|
@@ -91,12 +91,12 @@ function $548387e5996cdbbd$export$e9ff14c4822c2e8c(props) {
|
|
|
91
91
|
leftButton,
|
|
92
92
|
children,
|
|
93
93
|
$548387e5996cdbbd$var$h("div.spacer"),
|
|
94
|
-
$548387e5996cdbbd$var$h.if(position != null)((0, $
|
|
94
|
+
$548387e5996cdbbd$var$h.if(position != null)((0, $hshpw$macrostratdatacomponents.LngLatCoords), {
|
|
95
95
|
position: position,
|
|
96
96
|
zoom: zoom,
|
|
97
97
|
className: "infodrawer-header-item"
|
|
98
98
|
}),
|
|
99
|
-
$548387e5996cdbbd$var$h.if(elevation != null)((0, $
|
|
99
|
+
$548387e5996cdbbd$var$h.if(elevation != null)((0, $hshpw$macrostratdatacomponents.Elevation), {
|
|
100
100
|
elevation: elevation,
|
|
101
101
|
className: "infodrawer-header-item"
|
|
102
102
|
}),
|
|
@@ -109,4 +109,4 @@ function $548387e5996cdbbd$export$e9ff14c4822c2e8c(props) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
|
|
112
|
-
//# sourceMappingURL=map-interface.
|
|
112
|
+
//# sourceMappingURL=map-interface.4a3d9662.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,4CAAW,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,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 \"@macrostrat/data-components\";\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.4a3d9662.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var $548387e5996cdbbd$exports = require("./map-interface.
|
|
1
|
+
var $548387e5996cdbbd$exports = require("./map-interface.4a3d9662.js");
|
|
2
2
|
require("./map-interface.1b386e07.css");
|
|
3
3
|
var $a8d7c4c397e52cf6$exports = require("./map-interface.cd485bb4.js");
|
|
4
4
|
var $c3311f59335df34d$exports = require("./map-interface.bda26b27.js");
|
|
@@ -63,4 +63,4 @@ function $2bc7c1e4e7da7fdf$export$aa4baff5242ea6e1(props) {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
//# sourceMappingURL=map-interface.
|
|
66
|
+
//# sourceMappingURL=map-interface.67001b26.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,2CAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,mCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,0CAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,2CAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,2CAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"map-interface.
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,2CAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,mCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,0CAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,2CAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,2CAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"map-interface.67001b26.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var $
|
|
1
|
+
var $1bbba8ce35f6df80$exports = require("./map-interface.3ca778c5.js");
|
|
2
2
|
var $a3M2p$blueprintjscore = require("@blueprintjs/core");
|
|
3
3
|
var $a3M2p$macrostrathyper = require("@macrostrat/hyper");
|
|
4
4
|
var $a3M2p$macrostratmapinterface = require("@macrostrat/map-interface");
|
|
@@ -29,7 +29,6 @@ function $f1ee93b3850b066e$export$7bbcc612b1169c6f({ xddInfo: xddInfo, expanded:
|
|
|
29
29
|
}
|
|
30
30
|
function $f1ee93b3850b066e$export$223bda478756d1d9({ isFetching: isFetching, data: xddInfo, expanded: expanded, nestedExpanded: nestedExpanded, ...rest }) {
|
|
31
31
|
const groupedData = $f1ee93b3850b066e$var$groupSnippetsByJournal(xddInfo);
|
|
32
|
-
console.log("expanded", expanded);
|
|
33
32
|
return (0, ($parcel$interopDefault($a3M2p$macrostrathyper)))((0, $a3M2p$macrostratmapinterface.ExpansionPanel), {
|
|
34
33
|
className: "regional-panel",
|
|
35
34
|
title: "Primary literature",
|
|
@@ -40,7 +39,7 @@ function $f1ee93b3850b066e$export$223bda478756d1d9({ isFetching: isFetching, dat
|
|
|
40
39
|
(0, ($parcel$interopDefault($a3M2p$macrostrathyper))).if(isFetching)((0, $a3M2p$blueprintjscore.Spinner)),
|
|
41
40
|
(0, ($parcel$interopDefault($a3M2p$macrostrathyper))).if(!isFetching && xddInfo.length > 0)([
|
|
42
41
|
Array.from(groupedData.entries())?.map(([journal, snippets])=>{
|
|
43
|
-
return (0, ($parcel$interopDefault($a3M2p$macrostrathyper)))((0, $
|
|
42
|
+
return (0, ($parcel$interopDefault($a3M2p$macrostrathyper)))((0, $1bbba8ce35f6df80$exports.JournalLegacy), {
|
|
44
43
|
nestedExpanded: nestedExpanded,
|
|
45
44
|
name: journal,
|
|
46
45
|
articles: snippets,
|
|
@@ -63,4 +62,4 @@ function $f1ee93b3850b066e$var$groupSnippetsByJournal(snippets) {
|
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
|
|
66
|
-
//# sourceMappingURL=map-interface.
|
|
65
|
+
//# sourceMappingURL=map-interface.7170f35e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;AAKO,SAAS,0CAAa,WAC3B,OAAO,YACP,WAAW,uBACX,iBAAiB,MAClB;IACC,OAAO,CAAA,GAAA,gDAAA,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,OAAO,CAAA,GAAA,gDAAA,EACL,CAAA,GAAA,4CAAa,GACb;QACE,WAAW;QACX,OAAO;QACP,UAAU;QACV,GAAG,IAAI;kBACP;IACF,GACA;QACE,CAAA,GAAA,gDAAA,EAAE,EAAE,CAAC,YAAY,CAAA,GAAA,8BAAM;QACvB,CAAA,GAAA,gDAAA,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,gDAAA,EAAE,CAAA,GAAA,uCAAY,GAAG;oCACtB;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 { XDDSnippet, JournalLegacy } from \"./journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\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 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(JournalLegacy, {\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.7170f35e.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var $6f5ca387ac26c0b5$exports = require("./map-interface.
|
|
1
|
+
var $6f5ca387ac26c0b5$exports = require("./map-interface.a960d638.js");
|
|
2
2
|
var $abbe8d0af34cbbed$exports = require("./map-interface.f8826069.js");
|
|
3
3
|
var $db14eb7a5c07abdb$exports = require("./map-interface.e9bcd5c0.js");
|
|
4
4
|
var $8646508ae99a5857$exports = require("./map-interface.4c5addca.js");
|
|
@@ -30,4 +30,4 @@ $parcel$exportWildcard(module.exports, $db14eb7a5c07abdb$exports);
|
|
|
30
30
|
$parcel$exportWildcard(module.exports, $8646508ae99a5857$exports);
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=map-interface.
|
|
33
|
+
//# sourceMappingURL=map-interface.a3c2552f.js.map
|
|
@@ -1 +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":"map-interface.
|
|
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":"map-interface.a3c2552f.js.map"}
|
|
@@ -2,7 +2,7 @@ var $8646508ae99a5857$exports = require("./map-interface.4c5addca.js");
|
|
|
2
2
|
var $c3311f59335df34d$exports = require("./map-interface.bda26b27.js");
|
|
3
3
|
var $fce5fc950d1fe35b$exports = require("./map-interface.0e252a74.js");
|
|
4
4
|
var $2611a7b4364593e5$exports = require("./map-interface.cf6c9a68.js");
|
|
5
|
-
var $2bc7c1e4e7da7fdf$exports = require("./map-interface.
|
|
5
|
+
var $2bc7c1e4e7da7fdf$exports = require("./map-interface.67001b26.js");
|
|
6
6
|
var $493deb9ab6b848e3$exports = require("./map-interface.7bdbe4b6.js");
|
|
7
7
|
var $33088e8384af337c$exports = require("./map-interface.abe5fe65.js");
|
|
8
8
|
require("./map-interface.26497065.css");
|
|
@@ -182,4 +182,4 @@ function $6f5ca387ac26c0b5$var$MapInspector(props) {
|
|
|
182
182
|
const $6f5ca387ac26c0b5$export$2391061fbdfb71ef = $6f5ca387ac26c0b5$var$MapInspector;
|
|
183
183
|
|
|
184
184
|
|
|
185
|
-
//# sourceMappingURL=map-interface.
|
|
185
|
+
//# sourceMappingURL=map-interface.a960d638.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/map-interface/src/dev/map-page.ts"],"sourcesContent":["// Import other components\nimport { Switch } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDarkMode, useStoredState } from \"@macrostrat/ui-components\";\nimport mapboxgl from \"mapbox-gl\";\nimport React from \"react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { buildInspectorStyle } from \"./xray\";\nimport { MapAreaContainer, PanelCard } from \"../container\";\nimport { FloatingNavbar, MapLoadingButton } from \"../context-panel\";\nimport { MapMarker, useBasicMapStyle } from \"../helpers\";\nimport { LocationPanel } from \"../location-panel\";\nimport { MapView, MapViewProps } from \"../map-view\";\nimport styles from \"./main.module.sass\";\nimport { TileExtentLayer } from \"./tile-extent\";\nimport {\n FeaturePanel,\n FeatureSelectionHandler,\n TileInfo,\n} from \"./vector-tile-features\";\nimport { MapPosition } from \"@macrostrat/mapbox-utils\";\n\nexport const h = hyper.styled(styles);\n\ninterface MapInspectorProps extends MapViewProps {\n headerElement?: React.ReactNode;\n transformRequest?: mapboxgl.RequestTransformFunction;\n title?: string;\n style?: mapboxgl.StyleSpecification | string;\n controls?: React.ReactNode;\n children?: React.ReactNode;\n mapboxToken?: string;\n overlayStyle?: mapboxgl.StyleSpecification | string;\n focusedSource?: string;\n focusedSourceTitle?: string;\n projection?: string;\n mapPosition?: MapPosition;\n bounds?: [number, number, number, number];\n fitViewport?: boolean;\n styleType?: \"standard\" | \"macrostrat\";\n enableTerrain?: boolean;\n}\n\nexport function MapInspectorV2({\n title = \"Map inspector\",\n headerElement = null,\n transformRequest = null,\n mapPosition = null,\n mapboxToken = null,\n overlayStyle = null,\n controls = null,\n children = null,\n style,\n bounds = null,\n focusedSource = null,\n focusedSourceTitle = null,\n fitViewport = true,\n styleType = \"macrostrat\",\n ...rest\n}: MapInspectorProps) {\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 */\n\n const dark = useDarkMode();\n const isEnabled = dark?.isEnabled;\n\n if (mapboxToken != null) {\n mapboxgl.accessToken = mapboxToken;\n }\n\n const basicStyle = useBasicMapStyle({ styleType });\n style ??= basicStyle;\n\n const [isOpen, setOpen] = useState(false);\n\n const [state, setState] = useStoredState(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false,\n });\n const { showTileExtent, xRay } = state;\n\n const [actualStyle, setActualStyle] = useState(null);\n\n useEffect(() => {\n buildInspectorStyle(style, overlayStyle, {\n mapboxToken,\n inDarkMode: isEnabled,\n xRay,\n }).then(setActualStyle);\n }, [style, xRay, mapboxToken, isEnabled, overlayStyle]);\n\n const [inspectPosition, setInspectPosition] =\n useState<mapboxgl.LngLat | null>(null);\n\n const [data, setData] = useState(null);\n\n const onSelectPosition = useCallback((position: mapboxgl.LngLat) => {\n setInspectPosition(position);\n }, []);\n\n let detailElement = null;\n if (inspectPosition != null) {\n detailElement = h(\n LocationPanel,\n {\n onClose() {\n setInspectPosition(null);\n },\n position: inspectPosition,\n },\n [\n h(TileInfo, {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent() {\n setState({ ...state, showTileExtent: !showTileExtent });\n },\n }),\n h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),\n ],\n );\n }\n\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = { x: f._x, y: f._y, z: f._z };\n }\n\n return h(\n MapAreaContainer,\n {\n navbar: h(FloatingNavbar, {\n rightElement: h(MapLoadingButton, {\n large: true,\n active: isOpen,\n onClick: () => setOpen(!isOpen),\n style: {\n marginRight: \"-5px\",\n },\n }),\n headerElement,\n title,\n }),\n contextPanel: h(PanelCard, [\n controls,\n h(Switch, {\n checked: xRay,\n label: \"X-ray mode\",\n onChange() {\n setState({ ...state, xRay: !xRay });\n },\n }),\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport,\n },\n h(\n MapView,\n {\n style: actualStyle,\n transformRequest,\n mapPosition,\n projection: { name: \"globe\" },\n mapboxToken,\n bounds,\n ...rest,\n },\n [\n h(FeatureSelectionHandler, {\n selectedLocation: inspectPosition,\n setFeatures: setData,\n }),\n h(MapMarker, {\n position: inspectPosition,\n setPosition: onSelectPosition,\n }),\n h(TileExtentLayer, { tile, color: isEnabled ? \"white\" : \"black\" }),\n children,\n ],\n ),\n );\n}\n\nfunction MapInspector(props) {\n const { children, controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */\n // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n\n return h(MapInspectorV2, {\n ...rest,\n controls: [children, controls],\n });\n}\n\n// Legacy export\nexport const DevMapPage = MapInspector;\n"],"names":[],"version":3,"file":"map-interface.
|
|
1
|
+
{"mappings":"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","sources":["packages/map-interface/src/dev/map-page.ts"],"sourcesContent":["// Import other components\nimport { Switch } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDarkMode, useStoredState } from \"@macrostrat/ui-components\";\nimport mapboxgl from \"mapbox-gl\";\nimport React from \"react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { buildInspectorStyle } from \"./xray\";\nimport { MapAreaContainer, PanelCard } from \"../container\";\nimport { FloatingNavbar, MapLoadingButton } from \"../context-panel\";\nimport { MapMarker, useBasicMapStyle } from \"../helpers\";\nimport { LocationPanel } from \"../location-panel\";\nimport { MapView, MapViewProps } from \"../map-view\";\nimport styles from \"./main.module.sass\";\nimport { TileExtentLayer } from \"./tile-extent\";\nimport {\n FeaturePanel,\n FeatureSelectionHandler,\n TileInfo,\n} from \"./vector-tile-features\";\nimport { MapPosition } from \"@macrostrat/mapbox-utils\";\n\nexport const h = hyper.styled(styles);\n\ninterface MapInspectorProps extends MapViewProps {\n headerElement?: React.ReactNode;\n transformRequest?: mapboxgl.RequestTransformFunction;\n title?: string;\n style?: mapboxgl.StyleSpecification | string;\n controls?: React.ReactNode;\n children?: React.ReactNode;\n mapboxToken?: string;\n overlayStyle?: mapboxgl.StyleSpecification | string;\n focusedSource?: string;\n focusedSourceTitle?: string;\n projection?: string;\n mapPosition?: MapPosition;\n bounds?: [number, number, number, number];\n fitViewport?: boolean;\n styleType?: \"standard\" | \"macrostrat\";\n enableTerrain?: boolean;\n}\n\nexport function MapInspectorV2({\n title = \"Map inspector\",\n headerElement = null,\n transformRequest = null,\n mapPosition = null,\n mapboxToken = null,\n overlayStyle = null,\n controls = null,\n children = null,\n style,\n bounds = null,\n focusedSource = null,\n focusedSourceTitle = null,\n fitViewport = true,\n styleType = \"macrostrat\",\n ...rest\n}: MapInspectorProps) {\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 */\n\n const dark = useDarkMode();\n const isEnabled = dark?.isEnabled;\n\n if (mapboxToken != null) {\n mapboxgl.accessToken = mapboxToken;\n }\n\n const basicStyle = useBasicMapStyle({ styleType });\n style ??= basicStyle;\n\n const [isOpen, setOpen] = useState(false);\n\n const [state, setState] = useStoredState(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false,\n });\n const { showTileExtent, xRay } = state;\n\n const [actualStyle, setActualStyle] = useState(null);\n\n useEffect(() => {\n buildInspectorStyle(style, overlayStyle, {\n mapboxToken,\n inDarkMode: isEnabled,\n xRay,\n }).then(setActualStyle);\n }, [style, xRay, mapboxToken, isEnabled, overlayStyle]);\n\n const [inspectPosition, setInspectPosition] =\n useState<mapboxgl.LngLat | null>(null);\n\n const [data, setData] = useState(null);\n\n const onSelectPosition = useCallback((position: mapboxgl.LngLat) => {\n setInspectPosition(position);\n }, []);\n\n let detailElement = null;\n if (inspectPosition != null) {\n detailElement = h(\n LocationPanel,\n {\n onClose() {\n setInspectPosition(null);\n },\n position: inspectPosition,\n },\n [\n h(TileInfo, {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent() {\n setState({ ...state, showTileExtent: !showTileExtent });\n },\n }),\n h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),\n ],\n );\n }\n\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = { x: f._x, y: f._y, z: f._z };\n }\n\n return h(\n MapAreaContainer,\n {\n navbar: h(FloatingNavbar, {\n rightElement: h(MapLoadingButton, {\n large: true,\n active: isOpen,\n onClick: () => setOpen(!isOpen),\n style: {\n marginRight: \"-5px\",\n },\n }),\n headerElement,\n title,\n }),\n contextPanel: h(PanelCard, [\n controls,\n h(Switch, {\n checked: xRay,\n label: \"X-ray mode\",\n onChange() {\n setState({ ...state, xRay: !xRay });\n },\n }),\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport,\n },\n h(\n MapView,\n {\n style: actualStyle,\n transformRequest,\n mapPosition,\n projection: { name: \"globe\" },\n mapboxToken,\n bounds,\n ...rest,\n },\n [\n h(FeatureSelectionHandler, {\n selectedLocation: inspectPosition,\n setFeatures: setData,\n }),\n h(MapMarker, {\n position: inspectPosition,\n setPosition: onSelectPosition,\n }),\n h(TileExtentLayer, { tile, color: isEnabled ? \"white\" : \"black\" }),\n children,\n ],\n ),\n );\n}\n\nfunction MapInspector(props) {\n const { children, controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */\n // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n\n return h(MapInspectorV2, {\n ...rest,\n controls: [children, controls],\n });\n}\n\n// Legacy export\nexport const DevMapPage = MapInspector;\n"],"names":[],"version":3,"file":"map-interface.a960d638.js.map"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var $f82372cb049f3f6e$exports = require("./map-interface.69b2e2a9.js");
|
|
2
|
-
var $f1ee93b3850b066e$exports = require("./map-interface.
|
|
2
|
+
var $f1ee93b3850b066e$exports = require("./map-interface.7170f35e.js");
|
|
3
3
|
var $22d777cd2a9d570f$exports = require("./map-interface.12e5d744.js");
|
|
4
4
|
var $a30c88b53a633983$exports = require("./map-interface.24a1c14e.js");
|
|
5
5
|
var $e3f20811e81c400e$exports = require("./map-interface.11056b04.js");
|
|
@@ -33,4 +33,4 @@ $parcel$exportWildcard(module.exports, $a30c88b53a633983$exports);
|
|
|
33
33
|
$parcel$exportWildcard(module.exports, $e3f20811e81c400e$exports);
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=map-interface.
|
|
36
|
+
//# sourceMappingURL=map-interface.c5061c96.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/map-interface/src/location-details/index.ts"],"sourcesContent":["export * from \"./fossil-collections\";\nexport * from \"./xdd-panel\";\nexport * from \"./reg-strat\";\nexport * from \"./physiography\";\nexport * from \"./macrostrat-linked\";\n"],"names":[],"version":3,"file":"map-interface.
|
|
1
|
+
{"mappings":"","sources":["packages/map-interface/src/location-details/index.ts"],"sourcesContent":["export * from \"./fossil-collections\";\nexport * from \"./xdd-panel\";\nexport * from \"./reg-strat\";\nexport * from \"./physiography\";\nexport * from \"./macrostrat-linked\";\n"],"names":[],"version":3,"file":"map-interface.c5061c96.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"mappings":"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","sources":["packages/map-interface/src/helpers.ts"],"sourcesContent":["import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n //let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n //if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n //didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!map.loaded()) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":[],"version":3,"file":"map-interface.cf6c9a68.js.map"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { ReactNode, FunctionComponentElement, JSXElementConstructor, ReactElement, DOMAttributes, DOMElement, DetailedReactHTMLElement, ComponentType } from "react";
|
|
2
2
|
import { ButtonProps, CardProps } from "@blueprintjs/core";
|
|
3
|
-
import { ParsedQuery } from "query-string";
|
|
4
3
|
import { LngLatBounds, LngLatLike, LightSpecification, LightsSpecification, TerrainSpecification, FogSpecification, SnowSpecification, RainSpecification, CameraSpecification, ColorThemeSpecification, IndoorSpecification, ImportSpecification, IconsetsSpecification, SchemaSpecification, SourcesSpecification, TransitionSpecification, ProjectionSpecification, ModelsSpecification, FeaturesetsSpecification, StyleSpecification } from "mapbox-gl";
|
|
5
4
|
import { Hyper } from "@macrostrat/hyper";
|
|
5
|
+
import { ParsedQuery } from "query-string";
|
|
6
6
|
type LatLng = {
|
|
7
7
|
lng: number;
|
|
8
8
|
lat: number;
|
|
@@ -56,34 +56,6 @@ export function FloatingNavbar({ className, children, headerElement, title, stat
|
|
|
56
56
|
width: string | number;
|
|
57
57
|
};
|
|
58
58
|
}, string | JSXElementConstructor<any>>;
|
|
59
|
-
interface LocationHashParams {
|
|
60
|
-
x?: string;
|
|
61
|
-
y?: string;
|
|
62
|
-
z?: string;
|
|
63
|
-
a?: string;
|
|
64
|
-
e?: string;
|
|
65
|
-
}
|
|
66
|
-
export function applyMapPositionToHash(args: LocationHashParams, mapPosition: MapPosition | null): void;
|
|
67
|
-
export function getMapPositionForHash(hashData: ParsedQuery<string>, centerPosition: LatLng | null): MapPosition;
|
|
68
|
-
export function ValueWithUnit(props: any): DOMElement<DOMAttributes<Element>, Element>;
|
|
69
|
-
export function DegreeCoord(props: any): FunctionComponentElement<any>;
|
|
70
|
-
export interface LngLatProps {
|
|
71
|
-
/** Map position */
|
|
72
|
-
position: mapboxgl.LngLatLike | null;
|
|
73
|
-
className?: string;
|
|
74
|
-
/** Zoom level (used to infer coordinate rounding if provided) */
|
|
75
|
-
zoom?: number;
|
|
76
|
-
/** Number of decimal places to round coordinates to */
|
|
77
|
-
precision?: number;
|
|
78
|
-
/** Function to format coordinates */
|
|
79
|
-
format?: (val: number, precision: number) => string;
|
|
80
|
-
}
|
|
81
|
-
export function LngLatCoords(props: LngLatProps): ReactElement<{
|
|
82
|
-
className: string;
|
|
83
|
-
}, string | JSXElementConstructor<any>>;
|
|
84
|
-
export function Elevation(props: any): ReactElement<{
|
|
85
|
-
className: any;
|
|
86
|
-
}, string | JSXElementConstructor<any>>;
|
|
87
59
|
interface InfoDrawerHeaderProps {
|
|
88
60
|
onClose?: () => void;
|
|
89
61
|
position?: LngLatLike;
|
|
@@ -323,18 +295,6 @@ export const DevMapPage: typeof MapInspector;
|
|
|
323
295
|
export function FossilCollections(props: any): FunctionComponentElement<{
|
|
324
296
|
data: any;
|
|
325
297
|
}>;
|
|
326
|
-
export interface XDDSnippet {
|
|
327
|
-
pubname: string;
|
|
328
|
-
publisher: string;
|
|
329
|
-
_gddid: string;
|
|
330
|
-
title: string;
|
|
331
|
-
doi: string;
|
|
332
|
-
coverDate: string;
|
|
333
|
-
URL: string;
|
|
334
|
-
authors: string;
|
|
335
|
-
hits: number;
|
|
336
|
-
highlight: string[];
|
|
337
|
-
}
|
|
338
298
|
export function XddExpansion({ xddInfo, expanded, nestedExpanded, }: {
|
|
339
299
|
xddInfo: any;
|
|
340
300
|
expanded?: boolean;
|
|
@@ -361,5 +321,14 @@ export function RegionalStratigraphy({ mapInfo, columnInfo, columnURL, expanded,
|
|
|
361
321
|
}): FunctionComponentElement<any>;
|
|
362
322
|
export function Physiography(props: any): FunctionComponentElement<any>;
|
|
363
323
|
export function MacrostratLinkedData(props: any): FunctionComponentElement<any>;
|
|
324
|
+
interface LocationHashParams {
|
|
325
|
+
x?: string;
|
|
326
|
+
y?: string;
|
|
327
|
+
z?: string;
|
|
328
|
+
a?: string;
|
|
329
|
+
e?: string;
|
|
330
|
+
}
|
|
331
|
+
export function applyMapPositionToHash(args: LocationHashParams, mapPosition: MapPosition | null): void;
|
|
332
|
+
export function getMapPositionForHash(hashData: ParsedQuery<string>, centerPosition: LatLng | null): MapPosition;
|
|
364
333
|
|
|
365
334
|
//# sourceMappingURL=index.d.ts.map
|