@macrostrat/map-interface 1.5.2 → 1.5.4

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 (268) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/index.js +2 -2
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/map-interface.0154f76c.js +36 -0
  5. package/dist/cjs/map-interface.0154f76c.js.map +1 -0
  6. package/dist/cjs/map-interface.1faa2839.js +14 -0
  7. package/dist/cjs/map-interface.1faa2839.js.map +1 -0
  8. package/dist/cjs/map-interface.1fdaaaf6.js +135 -0
  9. package/dist/cjs/map-interface.1fdaaaf6.js.map +1 -0
  10. package/dist/cjs/{map-interface.744b121c.js → map-interface.23d5c62c.js} +3 -4
  11. package/dist/cjs/map-interface.23d5c62c.js.map +1 -0
  12. package/dist/cjs/map-interface.2401af7a.js +59 -0
  13. package/dist/cjs/map-interface.2401af7a.js.map +1 -0
  14. package/dist/cjs/map-interface.24a1c14e.js +46 -0
  15. package/dist/cjs/map-interface.24a1c14e.js.map +1 -0
  16. package/dist/cjs/map-interface.2a4a5470.js +34 -0
  17. package/dist/cjs/map-interface.2a4a5470.js.map +1 -0
  18. package/dist/cjs/{map-interface.71259cf9.css → map-interface.368b346c.css} +10 -10
  19. package/dist/{esm/map-interface.409f6268.js.map → cjs/map-interface.368b346c.css.map} +1 -1
  20. package/dist/cjs/map-interface.3bcda63a.js +66 -0
  21. package/dist/cjs/map-interface.3bcda63a.js.map +1 -0
  22. package/dist/cjs/map-interface.441d3b83.css +69 -0
  23. package/dist/cjs/map-interface.441d3b83.css.map +1 -0
  24. package/dist/cjs/map-interface.5a4f4529.js +38 -0
  25. package/dist/cjs/map-interface.5a4f4529.js.map +1 -0
  26. package/dist/cjs/{map-interface.1bfa8ff4.css → map-interface.633d24e6.css} +5 -5
  27. package/dist/cjs/map-interface.633d24e6.css.map +1 -0
  28. package/dist/cjs/{map-interface.4264e7e1.js → map-interface.71e61c74.js} +19 -19
  29. package/dist/cjs/map-interface.71e61c74.js.map +1 -0
  30. package/dist/cjs/{map-interface.84080d80.js → map-interface.b15c1893.js} +10 -10
  31. package/dist/cjs/map-interface.b15c1893.js.map +1 -0
  32. package/dist/cjs/map-interface.ce2c83fa.js +17 -0
  33. package/dist/cjs/map-interface.ce2c83fa.js.map +1 -0
  34. package/dist/cjs/map-interface.e109c93a.js +100 -0
  35. package/dist/cjs/map-interface.e109c93a.js.map +1 -0
  36. package/dist/cjs/map-interface.e53278ff.js +390 -0
  37. package/dist/cjs/map-interface.e53278ff.js.map +1 -0
  38. package/dist/cjs/map-interface.f4227aaa.js +123 -0
  39. package/dist/cjs/map-interface.f4227aaa.js.map +1 -0
  40. package/dist/cjs/map-interface.f9611285.js +32 -0
  41. package/dist/cjs/map-interface.f9611285.js.map +1 -0
  42. package/dist/esm/index.d.ts +39 -1
  43. package/dist/esm/index.d.ts.map +1 -1
  44. package/dist/esm/index.js +2 -2
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/map-interface.00ecf2ee.js +56 -0
  47. package/dist/esm/map-interface.00ecf2ee.js.map +1 -0
  48. package/dist/esm/map-interface.021cf79b.js +18 -0
  49. package/dist/esm/map-interface.021cf79b.js.map +1 -0
  50. package/dist/esm/map-interface.13e6d768.js +130 -0
  51. package/dist/esm/map-interface.13e6d768.js.map +1 -0
  52. package/dist/esm/{map-interface.b7a0dc07.js → map-interface.316fd76a.js} +8 -8
  53. package/dist/esm/map-interface.316fd76a.js.map +1 -0
  54. package/dist/esm/{map-interface.2daa72f9.js → map-interface.578a7505.js} +3 -4
  55. package/dist/esm/map-interface.578a7505.js.map +1 -0
  56. package/dist/esm/map-interface.59896194.js +37 -0
  57. package/dist/esm/map-interface.59896194.js.map +1 -0
  58. package/dist/esm/map-interface.70d6a7ff.js +16 -0
  59. package/dist/esm/map-interface.70d6a7ff.js.map +1 -0
  60. package/dist/esm/map-interface.767fdc4a.js +64 -0
  61. package/dist/esm/map-interface.767fdc4a.js.map +1 -0
  62. package/dist/esm/map-interface.7ea8a1e0.js +40 -0
  63. package/dist/esm/map-interface.7ea8a1e0.js.map +1 -0
  64. package/dist/esm/map-interface.9fac5fa6.js +50 -0
  65. package/dist/esm/map-interface.9fac5fa6.js.map +1 -0
  66. package/dist/esm/map-interface.b97aca89.js +25 -0
  67. package/dist/esm/map-interface.b97aca89.js.map +1 -0
  68. package/dist/esm/map-interface.bdef07d2.js +34 -0
  69. package/dist/esm/map-interface.bdef07d2.js.map +1 -0
  70. package/dist/esm/map-interface.c1d19ef4.js +114 -0
  71. package/dist/esm/map-interface.c1d19ef4.js.map +1 -0
  72. package/dist/esm/map-interface.cfc9c190.js +15 -0
  73. package/dist/esm/map-interface.cfc9c190.js.map +1 -0
  74. package/dist/esm/map-interface.f51caacc.js +385 -0
  75. package/dist/esm/map-interface.f51caacc.js.map +1 -0
  76. package/dist/esm/map-interface.fb96fb7e.js +94 -0
  77. package/dist/esm/map-interface.fb96fb7e.js.map +1 -0
  78. package/dist/node/index.js +1 -1
  79. package/dist/node/index.js.map +1 -1
  80. package/dist/node/map-interface.206d8dd9.js +2 -0
  81. package/dist/node/map-interface.206d8dd9.js.map +1 -0
  82. package/dist/node/map-interface.432dd2f9.js +2 -0
  83. package/dist/node/map-interface.432dd2f9.js.map +1 -0
  84. package/dist/node/map-interface.48262cbb.js +2 -0
  85. package/dist/node/map-interface.48262cbb.js.map +1 -0
  86. package/dist/node/map-interface.82397845.js +2 -0
  87. package/dist/node/map-interface.82397845.js.map +1 -0
  88. package/dist/node/map-interface.8881e38a.js +2 -0
  89. package/dist/node/map-interface.8881e38a.js.map +1 -0
  90. package/dist/node/map-interface.9317d050.js +2 -0
  91. package/dist/node/map-interface.9317d050.js.map +1 -0
  92. package/dist/node/map-interface.9b24efb8.js +2 -0
  93. package/dist/node/map-interface.9b24efb8.js.map +1 -0
  94. package/dist/node/map-interface.9e6751ac.js +2 -0
  95. package/dist/node/map-interface.9e6751ac.js.map +1 -0
  96. package/dist/node/map-interface.a1252092.css +2 -0
  97. package/dist/node/map-interface.a1252092.css.map +1 -0
  98. package/dist/node/map-interface.a8a16138.js +2 -0
  99. package/dist/node/map-interface.a8a16138.js.map +1 -0
  100. package/dist/node/{map-interface.fcb95c23.js → map-interface.a8be0cba.js} +2 -2
  101. package/dist/node/map-interface.a8be0cba.js.map +1 -0
  102. package/dist/node/map-interface.aa4d45ff.js +2 -0
  103. package/dist/node/map-interface.aa4d45ff.js.map +1 -0
  104. package/dist/node/map-interface.ae3d2d83.js +2 -0
  105. package/dist/node/map-interface.ae3d2d83.js.map +1 -0
  106. package/dist/node/map-interface.c5c0ad06.js +2 -0
  107. package/dist/node/map-interface.c5c0ad06.js.map +1 -0
  108. package/dist/node/map-interface.d22d91e9.css +2 -0
  109. package/dist/node/map-interface.d22d91e9.css.map +1 -0
  110. package/dist/node/map-interface.d5eba479.css +2 -0
  111. package/dist/node/map-interface.d5eba479.css.map +1 -0
  112. package/dist/node/map-interface.e8790ed0.js +2 -0
  113. package/dist/node/map-interface.e8790ed0.js.map +1 -0
  114. package/dist/node/map-interface.f413c362.js +2 -0
  115. package/dist/node/map-interface.f413c362.js.map +1 -0
  116. package/dist/node/map-interface.fdd35e74.js +2 -0
  117. package/dist/node/map-interface.fdd35e74.js.map +1 -0
  118. package/package.json +2 -2
  119. package/src/index.ts +1 -1
  120. package/src/location-details/fetch.ts +57 -0
  121. package/src/{map-panel/components/info-drawer → location-details}/fossil-collections/collections.tsx +1 -2
  122. package/src/{map-panel/components/info-drawer → location-details}/fossil-collections/index.ts +1 -1
  123. package/src/location-details/index.ts +5 -0
  124. package/src/{map-panel/components → location-details}/info-blocks.ts +7 -5
  125. package/src/location-details/location-details.stories.ts +104 -0
  126. package/src/{map-panel/components/info-drawer → location-details}/macrostrat-linked.ts +31 -22
  127. package/src/{map-panel/components/info-drawer → location-details}/physiography.ts +8 -7
  128. package/src/{map-panel/components/info-drawer → location-details}/reg-strat.ts +26 -7
  129. package/src/{map-panel → location-details}/utils/fossils.ts +0 -2
  130. package/src/{map-panel/components/info-drawer → location-details}/xdd-panel/Journal.tsx +3 -1
  131. package/src/{map-panel/components/info-drawer → location-details}/xdd-panel/index.ts +18 -2
  132. package/dist/cjs/map-interface.02835ba5.js +0 -46
  133. package/dist/cjs/map-interface.02835ba5.js.map +0 -1
  134. package/dist/cjs/map-interface.07a195a5.js +0 -14
  135. package/dist/cjs/map-interface.07a195a5.js.map +0 -1
  136. package/dist/cjs/map-interface.0f2392a0.css +0 -64
  137. package/dist/cjs/map-interface.0f2392a0.css.map +0 -1
  138. package/dist/cjs/map-interface.141c7329.js +0 -58
  139. package/dist/cjs/map-interface.141c7329.js.map +0 -1
  140. package/dist/cjs/map-interface.1be58b40.css +0 -69
  141. package/dist/cjs/map-interface.1be58b40.css.map +0 -1
  142. package/dist/cjs/map-interface.1bfa8ff4.css.map +0 -1
  143. package/dist/cjs/map-interface.4264e7e1.js.map +0 -1
  144. package/dist/cjs/map-interface.533a7323.js +0 -113
  145. package/dist/cjs/map-interface.533a7323.js.map +0 -1
  146. package/dist/cjs/map-interface.58c87b08.js +0 -29
  147. package/dist/cjs/map-interface.58c87b08.js.map +0 -1
  148. package/dist/cjs/map-interface.5c8f9bde.js +0 -24
  149. package/dist/cjs/map-interface.5c8f9bde.js.map +0 -1
  150. package/dist/cjs/map-interface.5f0bd31b.js +0 -141
  151. package/dist/cjs/map-interface.5f0bd31b.js.map +0 -1
  152. package/dist/cjs/map-interface.71259cf9.css.map +0 -1
  153. package/dist/cjs/map-interface.727092bc.js +0 -381
  154. package/dist/cjs/map-interface.727092bc.js.map +0 -1
  155. package/dist/cjs/map-interface.744b121c.js.map +0 -1
  156. package/dist/cjs/map-interface.84080d80.js.map +0 -1
  157. package/dist/cjs/map-interface.937c0b90.js +0 -60
  158. package/dist/cjs/map-interface.937c0b90.js.map +0 -1
  159. package/dist/cjs/map-interface.9893b047.js +0 -38
  160. package/dist/cjs/map-interface.9893b047.js.map +0 -1
  161. package/dist/cjs/map-interface.b6e70f1b.js +0 -98
  162. package/dist/cjs/map-interface.b6e70f1b.js.map +0 -1
  163. package/dist/cjs/map-interface.d8e62b02.js +0 -17
  164. package/dist/cjs/map-interface.d8e62b02.js.map +0 -1
  165. package/dist/cjs/map-interface.ee59fc6e.js +0 -32
  166. package/dist/cjs/map-interface.ee59fc6e.js.map +0 -1
  167. package/dist/cjs/map-interface.fba5cf13.js +0 -136
  168. package/dist/cjs/map-interface.fba5cf13.js.map +0 -1
  169. package/dist/cjs/map-interface.fd9ad74c.js +0 -34
  170. package/dist/cjs/map-interface.fd9ad74c.js.map +0 -1
  171. package/dist/cjs/map-interface.ff2231f5.js +0 -37
  172. package/dist/cjs/map-interface.ff2231f5.js.map +0 -1
  173. package/dist/esm/map-interface.15ee4b90.js +0 -16
  174. package/dist/esm/map-interface.15ee4b90.js.map +0 -1
  175. package/dist/esm/map-interface.17a0e9a0.js +0 -51
  176. package/dist/esm/map-interface.17a0e9a0.js.map +0 -1
  177. package/dist/esm/map-interface.20193fc6.js +0 -92
  178. package/dist/esm/map-interface.20193fc6.js.map +0 -1
  179. package/dist/esm/map-interface.2daa72f9.js.map +0 -1
  180. package/dist/esm/map-interface.36bab86c.js +0 -31
  181. package/dist/esm/map-interface.36bab86c.js.map +0 -1
  182. package/dist/esm/map-interface.409f6268.js +0 -34
  183. package/dist/esm/map-interface.6981dd47.js +0 -131
  184. package/dist/esm/map-interface.6981dd47.js.map +0 -1
  185. package/dist/esm/map-interface.69a566f3.js +0 -25
  186. package/dist/esm/map-interface.69a566f3.js.map +0 -1
  187. package/dist/esm/map-interface.6c0f5044.js +0 -376
  188. package/dist/esm/map-interface.6c0f5044.js.map +0 -1
  189. package/dist/esm/map-interface.6c44beb8.js +0 -49
  190. package/dist/esm/map-interface.6c44beb8.js.map +0 -1
  191. package/dist/esm/map-interface.70fdf48a.js +0 -64
  192. package/dist/esm/map-interface.70fdf48a.js.map +0 -1
  193. package/dist/esm/map-interface.9123f5c8.js +0 -104
  194. package/dist/esm/map-interface.9123f5c8.js.map +0 -1
  195. package/dist/esm/map-interface.a0ea0c86.js +0 -18
  196. package/dist/esm/map-interface.a0ea0c86.js.map +0 -1
  197. package/dist/esm/map-interface.b7a0dc07.js.map +0 -1
  198. package/dist/esm/map-interface.b965dc94.js +0 -40
  199. package/dist/esm/map-interface.b965dc94.js.map +0 -1
  200. package/dist/esm/map-interface.ba2faf2f.js +0 -7
  201. package/dist/esm/map-interface.ba2faf2f.js.map +0 -1
  202. package/dist/esm/map-interface.ce6edbfa.js +0 -37
  203. package/dist/esm/map-interface.ce6edbfa.js.map +0 -1
  204. package/dist/esm/map-interface.d86c2fc5.js +0 -32
  205. package/dist/esm/map-interface.d86c2fc5.js.map +0 -1
  206. package/dist/esm/map-interface.e5607033.js +0 -136
  207. package/dist/esm/map-interface.e5607033.js.map +0 -1
  208. package/dist/node/map-interface.01fee32b.js +0 -2
  209. package/dist/node/map-interface.01fee32b.js.map +0 -1
  210. package/dist/node/map-interface.0755d245.css +0 -2
  211. package/dist/node/map-interface.0755d245.css.map +0 -1
  212. package/dist/node/map-interface.2c94d421.js +0 -2
  213. package/dist/node/map-interface.2c94d421.js.map +0 -1
  214. package/dist/node/map-interface.2dde967a.js +0 -2
  215. package/dist/node/map-interface.2dde967a.js.map +0 -1
  216. package/dist/node/map-interface.4dfbbb99.css +0 -2
  217. package/dist/node/map-interface.4dfbbb99.css.map +0 -1
  218. package/dist/node/map-interface.4e422f5e.js +0 -2
  219. package/dist/node/map-interface.4e422f5e.js.map +0 -1
  220. package/dist/node/map-interface.5fbb81b1.js +0 -2
  221. package/dist/node/map-interface.5fbb81b1.js.map +0 -1
  222. package/dist/node/map-interface.791d22a7.css +0 -2
  223. package/dist/node/map-interface.791d22a7.css.map +0 -1
  224. package/dist/node/map-interface.7963263e.js +0 -2
  225. package/dist/node/map-interface.7963263e.js.map +0 -1
  226. package/dist/node/map-interface.995ff472.js +0 -2
  227. package/dist/node/map-interface.995ff472.js.map +0 -1
  228. package/dist/node/map-interface.bbeeb59c.js +0 -2
  229. package/dist/node/map-interface.bbeeb59c.js.map +0 -1
  230. package/dist/node/map-interface.bf061b97.js +0 -2
  231. package/dist/node/map-interface.bf061b97.js.map +0 -1
  232. package/dist/node/map-interface.c3275c05.js +0 -2
  233. package/dist/node/map-interface.c3275c05.js.map +0 -1
  234. package/dist/node/map-interface.c8139e21.js +0 -2
  235. package/dist/node/map-interface.c8139e21.js.map +0 -1
  236. package/dist/node/map-interface.ca6e8916.js +0 -2
  237. package/dist/node/map-interface.ca6e8916.js.map +0 -1
  238. package/dist/node/map-interface.d430c066.css +0 -2
  239. package/dist/node/map-interface.d430c066.css.map +0 -1
  240. package/dist/node/map-interface.d4cd446a.js +0 -2
  241. package/dist/node/map-interface.d4cd446a.js.map +0 -1
  242. package/dist/node/map-interface.ecfe462b.js +0 -2
  243. package/dist/node/map-interface.ecfe462b.js.map +0 -1
  244. package/dist/node/map-interface.ee63d11f.js +0 -2
  245. package/dist/node/map-interface.ee63d11f.js.map +0 -1
  246. package/dist/node/map-interface.f42969c3.js +0 -2
  247. package/dist/node/map-interface.f42969c3.js.map +0 -1
  248. package/dist/node/map-interface.fbe01b07.js +0 -2
  249. package/dist/node/map-interface.fbe01b07.js.map +0 -1
  250. package/dist/node/map-interface.fcb95c23.js.map +0 -1
  251. package/dist/node/map-interface.fecb181b.js +0 -2
  252. package/dist/node/map-interface.fecb181b.js.map +0 -1
  253. package/src/map-panel/components/buttons.module.styl +0 -5
  254. package/src/map-panel/components/buttons.ts +0 -56
  255. package/src/map-panel/components/card.module.styl +0 -43
  256. package/src/map-panel/components/closeable-card.ts +0 -64
  257. package/src/map-panel/components/docs.module.styl +0 -93
  258. package/src/map-panel/components/docs.ts +0 -92
  259. package/src/map-panel/components/info-drawer/index.ts +0 -152
  260. package/src/map-panel/components/transitions/index.ts +0 -24
  261. package/src/map-panel/components/transitions/main.module.styl +0 -55
  262. package/src/map-panel/index.ts +0 -1
  263. /package/src/{map-panel/components/info-drawer → location-details}/fossil-collections/main.module.sass +0 -0
  264. /package/src/{map-panel/components → location-details}/info-blocks.module.styl +0 -0
  265. /package/src/{map-panel/components/info-drawer → location-details}/main.module.styl +0 -0
  266. /package/src/{map-panel → location-details}/utils/formatting.ts +0 -0
  267. /package/src/{map-panel → location-details}/utils/index.ts +0 -0
  268. /package/src/{map-panel/components/info-drawer → location-details}/xdd-panel/Article.tsx +0 -0
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["<anon>","packages/map-interface/src/location-details/utils/fossils.ts"],"sourcesContent":["function $415bccba1a7f9434$export$9355c61f37d969f4(data) {\n let occurrenceTree = {\n phyla: []\n };\n let rankMap = {\n 25: \"unranked\",\n 23: \"kingdom\",\n 22: \"subkingdom\",\n 21: \"superphylum\",\n 20: \"phylum\",\n 19: \"subphylum\",\n 18: \"superclass\",\n 17: \"class\",\n 16: \"subclass\",\n 15: \"infraclass\",\n 14: \"superorder\",\n 13: \"order\",\n 12: \"suborder\",\n 11: \"infraorder\",\n 10: \"superfamily\",\n 9: \"family\",\n 8: \"subfamily\",\n 7: \"tribe\",\n 6: \"subtribe\",\n 5: \"genus\",\n 4: \"subgenus\",\n 3: \"species\",\n 2: \"subspecies\"\n };\n function getIndex(data, term, property) {\n for(let i = 0, len = data.length; i < len; i++){\n if (data[i][property] === term) return i;\n }\n return -1;\n }\n data.forEach((d)=>{\n // Some preprocessing\n d.rank = d.rnk ? rankMap[d.rnk] : d.idr ? rankMap[d.idr] : \"Unknown\";\n d.italics = d.rnk < 6 ? \"italics\" : \"\";\n if (typeof d.tna === \"undefined\") d.tna = d.idn;\n d.old_name = d.tna.split(\" \")[0] != d.idg ? d.tna : \"\";\n d.url = d.rank === \"species\" ? d.idg + \" \" + d.ids : d.tid ? d.tid.split(\":\")[1] > 0 ? d.idg : \"\" : \"\";\n // If it has a genus name...\n if (d.idg) {\n let genusRes = d.rsg ? d.rsg + \" \" : \"\";\n let speciesRes = d.rss ? \" \" + d.rss + \" \" : \" \";\n d.genusRes = genusRes;\n // If it's a species...\n if (d.rank === \"species\") {\n d.display_name1 = d.tna;\n d.display_name2 = d.tna != d.idg + \" \" + d.ids ? \"(\" + d.tna + \")\" : \"\";\n d.display_name3 = \"\";\n } else {\n d.display_name1 = d.idg;\n d.display_name2 = speciesRes;\n d.display_name3 = d.ids;\n }\n } else {\n d.display_name1 = d.tna;\n d.display_name2 = \"\";\n }\n // Find unique phyla\n let phyla = [];\n for(let i = 0; i < occurrenceTree.phyla.length; i++)phyla.push(occurrenceTree.phyla[i].phylum);\n if (phyla.indexOf(d.phl) < 0) {\n let newPhylum = {\n phylum: d.phl,\n classes: []\n };\n occurrenceTree.phyla.push(newPhylum);\n }\n // Find unique phylum/class combinations\n let phyla_classes = [];\n for(let i = 0; i < occurrenceTree.phyla.length; i++)for(let j = 0; j < occurrenceTree.phyla[i].classes.length; j++)phyla_classes.push(occurrenceTree.phyla[i].phylum + \"-\" + occurrenceTree.phyla[i].classes[j].nameClass);\n if (phyla_classes.indexOf(d.phl + \"-\" + d.cll) < 0) {\n let newClass = {\n nameClass: d.cll,\n families: []\n };\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n occurrenceTree.phyla[phylumIndex][\"classes\"].push(newClass);\n }\n // Find unique phylum/class/family combinations\n let phyla_class_family = [];\n for(let i = 0; i < occurrenceTree.phyla.length; i++){\n for(let j = 0; j < occurrenceTree.phyla[i].classes.length; j++)for(let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++)phyla_class_family.push(occurrenceTree.phyla[i].phylum + \"-\" + occurrenceTree.phyla[i].classes[j].nameClass + \"-\" + occurrenceTree.phyla[i].classes[j].families[k].family);\n }\n if (phyla_class_family.indexOf(d.phl + \"-\" + d.cll + \"-\" + d.fml) < 0) {\n let newFamily = {\n family: d.fml,\n genera: []\n };\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n let classIndex = getIndex(occurrenceTree.phyla[phylumIndex].classes, d.cll, \"nameClass\");\n occurrenceTree.phyla[phylumIndex].classes[classIndex][\"families\"].push(newFamily);\n }\n // Place genera into the right phylum/class/family\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n let classIndex = getIndex(occurrenceTree.phyla[phylumIndex].classes, d.cll, \"nameClass\");\n let familyIndex = getIndex(occurrenceTree.phyla[phylumIndex].classes[classIndex].families, d.fml, \"family\");\n occurrenceTree.phyla[phylumIndex].classes[classIndex].families[familyIndex].genera.push(d);\n });\n for(let i = 0; i < occurrenceTree.phyla.length; i++){\n let undefinedClassIndex;\n for(let j = 0; j < occurrenceTree.phyla[i].classes.length; j++){\n let undefinedFamilyIndex;\n for(let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++)if (typeof occurrenceTree.phyla[i].classes[j].families[k].family === \"undefined\") {\n undefinedFamilyIndex = k;\n occurrenceTree.phyla[i].classes[j].families[k].family = (typeof occurrenceTree.phyla[i].classes[j].nameClass, \"Miscellaneous unranked taxa\");\n occurrenceTree.phyla[i].classes[j].families[k].noFamily = true;\n }\n if (typeof undefinedFamilyIndex != \"undefined\") occurrenceTree.phyla[i].classes[j].families.push(occurrenceTree.phyla[i].classes[j].families.splice(undefinedFamilyIndex, 1)[0]);\n if (typeof occurrenceTree.phyla[i].classes[j].nameClass === \"undefined\") {\n undefinedFamilyIndex = j;\n occurrenceTree.phyla[i].classes[j].nameClass = (typeof occurrenceTree.phyla[i].phylum, \"Miscellaneous unranked taxa\");\n occurrenceTree.phyla[i].classes[j].noClass = true;\n }\n }\n if (typeof undefinedClassIndex != \"undefined\") occurrenceTree.phyla[i].classes.push(occurrenceTree.phyla[i].classes.splice(undefinedClassIndex, 1)[0]);\n if (typeof occurrenceTree.phyla[i].phylum === \"undefined\") {\n occurrenceTree.phyla[i].phylum = \"Unranked taxa\";\n occurrenceTree.phyla[i].unranked = true;\n }\n }\n return occurrenceTree;\n}\n\n\n//# sourceMappingURL=map-interface.fdd35e74.js.map\n","export function makeOccurrenceTree(data) {\n let occurrenceTree = { phyla: [] };\n let rankMap = {\n 25: \"unranked\",\n 23: \"kingdom\",\n 22: \"subkingdom\",\n 21: \"superphylum\",\n 20: \"phylum\",\n 19: \"subphylum\",\n 18: \"superclass\",\n 17: \"class\",\n 16: \"subclass\",\n 15: \"infraclass\",\n 14: \"superorder\",\n 13: \"order\",\n 12: \"suborder\",\n 11: \"infraorder\",\n 10: \"superfamily\",\n 9: \"family\",\n 8: \"subfamily\",\n 7: \"tribe\",\n 6: \"subtribe\",\n 5: \"genus\",\n 4: \"subgenus\",\n 3: \"species\",\n 2: \"subspecies\",\n };\n\n function getIndex(data, term, property) {\n for (let i = 0, len = data.length; i < len; i++) {\n if (data[i][property] === term) return i;\n }\n return -1;\n }\n\n data.forEach((d) => {\n // Some preprocessing\n d.rank = d.rnk ? rankMap[d.rnk] : d.idr ? rankMap[d.idr] : \"Unknown\";\n d.italics = d.rnk < 6 ? \"italics\" : \"\";\n if (typeof d.tna === \"undefined\") {\n d.tna = d.idn;\n }\n d.old_name = d.tna.split(\" \")[0] != d.idg ? d.tna : \"\";\n d.url =\n d.rank === \"species\"\n ? d.idg + \" \" + d.ids\n : d.tid\n ? d.tid.split(\":\")[1] > 0\n ? d.idg\n : \"\"\n : \"\";\n\n // If it has a genus name...\n if (d.idg) {\n let genusRes = d.rsg ? d.rsg + \" \" : \"\";\n let speciesRes = d.rss ? \" \" + d.rss + \" \" : \" \";\n d.genusRes = genusRes;\n // If it's a species...\n if (d.rank === \"species\") {\n d.display_name1 = d.tna;\n d.display_name2 = d.tna != d.idg + \" \" + d.ids ? \"(\" + d.tna + \")\" : \"\";\n d.display_name3 = \"\";\n } else {\n d.display_name1 = d.idg;\n d.display_name2 = speciesRes;\n d.display_name3 = d.ids;\n }\n } else {\n d.display_name1 = d.tna;\n d.display_name2 = \"\";\n }\n\n // Find unique phyla\n let phyla = [];\n for (let i = 0; i < occurrenceTree.phyla.length; i++) {\n phyla.push(occurrenceTree.phyla[i].phylum);\n }\n\n if (phyla.indexOf(d.phl) < 0) {\n let newPhylum = { phylum: d.phl, classes: [] };\n occurrenceTree.phyla.push(newPhylum);\n }\n\n // Find unique phylum/class combinations\n let phyla_classes = [];\n for (let i = 0; i < occurrenceTree.phyla.length; i++) {\n for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {\n phyla_classes.push(\n occurrenceTree.phyla[i].phylum +\n \"-\" +\n occurrenceTree.phyla[i].classes[j].nameClass,\n );\n }\n }\n\n if (phyla_classes.indexOf(d.phl + \"-\" + d.cll) < 0) {\n let newClass = { nameClass: d.cll, families: [] };\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n occurrenceTree.phyla[phylumIndex][\"classes\"].push(newClass);\n }\n\n // Find unique phylum/class/family combinations\n let phyla_class_family = [];\n for (let i = 0; i < occurrenceTree.phyla.length; i++) {\n for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {\n for (\n let k = 0;\n k < occurrenceTree.phyla[i].classes[j].families.length;\n k++\n ) {\n phyla_class_family.push(\n occurrenceTree.phyla[i].phylum +\n \"-\" +\n occurrenceTree.phyla[i].classes[j].nameClass +\n \"-\" +\n occurrenceTree.phyla[i].classes[j].families[k].family,\n );\n }\n }\n }\n\n if (phyla_class_family.indexOf(d.phl + \"-\" + d.cll + \"-\" + d.fml) < 0) {\n let newFamily = { family: d.fml, genera: [] };\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n let classIndex = getIndex(\n occurrenceTree.phyla[phylumIndex].classes,\n d.cll,\n \"nameClass\",\n );\n occurrenceTree.phyla[phylumIndex].classes[classIndex][\"families\"].push(\n newFamily,\n );\n }\n\n // Place genera into the right phylum/class/family\n let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, \"phylum\");\n let classIndex = getIndex(\n occurrenceTree.phyla[phylumIndex].classes,\n d.cll,\n \"nameClass\",\n );\n let familyIndex = getIndex(\n occurrenceTree.phyla[phylumIndex].classes[classIndex].families,\n d.fml,\n \"family\",\n );\n occurrenceTree.phyla[phylumIndex].classes[classIndex].families[\n familyIndex\n ].genera.push(d);\n });\n\n for (let i = 0; i < occurrenceTree.phyla.length; i++) {\n let undefinedClassIndex;\n for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {\n let undefinedFamilyIndex;\n for (\n let k = 0;\n k < occurrenceTree.phyla[i].classes[j].families.length;\n k++\n ) {\n if (\n typeof occurrenceTree.phyla[i].classes[j].families[k].family ===\n \"undefined\"\n ) {\n undefinedFamilyIndex = k;\n occurrenceTree.phyla[i].classes[j].families[k].family =\n \"Miscellaneous \" +\n (typeof occurrenceTree.phyla[i].classes[j].nameClass ===\n \"undefined\")\n ? \"Miscellaneous unranked taxa\"\n : occurrenceTree.phyla[i].classes[j].nameClass;\n occurrenceTree.phyla[i].classes[j].families[k].noFamily = true;\n }\n }\n\n if (typeof undefinedFamilyIndex != \"undefined\") {\n occurrenceTree.phyla[i].classes[j].families.push(\n occurrenceTree.phyla[i].classes[j].families.splice(\n undefinedFamilyIndex,\n 1,\n )[0],\n );\n }\n\n if (typeof occurrenceTree.phyla[i].classes[j].nameClass === \"undefined\") {\n undefinedFamilyIndex = j;\n occurrenceTree.phyla[i].classes[j].nameClass =\n \"Miscellaneous \" +\n (typeof occurrenceTree.phyla[i].phylum === \"undefined\")\n ? \"Miscellaneous unranked taxa\"\n : occurrenceTree.phyla[i].phylum;\n occurrenceTree.phyla[i].classes[j].noClass = true;\n }\n }\n\n if (typeof undefinedClassIndex != \"undefined\") {\n occurrenceTree.phyla[i].classes.push(\n occurrenceTree.phyla[i].classes.splice(undefinedClassIndex, 1)[0],\n );\n }\n\n if (typeof occurrenceTree.phyla[i].phylum === \"undefined\") {\n occurrenceTree.phyla[i].phylum = \"Unranked taxa\";\n occurrenceTree.phyla[i].unranked = true;\n }\n }\n\n return occurrenceTree;\n}\n"],"names":["$415bccba1a7f9434$export$9355c61f37d969f4","data","occurrenceTree","phyla","rankMap","getIndex","term","property","i","len","length","forEach","d","rank","rnk","idr","italics","tna","idn","old_name","split","idg","url","ids","tid","genusRes","rsg","speciesRes","rss","display_name1","display_name2","display_name3","push","phylum","indexOf","phl","newPhylum","classes","phyla_classes","j","nameClass","cll","newClass","families","phylumIndex","phyla_class_family","k","family","fml","newFamily","genera","classIndex","familyIndex","undefinedClassIndex","undefinedFamilyIndex","noFamily","splice","noClass","unranked"],"version":3,"file":"map-interface.fdd35e74.js.map","sourceRoot":"../../../../"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@macrostrat/map-interface",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "description": "Map interface for Macrostrat",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -12,7 +12,7 @@
12
12
  "@macrostrat/color-utils": "^1.1.1",
