@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.
Files changed (114) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/index.js +5 -5
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/map-interface.225c9340.js +71 -0
  5. package/dist/cjs/map-interface.225c9340.js.map +1 -0
  6. package/dist/cjs/map-interface.3ca778c5.js +57 -0
  7. package/dist/cjs/map-interface.3ca778c5.js.map +1 -0
  8. package/dist/cjs/map-interface.4267aa3a.js +68 -0
  9. package/dist/cjs/map-interface.4267aa3a.js.map +1 -0
  10. package/dist/cjs/{map-interface.dcbd3874.js → map-interface.4a3d9662.js} +4 -4
  11. package/dist/cjs/map-interface.4a3d9662.js.map +1 -0
  12. package/dist/cjs/{map-interface.10d442f4.js → map-interface.67001b26.js} +2 -2
  13. package/dist/cjs/{map-interface.10d442f4.js.map → map-interface.67001b26.js.map} +1 -1
  14. package/dist/cjs/{map-interface.3bcda63a.js → map-interface.7170f35e.js} +3 -4
  15. package/dist/cjs/map-interface.7170f35e.js.map +1 -0
  16. package/dist/cjs/{map-interface.3bc4f731.js → map-interface.a3c2552f.js} +2 -2
  17. package/dist/cjs/{map-interface.3bc4f731.js.map → map-interface.a3c2552f.js.map} +1 -1
  18. package/dist/cjs/{map-interface.28d1a6b7.js → map-interface.a960d638.js} +2 -2
  19. package/dist/cjs/{map-interface.28d1a6b7.js.map → map-interface.a960d638.js.map} +1 -1
  20. package/dist/cjs/{map-interface.66958831.js → map-interface.c5061c96.js} +2 -2
  21. package/dist/cjs/{map-interface.66958831.js.map → map-interface.c5061c96.js.map} +1 -1
  22. package/dist/cjs/map-interface.cf6c9a68.js.map +1 -1
  23. package/dist/esm/index.d.ts +10 -41
  24. package/dist/esm/index.d.ts.map +1 -1
  25. package/dist/esm/index.js +5 -5
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/map-interface.2350f590.js +48 -0
  28. package/dist/esm/map-interface.2350f590.js.map +1 -0
  29. package/dist/esm/{map-interface.ec2278ab.js → map-interface.2892a5fb.js} +2 -2
  30. package/dist/esm/{map-interface.ec2278ab.js.map → map-interface.2892a5fb.js.map} +1 -1
  31. package/dist/esm/{map-interface.90d9023c.js → map-interface.557de808.js} +2 -2
  32. package/dist/esm/{map-interface.90d9023c.js.map → map-interface.557de808.js.map} +1 -1
  33. package/dist/esm/map-interface.64c62ba1.js +62 -0
  34. package/dist/esm/map-interface.64c62ba1.js.map +1 -0
  35. package/dist/esm/{map-interface.54ccd41f.js → map-interface.6e65dcaf.js} +2 -2
  36. package/dist/esm/{map-interface.54ccd41f.js.map → map-interface.6e65dcaf.js.map} +1 -1
  37. package/dist/esm/{map-interface.00ecf2ee.js → map-interface.a8c94450.js} +3 -4
  38. package/dist/esm/map-interface.a8c94450.js.map +1 -0
  39. package/dist/esm/map-interface.c2a61cbf.js +62 -0
  40. package/dist/esm/map-interface.c2a61cbf.js.map +1 -0
  41. package/dist/esm/{map-interface.e20a9bac.js → map-interface.e418553b.js} +4 -4
  42. package/dist/esm/map-interface.e418553b.js.map +1 -0
  43. package/dist/esm/{map-interface.21fab792.js → map-interface.e63d862d.js} +2 -2
  44. package/dist/esm/{map-interface.21fab792.js.map → map-interface.e63d862d.js.map} +1 -1
  45. package/dist/esm/map-interface.f7b8bdb7.js.map +1 -1
  46. package/dist/node/index.js +1 -1
  47. package/dist/node/index.js.map +1 -1
  48. package/dist/node/map-interface.33b7734a.js.map +1 -1
  49. package/dist/node/map-interface.41e916d1.js +2 -0
  50. package/dist/node/map-interface.41e916d1.js.map +1 -0
  51. package/dist/node/{map-interface.6184dc0f.js → map-interface.4b4f8fdf.js} +2 -2
  52. package/dist/node/{map-interface.6184dc0f.js.map → map-interface.4b4f8fdf.js.map} +1 -1
  53. package/dist/node/map-interface.5736d6f8.js +2 -0
  54. package/dist/node/map-interface.5736d6f8.js.map +1 -0
  55. package/dist/node/map-interface.593e09ed.js +2 -0
  56. package/dist/node/map-interface.593e09ed.js.map +1 -0
  57. package/dist/node/{map-interface.ce86a010.js → map-interface.6314eef1.js} +2 -2
  58. package/dist/node/{map-interface.ce86a010.js.map → map-interface.6314eef1.js.map} +1 -1
  59. package/dist/node/{map-interface.55a1f38d.js → map-interface.78e05655.js} +2 -2
  60. package/dist/node/{map-interface.55a1f38d.js.map → map-interface.78e05655.js.map} +1 -1
  61. package/dist/node/{map-interface.aa4d45ff.js → map-interface.b33fab5e.js} +2 -2
  62. package/dist/node/map-interface.b33fab5e.js.map +1 -0
  63. package/dist/node/{map-interface.7e13bea8.js → map-interface.bf86da7c.js} +2 -2
  64. package/dist/node/{map-interface.7e13bea8.js.map → map-interface.bf86da7c.js.map} +1 -1
  65. package/dist/node/map-interface.f13f7aeb.js +2 -0
  66. package/dist/node/map-interface.f13f7aeb.js.map +1 -0
  67. package/package.json +8 -8
  68. package/src/{location-info/hash-string.ts → hash-string.ts} +4 -1
  69. package/src/helpers.ts +0 -2
  70. package/src/index.ts +1 -1
  71. package/src/location-details/xdd-panel/article.ts +67 -0
  72. package/src/location-details/xdd-panel/index.ts +2 -17
  73. package/src/location-details/xdd-panel/{Journal.tsx → journal.ts} +15 -5
  74. package/src/location-panel/header.ts +1 -1
  75. package/dist/cjs/map-interface.2401af7a.js +0 -59
  76. package/dist/cjs/map-interface.2401af7a.js.map +0 -1
  77. package/dist/cjs/map-interface.3bcda63a.js.map +0 -1
  78. package/dist/cjs/map-interface.64823b7c.js +0 -129
  79. package/dist/cjs/map-interface.64823b7c.js.map +0 -1
  80. package/dist/cjs/map-interface.71e61c74.js +0 -73
  81. package/dist/cjs/map-interface.71e61c74.js.map +0 -1
  82. package/dist/cjs/map-interface.860fcb7e.js +0 -67
  83. package/dist/cjs/map-interface.860fcb7e.js.map +0 -1
  84. package/dist/cjs/map-interface.dcbd3874.js.map +0 -1
  85. package/dist/cjs/map-interface.dfaad4a1.js +0 -36
  86. package/dist/cjs/map-interface.dfaad4a1.js.map +0 -1
  87. package/dist/esm/map-interface.00ecf2ee.js.map +0 -1
  88. package/dist/esm/map-interface.3ef9d0ae.js +0 -99
  89. package/dist/esm/map-interface.3ef9d0ae.js.map +0 -1
  90. package/dist/esm/map-interface.767fdc4a.js +0 -64
  91. package/dist/esm/map-interface.767fdc4a.js.map +0 -1
  92. package/dist/esm/map-interface.9fac5fa6.js +0 -50
  93. package/dist/esm/map-interface.9fac5fa6.js.map +0 -1
  94. package/dist/esm/map-interface.c4fa120d.js +0 -28
  95. package/dist/esm/map-interface.c4fa120d.js.map +0 -1
  96. package/dist/esm/map-interface.e20a9bac.js.map +0 -1
  97. package/dist/esm/map-interface.e50c290f.js +0 -61
  98. package/dist/esm/map-interface.e50c290f.js.map +0 -1
  99. package/dist/node/map-interface.42a4b05a.js +0 -2
  100. package/dist/node/map-interface.42a4b05a.js.map +0 -1
  101. package/dist/node/map-interface.48262cbb.js +0 -2
  102. package/dist/node/map-interface.48262cbb.js.map +0 -1
  103. package/dist/node/map-interface.56b5b2ee.js +0 -2
  104. package/dist/node/map-interface.56b5b2ee.js.map +0 -1
  105. package/dist/node/map-interface.9e6751ac.js +0 -2
  106. package/dist/node/map-interface.9e6751ac.js.map +0 -1
  107. package/dist/node/map-interface.aa4d45ff.js.map +0 -1
  108. package/dist/node/map-interface.d92b296e.js +0 -2
  109. package/dist/node/map-interface.d92b296e.js.map +0 -1
  110. package/dist/node/map-interface.e0032d67.js +0 -2
  111. package/dist/node/map-interface.e0032d67.js.map +0 -1
  112. package/src/location-details/xdd-panel/Article.tsx +0 -69
  113. package/src/location-info/index.ts +0 -100
  114. 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.10d442f4.js");
3
- var $9acbb47bf7cb7660$exports = require("./map-interface.3bc4f731.js");
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.66958831.js");
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
@@ -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 \"./location-info\";\nexport * from \"./expansion-panel\";\nexport * from \"./location-details\";\n"],"names":[],"version":3,"file":"index.js.map"}
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, $860d9939f7032c69$exports.LngLatCoords), {
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, $860d9939f7032c69$exports.Elevation), {
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.dcbd3874.js.map
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.dcbd3874.js");
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.10d442f4.js.map
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.10d442f4.js.map"}
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 $696ab853d6291637$exports = require("./map-interface.2401af7a.js");
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, $696ab853d6291637$exports.default), {
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.3bcda63a.js.map
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.28d1a6b7.js");
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.3bc4f731.js.map
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.3bc4f731.js.map"}
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.10d442f4.js");
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.28d1a6b7.js.map
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.28d1a6b7.js.map"}
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.3bcda63a.js");
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.66958831.js.map
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.66958831.js.map"}
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":"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","sources":["packages/map-interface/src/helpers.ts"],"sourcesContent":["import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapStatus,\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 mapboxgl from \"mapbox-gl\";\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"}
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"}
@@ -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