13
13
  "@macrostrat/data-components": "^0.2.0",
14
14
  "@macrostrat/hyper": "^3.0.6",
15
- "@macrostrat/map-interface": "1.5.2",
15
+ "@macrostrat/map-interface": "1.5.4",
16
16
  "@macrostrat/mapbox-react": "^2.6.2",
17
17
  "@macrostrat/mapbox-utils": "^1.6.0",
18
18
  "@macrostrat/ui-components": "^4.4.4",
package/src/index.ts CHANGED
@@ -8,4 +8,4 @@ export * from "./helpers";
8
8
  export * from "./utils";
9
9
  export * from "./location-info";
10
10
  export * from "./expansion-panel";
11
- export * from "./map-panel";
11
+ export * from "./location-details";
@@ -0,0 +1,57 @@
1
+ import { useAPIResult } from "@macrostrat/ui-components";
2
+
3
+ const apiV2Prefix = `https://dev.macrostrat.org/api/v2`;
4
+ const gddDomain = `https://xdd.wisc.edu`;
5
+ const paleobioDomain = `https://paleobiodb.org`;
6
+
7
+ export function fetchMapInfo(lng, lat, z) {
8
+ return useAPIResult(`${apiV2Prefix}/mobile/map_query_v2`, {
9
+ lng,
10
+ lat,
11
+ z,
12
+ })?.success?.data;
13
+ }
14
+
15
+ export function fetchColumnInfo(lng, lat) {
16
+ return useAPIResult(`${apiV2Prefix}/columns`, {
17
+ lat,
18
+ lng,
19
+ response: "long",
20
+ })?.success?.data?.[0];
21
+ }
22
+
23
+ export function fetchXddInfo(stratNames) {
24
+ return useAPIResult(`${gddDomain}/api/v1/snippets`, {
25
+ article_limit: 20,
26
+ term: stratNames?.map((d) => d.rank_name).join(","),
27
+ })?.success?.data;
28
+ }
29
+
30
+ export function fetchFossilInfo(lng, lat) {
31
+ const collectionResponse = useAPIResult(
32
+ `${paleobioDomain}/data1.2/colls/list.json?lngmin=${lng - 0.1}&lngmax=${lng + 0.1}&latmin=${lat - 0.1}&latmax=${lat + 0.1}`,
33
+ )?.records;
34
+
35
+ const occurrences = useAPIResult(
36
+ `${paleobioDomain}/data1.2/occs/list.json?lngmin=${lng - 0.1}&lngmax=${lng + 0.1}&latmin=${lat - 0.1}&latmax=${lat + 0.1}`,
37
+ )?.records;
38
+
39
+ if (!collectionResponse || !occurrences) {
40
+ return null;
41
+ }
42
+
43
+ try {
44
+ return collectionResponse.map((col) => {
45
+ col.occurrences = [];
46
+ occurrences.forEach((occ) => {
47
+ if (occ.cid === col.oid) {
48
+ col.occurrences.push(occ);
49
+ }
50
+ });
51
+ return col;
52
+ });
53
+ } catch (error) {
54
+ console.log(error);
55
+ return [];
56
+ }
57
+ }
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Tabs, Tab } from "@blueprintjs/core";
3
- import { makeOccurrenceTree } from "../../../utils";
3
+ import { makeOccurrenceTree } from "../utils";
4
4
  import hyper from "@macrostrat/hyper";
5
5
  import styles from "./main.module.sass";
6
6
  const h = hyper.styled(styles);
@@ -14,7 +14,6 @@ export default function PBDBCollections({ data }) {
14
14
  }
15
15
 
16
16
  function FossilCollection({ col }) {
17
- console.log("FossilCollection", col);
18
17
  let occurrenceTree = makeOccurrenceTree(col.occurrences);
19
18
  return h(
20
19
  "div.fossil-collection",
@@ -3,7 +3,7 @@ import { ExpansionPanel } from "@macrostrat/map-interface";
3
3
  import PBDBCollections from "./collections";
4
4
 
5
5
  export function FossilCollections(props) {
6
- const { data, expanded } = props;
6
+ const { data, expanded = false } = props;
7
7
 
8
8
  if (!data || data.length <= 0) {
9
9
  return null;
@@ -0,0 +1,5 @@
1
+ export * from "./fossil-collections";
2
+ export * from "./xdd-panel";
3
+ export * from "./reg-strat";
4
+ export * from "./physiography";
5
+ export * from "./macrostrat-linked";
@@ -1,5 +1,5 @@
1
1
  import hyper from "@macrostrat/hyper";
2
- import { hexToRgb } from "../utils";
2
+ import { hexToRgb } from "./utils";
3
3
  import styles from "./info-blocks.module.styl";
4
4
  import { useDarkMode } from "@macrostrat/ui-components";
5
5
  import chroma from "chroma-js";
@@ -15,14 +15,14 @@ function getColor(color, darkenAmount) {
15
15
  }
16
16
 
17
17
  function IntervalChip(props) {
18
- const { interval, className } = props;
18
+ const { interval, className, intervalURL } = props;
19
19
  const darkMode = useDarkMode();
20
20
  const darkenAmount = darkMode.isEnabled ? 2 : 0;
21
21
 
22
22
  return h(
23
23
  "a.chip-link",
24
24
  {
25
- href: `/lex/intervals/${interval.int_id}`,
25
+ href: `${intervalURL}/${interval.int_id}`,
26
26
  },
27
27
  h(
28
28
  "div.chip.age-chip",
@@ -49,12 +49,14 @@ function Age({ age }) {
49
49
  }
50
50
 
51
51
  function AgeChip(props) {
52
- const { t_int, b_int } = props;
52
+ const { t_int, b_int, intervalURL } = props;
53
+
53
54
  return h("div.age-chip-container", [
54
- h(IntervalChip, { interval: b_int }),
55
+ h(IntervalChip, { interval: b_int, intervalURL }),
55
56
  h.if(b_int.int_id != props.t_int.int_id)(IntervalChip, {
56
57
  interval: t_int,
57
58
  className: "age-chip-t-int",
59
+ intervalURL,
58
60
  }),
59
61
  ]);
60
62
  }
@@ -0,0 +1,104 @@
1
+ import { ComponentMeta } from "@storybook/react-vite";
2
+ import h from "@macrostrat/hyper";
3
+ import { RegionalStratigraphy } from "./reg-strat";
4
+ import { Physiography } from "./physiography";
5
+ import { MacrostratLinkedData } from "./macrostrat-linked";
6
+ import { XddExpansion } from "./xdd-panel";
7
+ import {
8
+ fetchMapInfo,
9
+ fetchColumnInfo,
10
+ fetchXddInfo,
11
+ fetchFossilInfo,
12
+ } from "./fetch";
13
+ import { FossilCollections } from "./fossil-collections";
14
+
15
+ export default {
16
+ title: "Map interface/Location panel details",
17
+ // More on argTypes: https://storybook.js.org/docs/react/api/argtypes
18
+ args: {},
19
+ } as ComponentMeta<any>;
20
+
21
+ const lat = 44.60085563149249;
22
+ const lng = -96.16783150353609;
23
+ const zoom = 3.9392171056922325;
24
+
25
+ export function RegionalStratigraphyExample() {
26
+ const mapInfo = fetchMapInfo(lng, lat, zoom);
27
+ const columnInfo = fetchColumnInfo(lng, lat);
28
+
29
+ if (!mapInfo || !mapInfo.mapData) {
30
+ return null;
31
+ }
32
+
33
+ return h(RegionalStratigraphy, {
34
+ mapInfo,
35
+ columnInfo,
36
+ columnURL: "https://dev.macrostrat.org/columns/",
37
+ expanded: true,
38
+ });
39
+ }
40
+
41
+ export function PhysiographyExample() {
42
+ const mapInfo = fetchMapInfo(lng, lat, zoom);
43
+
44
+ if (!mapInfo) {
45
+ return null;
46
+ }
47
+
48
+ return h(Physiography, {
49
+ mapInfo,
50
+ expanded: true,
51
+ });
52
+ }
53
+
54
+ export function MacrostratLinkedDataExample() {
55
+ const mapInfo = fetchMapInfo(lng, lat, zoom);
56
+
57
+ if (!mapInfo) {
58
+ return null;
59
+ }
60
+
61
+ const source =
62
+ mapInfo && mapInfo?.mapData && mapInfo?.mapData.length
63
+ ? mapInfo?.mapData[0]
64
+ : {
65
+ name: null,
66
+ descrip: null,
67
+ comments: null,
68
+ liths: [],
69
+ b_int: {},
70
+ t_int: {},
71
+ ref: {},
72
+ };
73
+
74
+ return h(MacrostratLinkedData, {
75
+ mapInfo,
76
+ source,
77
+ stratNameURL: "https://dev.macrostrat.org/lex/strat-names",
78
+ environmentURL: "https://dev.macrostrat.org/lex/environments",
79
+ intervalURL: "https://dev.macrostrat.org/lex/intervals",
80
+ lithologyURL: "https://dev.macrostrat.org/lex/lithologies",
81
+ expanded: true,
82
+ });
83
+ }
84
+
85
+ export function xddInfoExample() {
86
+ const mapInfo = fetchMapInfo(lng, lat, zoom);
87
+ const xddInfo = fetchXddInfo(mapInfo?.mapData?.[0]?.macrostrat?.strat_names);
88
+
89
+ if (!xddInfo) {
90
+ return null;
91
+ }
92
+
93
+ return h(XddExpansion, { xddInfo, expanded: true, nestedExpanded: true });
94
+ }
95
+
96
+ export function FossilsExample() {
97
+ const fossilInfo = fetchFossilInfo(-89.3938453, 43.0735407);
98
+
99
+ if (!fossilInfo) {
100
+ return null;
101
+ }
102
+
103
+ return h(FossilCollections, { data: fossilInfo, expanded: true });
104
+ }
@@ -1,5 +1,4 @@
1
1
  import hyper from "@macrostrat/hyper";
2
- import { AgeChip, AttrChip } from "../info-blocks";
3
2
  import {
4
3
  ExpansionPanel,
5
4
  ExpandableDetailsPanel,
@@ -10,11 +9,20 @@ import { scaleLinear } from "@visx/scale";
10
9
  import { AxisBottom } from "@visx/axis";
11
10
  import chroma from "chroma-js";
12
11
  import { LithologyList } from "@macrostrat/data-components";
12
+ import { AttrChip, AgeChip } from "./info-blocks";
13
13
 
14
14
  const h = hyper.styled(styles);
15
15
 
16
- function MacrostratLinkedData(props) {
17
- const { mapInfo, bedrockMatchExpanded, source } = props;
16
+ export function MacrostratLinkedData(props) {
17
+ const {
18
+ mapInfo,
19
+ source,
20
+ stratNameURL,
21
+ environmentURL,
22
+ intervalURL,
23
+ lithologyURL,
24
+ expanded = true,
25
+ } = props;
18
26
 
19
27
  if (!mapInfo.mapData[0]) return h("div");
20
28
 
@@ -24,17 +32,17 @@ function MacrostratLinkedData(props) {
24
32
  className: "regional-panel",
25
33
  title: "Macrostrat-linked data",
26
34
  helpText: "via Macrostrat",
27
- expanded: bedrockMatchExpanded,
35
+ expanded,
28
36
  },
29
37
  [
30
38
  h("div", { classes: expansionPanelDetailClasses }, [
31
- h(MatchBasis, { source }),
32
- h(AgeInformation, { mapInfo, source }),
39
+ h(MatchBasis, { source, stratNameURL }),
40
+ h(AgeInformation, { mapInfo, source, intervalURL }),
33
41
  h(Thickness, { source }),
34
42
  h(MinorFossilCollections, { source }),
35
43
  h(FossilOccs, { source }),
36
- h(LithsAndClasses, { source }),
37
- h(Environments, { source }),
44
+ h(LithsAndClasses, { source, lithologyURL }),
45
+ h(Environments, { source, environmentURL }),
38
46
  h(Economy, { source }),
39
47
  ]),
40
48
  ],
@@ -46,22 +54,23 @@ const expansionPanelDetailClasses = {
46
54
  };
47
55
 
48
56
  function AgeInformation(props) {
49
- const { source, mapInfo } = props;
57
+ const { source, mapInfo, intervalURL } = props;
50
58
  const { macrostrat } = source;
51
59
 
52
- if (!macrostrat?.b_age) return h(MapAgeRenderer, { mapInfo });
60
+ if (!macrostrat?.b_age) return h(MapAgeRenderer, { mapInfo, intervalURL });
53
61
 
54
- return h(MacrostratAgeInfo, { macrostrat, mapInfo });
62
+ return h(MacrostratAgeInfo, { macrostrat, mapInfo, intervalURL });
55
63
  }
56
64
 
57
65
  function MapAgeRenderer(props) {
58
- const { mapInfo, ...rest } = props;
66
+ const { mapInfo, intervalURL, ...rest } = props;
59
67
  return h(
60
68
  DescribedAgeInfo,
61
69
  {
62
70
  ageElement: h(AgeChip, {
63
71
  b_int: mapInfo.mapData[0].b_int,
64
72
  t_int: mapInfo.mapData[0].t_int,
73
+ intervalURL,
65
74
  }),
66
75
  },
67
76
  "Based on geologic map description.",
@@ -131,7 +140,7 @@ function AgeRefinementBar({ scale, data, color, label = null }) {
131
140
  );
132
141
  }
133
142
 
134
- function AgeRefinementPlot({ macrostrat, mapInfo }) {
143
+ function AgeRefinementPlot({ macrostrat, mapInfo, intervalURL }) {
135
144
  // Plot the amount by which the age was refined
136
145
 
137
146
  const mapData = mapInfo.mapData[0];
@@ -168,7 +177,7 @@ function AgeRefinementPlot({ macrostrat, mapInfo }) {
168
177
  ]);
169
178
  }
170
179
 
171
- function MacrostratAgeInfoCore({ macrostrat }) {
180
+ function MacrostratAgeInfoCore({ macrostrat, intervalURL }) {
172
181
  const { b_age, t_age, b_int, t_int } = macrostrat;
173
182
 
174
183
  if (!b_age) return null;
@@ -183,6 +192,7 @@ function MacrostratAgeInfoCore({ macrostrat }) {
183
192
  ageElement: h(AgeChip, {
184
193
  b_int: { ...b_int, int_name: age, b_age, t_age },
185
194
  t_int: { ...b_int, int_name: age, b_age, t_age },
195
+ intervalURL,
186
196
  }),
187
197
  },
188
198
  "Refined using the Macrostrat age model.",
@@ -198,7 +208,7 @@ function MacrostratAgeInfo(props) {
198
208
  }
199
209
 
200
210
  function MatchBasis(props) {
201
- const { source } = props;
211
+ const { source, stratNameURL } = props;
202
212
  if (!source.macrostrat?.strat_names) return null;
203
213
 
204
214
  return h(
@@ -218,7 +228,7 @@ function MatchBasis(props) {
218
228
  h(
219
229
  "a.externalLink",
220
230
  {
221
- href: "/lex/strat-names/" + name.strat_name_id,
231
+ href: stratNameURL + "/" + name.strat_name_id,
222
232
  key: i,
223
233
  },
224
234
  [name.rank_name],
@@ -288,7 +298,7 @@ function LithTypes(props) {
288
298
  }
289
299
 
290
300
  function LithsAndClasses(props) {
291
- const { source } = props;
301
+ const { source, lithologyURL } = props;
292
302
  const { macrostrat } = source;
293
303
  const { liths = null, lith_types = null } = macrostrat;
294
304
 
@@ -312,7 +322,7 @@ function LithsAndClasses(props) {
312
322
  h(LithologyList, {
313
323
  lithologies,
314
324
  onClickItem: (e, lith) => {
315
- window.open("/lex/lithology/" + lith.lith_id, "_self");
325
+ window.open(lithologyURL + "/" + lith.lith_id, "_self");
316
326
  },
317
327
  }),
318
328
  ]),
@@ -327,7 +337,7 @@ function EnvironTypes(props) {
327
337
  }
328
338
 
329
339
  function Environments(props) {
330
- const { source } = props;
340
+ const { source, environmentURL } = props;
331
341
  const { macrostrat } = source;
332
342
  const { environs = null, environ_types = null } = macrostrat;
333
343
 
@@ -351,7 +361,8 @@ function Environments(props) {
351
361
  h(LithologyList, {
352
362
  lithologies,
353
363
  onClickItem: (e, environ) => {
354
- window.open("/lex/environments/" + environ.environ_id, "_self");
364
+ console.log("environ", environmentURL);
365
+ window.open(environmentURL + "/" + environ.environ_id, "_self");
355
366
  },
356
367
  }),
357
368
  ]),
@@ -395,5 +406,3 @@ function Economy(props) {
395
406
  ]),
396
407
  );
397
408
  }
398
-
399
- export { MacrostratLinkedData };
@@ -1,18 +1,21 @@
1
1
  import h from "@macrostrat/hyper";
2
2
  import { ExpansionPanel } from "@macrostrat/map-interface";
3
3
 
4
- function Physiography(props) {
5
- const { mapInfo } = props;
6
- const { regions } = mapInfo;
4
+ export function Physiography(props) {
5
+ const { mapInfo, expanded = true } = props;
6
+
7
+ if (!mapInfo || !mapInfo.regions) {
8
+ return null;
9
+ }
7
10
 
8
- if (!mapInfo || !regions) return h("div");
11
+ const { regions } = mapInfo;
9
12
 
10
13
  return h.if(regions.length > 0)(
11
14
  ExpansionPanel,
12
15
  {
13
16
  classes: { root: "regional-panel" },
14
17
  title: "Physiography",
15
- expanded: true,
18
+ expanded,
16
19
  },
17
20
  [
18
21
  regions.map((region, i) => {
@@ -25,5 +28,3 @@ function Physiography(props) {
25
28
  ],
26
29
  );
27
30
  }
28
-
29
- export { Physiography };
@@ -1,9 +1,28 @@
1
1
  import h from "@macrostrat/hyper";
2
2
  import { ExpansionPanel } from "@macrostrat/map-interface";
3
- import { addCommas } from "../../utils";
3
+ import { addCommas } from "./utils";
4
+
5
+ export function RegionalStratigraphy({
6
+ mapInfo,
7
+ columnInfo,
8
+ columnURL,
9
+ expanded = true,
10
+ }) {
11
+ if (!mapInfo || !mapInfo.mapData) {
12
+ return null;
13
+ }
14
+
15
+ return RegionalStratigraphyInner({
16
+ mapInfo,
17
+ columnInfo,
18
+ columnURL,
19
+ expanded,
20
+ });
21
+ }
22
+
23
+ function RegionalStratigraphyInner(props) {
24
+ const { mapInfo, columnInfo, columnURL, expanded } = props;
4
25
 
5
- export function RegionalStratigraphy(props) {
6
- const { mapInfo, columnInfo } = props;
7
26
  if (mapInfo?.mapData == null || !columnInfo) return null;
8
27
 
9
28
  return h(
@@ -11,15 +30,15 @@ export function RegionalStratigraphy(props) {
11
30
  {
12
31
  classes: { root: "regional-panel" },
13
32
  title: "Regional stratigraphy",
14
- expanded: true,
33
+ expanded,
15
34
  },
16
- [h.if(columnInfo != null)(ColumnData, { columnInfo })],
35
+ [h.if(columnInfo != null)(ColumnData, { columnInfo, columnURL })],
17
36
  );
18
37
  }
19
38
 
20
- function ColumnData({ columnInfo }) {
39
+ function ColumnData({ columnInfo, columnURL }) {
21
40
  return h("div.column-data", [
22
- h("a", { href: "/columns/" + columnInfo.col_id }, "View column page"),
41
+ h("a", { href: columnURL + "/" + columnInfo.col_id }, "View column page"),
23
42
  h(MapAttribute, {
24
43
  label: "Name: ",
25
44
  content: [columnInfo.col_name],
@@ -33,8 +33,6 @@ export function makeOccurrenceTree(data) {
33
33
  return -1;
34
34
  }
35
35
 
36
- console.log("Processing fossil data...", data);
37
-
38
36
  data.forEach((d) => {
39
37
  // Some preprocessing
40
38
  d.rank = d.rnk ? rankMap[d.rnk] : d.idr ? rankMap[d.idr] : "Unknown";
@@ -23,11 +23,12 @@ type JournalProps = {
23
23
  articles: XDDSnippet[];
24
24
  name: string;
25
25
  publisher: string;
26
+ nestedExpanded?: boolean;
26
27
  };
27
28
 
28
29
  // Still up for review
29
30
  function Journal_(props: JournalProps) {
30
- const { articles, name, publisher } = props;
31
+ const { articles, name, publisher, nestedExpanded } = props;
31
32
 
32
33
  const helpText = articles[0].pubname;
33
34
 
@@ -36,6 +37,7 @@ function Journal_(props: JournalProps) {
36
37
  {
37
38
  title: name,
38
39
  helpText: publisher,
40
+ expanded: nestedExpanded,
39
41
  },
40
42
  [
41
43
  articles.map((article, i) => {
@@ -16,17 +16,31 @@ export interface XDDSnippet {
16
16
  highlight: string[];
17
17
  }
18
18
 
19
- export function XddExpansion({ xddInfo }) {
19
+ export function XddExpansion({
20
+ xddInfo,
21
+ expanded = false,
22
+ nestedExpanded = true,
23
+ }) {
20
24
  return h(xDDPanelCore, {
21
25
  className: "regional-panel",
22
26
  data: xddInfo,
23
27
  isFetching: xddInfo == undefined || xddInfo.length === 0,
28
+ expanded,
29
+ nestedExpanded,
24
30
  });
25
31
  }
26
32
 
27
- export function xDDPanelCore({ isFetching, data: xddInfo, ...rest }) {
33
+ export function xDDPanelCore({
34
+ isFetching,
35
+ data: xddInfo,
36
+ expanded,
37
+ nestedExpanded,
38
+ ...rest
39
+ }) {
28
40
  const groupedData = groupSnippetsByJournal(xddInfo);
29
41
 
42
+ console.log("expanded", expanded);
43
+
30
44
  return h(
31
45
  ExpansionPanel,
32
46
  {
@@ -34,12 +48,14 @@ export function xDDPanelCore({ isFetching, data: xddInfo, ...rest }) {
34
48
  title: "Primary literature",
35
49
  helpText: "via xDD",
36
50
  ...rest,
51
+ expanded,
37
52
  },
38
53
  [
39
54
  h.if(isFetching)(Spinner),
40
55
  h.if(!isFetching && xddInfo.length > 0)([
41
56
  Array.from(groupedData.entries())?.map(([journal, snippets]) => {
42
57
  return h(Journal, {
58
+ nestedExpanded,
43
59
  name: journal,
44
60
  articles: snippets,
45
61
  publisher: snippets[0].publisher,