@macrostrat/map-interface 1.6.0 → 2.0.1

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 (450) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/container.cjs +134 -0
  3. package/dist/container.cjs.map +1 -0
  4. package/dist/container.d.ts +17 -0
  5. package/dist/container.js +131 -0
  6. package/dist/container.js.map +1 -0
  7. package/dist/context-panel/index.cjs +81 -0
  8. package/dist/context-panel/index.cjs.map +1 -0
  9. package/dist/context-panel/index.d.ts +36 -0
  10. package/dist/context-panel/index.js +79 -0
  11. package/dist/context-panel/index.js.map +1 -0
  12. package/dist/context-panel/main.module.sass.cjs +16 -0
  13. package/dist/context-panel/main.module.sass.cjs.map +1 -0
  14. package/dist/context-panel/main.module.sass.js +16 -0
  15. package/dist/context-panel/main.module.sass.js.map +1 -0
  16. package/dist/controls.cjs +56 -0
  17. package/dist/controls.cjs.map +1 -0
  18. package/dist/controls.d.ts +3 -0
  19. package/dist/controls.js +54 -0
  20. package/dist/controls.js.map +1 -0
  21. package/dist/dev/index.d.ts +4 -0
  22. package/dist/dev/main.module.sass.cjs +30 -0
  23. package/dist/dev/main.module.sass.cjs.map +1 -0
  24. package/dist/dev/main.module.sass.js +30 -0
  25. package/dist/dev/main.module.sass.js.map +1 -0
  26. package/dist/dev/map-page.cjs +158 -0
  27. package/dist/dev/map-page.cjs.map +1 -0
  28. package/dist/dev/map-page.d.ts +26 -0
  29. package/dist/dev/map-page.js +155 -0
  30. package/dist/dev/map-page.js.map +1 -0
  31. package/dist/dev/tile-extent.cjs +39 -0
  32. package/dist/dev/tile-extent.cjs.map +1 -0
  33. package/dist/dev/tile-extent.d.ts +10 -0
  34. package/dist/dev/tile-extent.js +39 -0
  35. package/dist/dev/tile-extent.js.map +1 -0
  36. package/dist/dev/vector-tile-features.cjs +214 -0
  37. package/dist/dev/vector-tile-features.cjs.map +1 -0
  38. package/dist/dev/vector-tile-features.d.ts +29 -0
  39. package/dist/dev/vector-tile-features.js +212 -0
  40. package/dist/dev/vector-tile-features.js.map +1 -0
  41. package/dist/dev/xray.cjs +93 -0
  42. package/dist/dev/xray.cjs.map +1 -0
  43. package/dist/dev/xray.d.ts +41 -0
  44. package/dist/dev/xray.js +93 -0
  45. package/dist/dev/xray.js.map +1 -0
  46. package/dist/expansion-panel/headers.cjs +22 -0
  47. package/dist/expansion-panel/headers.cjs.map +1 -0
  48. package/dist/expansion-panel/headers.d.ts +1 -0
  49. package/dist/expansion-panel/headers.js +20 -0
  50. package/dist/expansion-panel/headers.js.map +1 -0
  51. package/dist/expansion-panel/index.cjs +128 -0
  52. package/dist/expansion-panel/index.cjs.map +1 -0
  53. package/dist/expansion-panel/index.d.ts +18 -0
  54. package/dist/expansion-panel/index.js +125 -0
  55. package/dist/expansion-panel/index.js.map +1 -0
  56. package/dist/expansion-panel/main.module.sass.cjs +27 -0
  57. package/dist/expansion-panel/main.module.sass.cjs.map +1 -0
  58. package/dist/expansion-panel/main.module.sass.js +27 -0
  59. package/dist/expansion-panel/main.module.sass.js.map +1 -0
  60. package/dist/hash-string.cjs +81 -0
  61. package/dist/hash-string.cjs.map +1 -0
  62. package/dist/hash-string.d.ts +12 -0
  63. package/dist/hash-string.js +81 -0
  64. package/dist/hash-string.js.map +1 -0
  65. package/dist/helpers.cjs +164 -0
  66. package/dist/helpers.cjs.map +1 -0
  67. package/dist/helpers.d.ts +34 -0
  68. package/dist/helpers.js +162 -0
  69. package/dist/helpers.js.map +1 -0
  70. package/dist/index.cjs +73 -0
  71. package/dist/index.cjs.map +1 -0
  72. package/dist/index.d.ts +11 -0
  73. package/dist/index.js +73 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/location-details/fetch.d.ts +4 -0
  76. package/dist/location-details/fossil-collections/collections.cjs +70 -0
  77. package/dist/location-details/fossil-collections/collections.cjs.map +1 -0
  78. package/dist/location-details/fossil-collections/collections.d.ts +3 -0
  79. package/dist/location-details/fossil-collections/collections.js +68 -0
  80. package/dist/location-details/fossil-collections/collections.js.map +1 -0
  81. package/dist/location-details/fossil-collections/index.cjs +15 -0
  82. package/dist/location-details/fossil-collections/index.cjs.map +1 -0
  83. package/dist/location-details/fossil-collections/index.d.ts +3 -0
  84. package/dist/location-details/fossil-collections/index.js +13 -0
  85. package/dist/location-details/fossil-collections/index.js.map +1 -0
  86. package/dist/location-details/fossil-collections/main.module.sass.cjs +7 -0
  87. package/dist/location-details/fossil-collections/main.module.sass.cjs.map +1 -0
  88. package/dist/location-details/fossil-collections/main.module.sass.js +8 -0
  89. package/dist/location-details/fossil-collections/main.module.sass.js.map +1 -0
  90. package/dist/location-details/index.d.ts +5 -0
  91. package/dist/location-details/info-blocks.cjs +84 -0
  92. package/dist/location-details/info-blocks.cjs.map +1 -0
  93. package/dist/location-details/info-blocks.d.ts +9 -0
  94. package/dist/location-details/info-blocks.js +81 -0
  95. package/dist/location-details/info-blocks.js.map +1 -0
  96. package/dist/location-details/info-blocks.module.sass.cjs +18 -0
  97. package/dist/location-details/info-blocks.module.sass.cjs.map +1 -0
  98. package/dist/location-details/info-blocks.module.sass.js +18 -0
  99. package/dist/location-details/info-blocks.module.sass.js.map +1 -0
  100. package/dist/location-details/macrostrat-linked.cjs +358 -0
  101. package/dist/location-details/macrostrat-linked.cjs.map +1 -0
  102. package/dist/location-details/macrostrat-linked.d.ts +1 -0
  103. package/dist/location-details/macrostrat-linked.js +355 -0
  104. package/dist/location-details/macrostrat-linked.js.map +1 -0
  105. package/dist/location-details/main.module.sass.cjs +20 -0
  106. package/dist/location-details/main.module.sass.cjs.map +1 -0
  107. package/dist/location-details/main.module.sass.js +20 -0
  108. package/dist/location-details/main.module.sass.js.map +1 -0
  109. package/dist/location-details/physiography.cjs +32 -0
  110. package/dist/location-details/physiography.cjs.map +1 -0
  111. package/dist/location-details/physiography.d.ts +1 -0
  112. package/dist/location-details/physiography.js +30 -0
  113. package/dist/location-details/physiography.js.map +1 -0
  114. package/dist/location-details/reg-strat.cjs +92 -0
  115. package/dist/location-details/reg-strat.cjs.map +1 -0
  116. package/dist/location-details/reg-strat.d.ts +6 -0
  117. package/dist/location-details/reg-strat.js +90 -0
  118. package/dist/location-details/reg-strat.js.map +1 -0
  119. package/dist/location-details/utils/formatting.cjs +16 -0
  120. package/dist/location-details/utils/formatting.cjs.map +1 -0
  121. package/dist/location-details/utils/formatting.d.ts +16 -0
  122. package/dist/location-details/utils/formatting.js +16 -0
  123. package/dist/location-details/utils/formatting.js.map +1 -0
  124. package/dist/location-details/utils/fossils.cjs +149 -0
  125. package/dist/location-details/utils/fossils.cjs.map +1 -0
  126. package/dist/location-details/utils/fossils.d.ts +3 -0
  127. package/dist/location-details/utils/fossils.js +149 -0
  128. package/dist/location-details/utils/fossils.js.map +1 -0
  129. package/dist/location-details/utils/index.cjs +15 -0
  130. package/dist/location-details/utils/index.cjs.map +1 -0
  131. package/dist/location-details/utils/index.d.ts +12 -0
  132. package/dist/location-details/utils/index.js +15 -0
  133. package/dist/location-details/utils/index.js.map +1 -0
  134. package/dist/location-details/xdd-panel/article.cjs +64 -0
  135. package/dist/location-details/xdd-panel/article.cjs.map +1 -0
  136. package/dist/location-details/xdd-panel/article.d.ts +1 -0
  137. package/dist/location-details/xdd-panel/article.js +62 -0
  138. package/dist/location-details/xdd-panel/article.js.map +1 -0
  139. package/dist/location-details/xdd-panel/index.cjs +71 -0
  140. package/dist/location-details/xdd-panel/index.cjs.map +1 -0
  141. package/dist/location-details/xdd-panel/index.d.ts +18 -0
  142. package/dist/location-details/xdd-panel/index.js +69 -0
  143. package/dist/location-details/xdd-panel/index.js.map +1 -0
  144. package/dist/location-details/xdd-panel/journal.cjs +27 -0
  145. package/dist/{cjs/map-interface.3ca778c5.js.map → location-details/xdd-panel/journal.cjs.map} +1 -1
  146. package/dist/location-details/xdd-panel/journal.d.ts +20 -0
  147. package/dist/location-details/xdd-panel/journal.js +25 -0
  148. package/dist/location-details/xdd-panel/journal.js.map +1 -0
  149. package/dist/location-panel/header.cjs +112 -0
  150. package/dist/location-panel/header.cjs.map +1 -0
  151. package/dist/location-panel/header.d.ts +16 -0
  152. package/dist/location-panel/header.js +109 -0
  153. package/dist/location-panel/header.js.map +1 -0
  154. package/dist/location-panel/index.cjs +45 -0
  155. package/dist/location-panel/index.cjs.map +1 -0
  156. package/dist/location-panel/index.d.ts +15 -0
  157. package/dist/location-panel/index.js +42 -0
  158. package/dist/location-panel/index.js.map +1 -0
  159. package/dist/location-panel/main.module.sass.cjs +23 -0
  160. package/dist/location-panel/main.module.sass.cjs.map +1 -0
  161. package/dist/location-panel/main.module.sass.js +23 -0
  162. package/dist/location-panel/main.module.sass.js.map +1 -0
  163. package/dist/main.module.sass.cjs +70 -0
  164. package/dist/main.module.sass.cjs.map +1 -0
  165. package/dist/main.module.sass.js +70 -0
  166. package/dist/main.module.sass.js.map +1 -0
  167. package/dist/map-interface.css +1060 -0
  168. package/dist/map-view.cjs +204 -0
  169. package/dist/map-view.cjs.map +1 -0
  170. package/dist/map-view.d.ts +41 -0
  171. package/dist/map-view.js +200 -0
  172. package/dist/map-view.js.map +1 -0
  173. package/dist/utils.cjs +35 -0
  174. package/dist/utils.cjs.map +1 -0
  175. package/dist/utils.d.ts +7 -0
  176. package/dist/utils.js +35 -0
  177. package/dist/utils.js.map +1 -0
  178. package/package.json +56 -49
  179. package/src/context-panel/main.module.sass +3 -3
  180. package/src/dev/main.module.sass +1 -1
  181. package/src/expansion-panel/main.module.sass +4 -4
  182. package/src/location-details/fossil-collections/main.module.sass +1 -1
  183. package/src/location-details/info-blocks.module.sass +35 -0
  184. package/src/location-details/info-blocks.ts +1 -1
  185. package/src/location-details/macrostrat-linked.ts +1 -1
  186. package/src/location-details/{main.module.styl → main.module.sass} +21 -21
  187. package/src/location-panel/main.module.sass +3 -3
  188. package/src/main.module.sass +15 -15
  189. package/dist/cjs/index.js +0 -54
  190. package/dist/cjs/index.js.map +0 -1
  191. package/dist/cjs/map-interface.0e252a74.js +0 -88
  192. package/dist/cjs/map-interface.0e252a74.js.map +0 -1
  193. package/dist/cjs/map-interface.11056b04.js +0 -390
  194. package/dist/cjs/map-interface.11056b04.js.map +0 -1
  195. package/dist/cjs/map-interface.12e5d744.js +0 -123
  196. package/dist/cjs/map-interface.12e5d744.js.map +0 -1
  197. package/dist/cjs/map-interface.1b386e07.css +0 -111
  198. package/dist/cjs/map-interface.1b386e07.css.map +0 -1
  199. package/dist/cjs/map-interface.1faa2839.js +0 -14
  200. package/dist/cjs/map-interface.1faa2839.js.map +0 -1
  201. package/dist/cjs/map-interface.225c9340.js +0 -71
  202. package/dist/cjs/map-interface.225c9340.js.map +0 -1
  203. package/dist/cjs/map-interface.23d5c62c.js +0 -135
  204. package/dist/cjs/map-interface.23d5c62c.js.map +0 -1
  205. package/dist/cjs/map-interface.24a1c14e.js +0 -46
  206. package/dist/cjs/map-interface.24a1c14e.js.map +0 -1
  207. package/dist/cjs/map-interface.26497065.css +0 -92
  208. package/dist/cjs/map-interface.26497065.css.map +0 -1
  209. package/dist/cjs/map-interface.31742bd3.js +0 -65
  210. package/dist/cjs/map-interface.31742bd3.js.map +0 -1
  211. package/dist/cjs/map-interface.354aaa39.js +0 -135
  212. package/dist/cjs/map-interface.354aaa39.js.map +0 -1
  213. package/dist/cjs/map-interface.368b346c.css +0 -45
  214. package/dist/cjs/map-interface.368b346c.css.map +0 -1
  215. package/dist/cjs/map-interface.3ca778c5.js +0 -57
  216. package/dist/cjs/map-interface.4267aa3a.js +0 -68
  217. package/dist/cjs/map-interface.4267aa3a.js.map +0 -1
  218. package/dist/cjs/map-interface.441d3b83.css +0 -69
  219. package/dist/cjs/map-interface.441d3b83.css.map +0 -1
  220. package/dist/cjs/map-interface.46d1c77b.js +0 -189
  221. package/dist/cjs/map-interface.46d1c77b.js.map +0 -1
  222. package/dist/cjs/map-interface.4a3d9662.js +0 -112
  223. package/dist/cjs/map-interface.4a3d9662.js.map +0 -1
  224. package/dist/cjs/map-interface.4a401c1f.css +0 -584
  225. package/dist/cjs/map-interface.4a401c1f.css.map +0 -1
  226. package/dist/cjs/map-interface.4c5addca.js +0 -89
  227. package/dist/cjs/map-interface.4c5addca.js.map +0 -1
  228. package/dist/cjs/map-interface.5a4f4529.js +0 -38
  229. package/dist/cjs/map-interface.5a4f4529.js.map +0 -1
  230. package/dist/cjs/map-interface.633d24e6.css +0 -22
  231. package/dist/cjs/map-interface.633d24e6.css.map +0 -1
  232. package/dist/cjs/map-interface.67001b26.js +0 -66
  233. package/dist/cjs/map-interface.67001b26.js.map +0 -1
  234. package/dist/cjs/map-interface.69b2e2a9.js +0 -25
  235. package/dist/cjs/map-interface.69b2e2a9.js.map +0 -1
  236. package/dist/cjs/map-interface.70458f75.js +0 -26
  237. package/dist/cjs/map-interface.70458f75.js.map +0 -1
  238. package/dist/cjs/map-interface.7170f35e.js +0 -65
  239. package/dist/cjs/map-interface.7170f35e.js.map +0 -1
  240. package/dist/cjs/map-interface.7509f2c1.js +0 -29
  241. package/dist/cjs/map-interface.7509f2c1.js.map +0 -1
  242. package/dist/cjs/map-interface.7bdbe4b6.js +0 -220
  243. package/dist/cjs/map-interface.7bdbe4b6.js.map +0 -1
  244. package/dist/cjs/map-interface.8d67cc21.js +0 -100
  245. package/dist/cjs/map-interface.8d67cc21.js.map +0 -1
  246. package/dist/cjs/map-interface.99a048dc.js +0 -79
  247. package/dist/cjs/map-interface.99a048dc.js.map +0 -1
  248. package/dist/cjs/map-interface.a3c2552f.js +0 -33
  249. package/dist/cjs/map-interface.a3c2552f.js.map +0 -1
  250. package/dist/cjs/map-interface.a960d638.js +0 -185
  251. package/dist/cjs/map-interface.a960d638.js.map +0 -1
  252. package/dist/cjs/map-interface.a9fe0f5d.js +0 -170
  253. package/dist/cjs/map-interface.a9fe0f5d.js.map +0 -1
  254. package/dist/cjs/map-interface.abe5fe65.js +0 -50
  255. package/dist/cjs/map-interface.abe5fe65.js.map +0 -1
  256. package/dist/cjs/map-interface.adb45df9.css +0 -191
  257. package/dist/cjs/map-interface.adb45df9.css.map +0 -1
  258. package/dist/cjs/map-interface.ae4c52a6.css +0 -52
  259. package/dist/cjs/map-interface.ae4c52a6.css.map +0 -1
  260. package/dist/cjs/map-interface.bda26b27.js +0 -134
  261. package/dist/cjs/map-interface.bda26b27.js.map +0 -1
  262. package/dist/cjs/map-interface.c5061c96.js +0 -36
  263. package/dist/cjs/map-interface.c5061c96.js.map +0 -1
  264. package/dist/cjs/map-interface.cd485bb4.js +0 -41
  265. package/dist/cjs/map-interface.cd485bb4.js.map +0 -1
  266. package/dist/cjs/map-interface.cf6c9a68.js +0 -208
  267. package/dist/cjs/map-interface.cf6c9a68.js.map +0 -1
  268. package/dist/cjs/map-interface.e74ded77.js +0 -135
  269. package/dist/cjs/map-interface.e74ded77.js.map +0 -1
  270. package/dist/cjs/map-interface.e975d65c.js +0 -23
  271. package/dist/cjs/map-interface.e975d65c.js.map +0 -1
  272. package/dist/cjs/map-interface.e9bcd5c0.js +0 -268
  273. package/dist/cjs/map-interface.e9bcd5c0.js.map +0 -1
  274. package/dist/cjs/map-interface.f8826069.js +0 -46
  275. package/dist/cjs/map-interface.f8826069.js.map +0 -1
  276. package/dist/cjs/map-interface.f9611285.js +0 -32
  277. package/dist/cjs/map-interface.f9611285.js.map +0 -1
  278. package/dist/cjs/map-interface.ffb109ef.js +0 -46
  279. package/dist/cjs/map-interface.ffb109ef.js.map +0 -1
  280. package/dist/esm/index.d.ts +0 -334
  281. package/dist/esm/index.d.ts.map +0 -1
  282. package/dist/esm/index.js +0 -27
  283. package/dist/esm/index.js.map +0 -1
  284. package/dist/esm/map-interface.01826888.js +0 -67
  285. package/dist/esm/map-interface.01826888.js.map +0 -1
  286. package/dist/esm/map-interface.021cf79b.js +0 -18
  287. package/dist/esm/map-interface.021cf79b.js.map +0 -1
  288. package/dist/esm/map-interface.065737fe.js +0 -172
  289. package/dist/esm/map-interface.065737fe.js.map +0 -1
  290. package/dist/esm/map-interface.0b1aa8f2.js +0 -81
  291. package/dist/esm/map-interface.0b1aa8f2.js.map +0 -1
  292. package/dist/esm/map-interface.1843c708.js +0 -83
  293. package/dist/esm/map-interface.1843c708.js.map +0 -1
  294. package/dist/esm/map-interface.1d38872e.js +0 -385
  295. package/dist/esm/map-interface.1d38872e.js.map +0 -1
  296. package/dist/esm/map-interface.1db44824.js +0 -24
  297. package/dist/esm/map-interface.1db44824.js.map +0 -1
  298. package/dist/esm/map-interface.22ea3934.js +0 -41
  299. package/dist/esm/map-interface.22ea3934.js.map +0 -1
  300. package/dist/esm/map-interface.2350f590.js +0 -48
  301. package/dist/esm/map-interface.2350f590.js.map +0 -1
  302. package/dist/esm/map-interface.27587c50.js +0 -126
  303. package/dist/esm/map-interface.27587c50.js.map +0 -1
  304. package/dist/esm/map-interface.2892a5fb.js +0 -178
  305. package/dist/esm/map-interface.2892a5fb.js.map +0 -1
  306. package/dist/esm/map-interface.3033c825.js +0 -40
  307. package/dist/esm/map-interface.3033c825.js.map +0 -1
  308. package/dist/esm/map-interface.3f07937e.js +0 -124
  309. package/dist/esm/map-interface.3f07937e.js.map +0 -1
  310. package/dist/esm/map-interface.473f1f2b.js +0 -28
  311. package/dist/esm/map-interface.473f1f2b.js.map +0 -1
  312. package/dist/esm/map-interface.50edfdfd.js +0 -74
  313. package/dist/esm/map-interface.50edfdfd.js.map +0 -1
  314. package/dist/esm/map-interface.557de808.js +0 -13
  315. package/dist/esm/map-interface.557de808.js.map +0 -1
  316. package/dist/esm/map-interface.578a7505.js +0 -130
  317. package/dist/esm/map-interface.578a7505.js.map +0 -1
  318. package/dist/esm/map-interface.59896194.js +0 -37
  319. package/dist/esm/map-interface.59896194.js.map +0 -1
  320. package/dist/esm/map-interface.64c62ba1.js +0 -62
  321. package/dist/esm/map-interface.64c62ba1.js.map +0 -1
  322. package/dist/esm/map-interface.672c2e0b.js +0 -182
  323. package/dist/esm/map-interface.672c2e0b.js.map +0 -1
  324. package/dist/esm/map-interface.6e65dcaf.js +0 -58
  325. package/dist/esm/map-interface.6e65dcaf.js.map +0 -1
  326. package/dist/esm/map-interface.70d6a7ff.js +0 -16
  327. package/dist/esm/map-interface.70d6a7ff.js.map +0 -1
  328. package/dist/esm/map-interface.72b1bfba.js +0 -94
  329. package/dist/esm/map-interface.72b1bfba.js.map +0 -1
  330. package/dist/esm/map-interface.786d6e58.js +0 -258
  331. package/dist/esm/map-interface.786d6e58.js.map +0 -1
  332. package/dist/esm/map-interface.7ea8a1e0.js +0 -40
  333. package/dist/esm/map-interface.7ea8a1e0.js.map +0 -1
  334. package/dist/esm/map-interface.9152234b.js +0 -114
  335. package/dist/esm/map-interface.9152234b.js.map +0 -1
  336. package/dist/esm/map-interface.957e414c.js +0 -52
  337. package/dist/esm/map-interface.957e414c.js.map +0 -1
  338. package/dist/esm/map-interface.a03a7a23.js +0 -16
  339. package/dist/esm/map-interface.a03a7a23.js.map +0 -1
  340. package/dist/esm/map-interface.a8c94450.js +0 -55
  341. package/dist/esm/map-interface.a8c94450.js.map +0 -1
  342. package/dist/esm/map-interface.bdef07d2.js +0 -34
  343. package/dist/esm/map-interface.bdef07d2.js.map +0 -1
  344. package/dist/esm/map-interface.c2a61cbf.js +0 -62
  345. package/dist/esm/map-interface.c2a61cbf.js.map +0 -1
  346. package/dist/esm/map-interface.c52c2fec.js +0 -130
  347. package/dist/esm/map-interface.c52c2fec.js.map +0 -1
  348. package/dist/esm/map-interface.c99b53b6.js +0 -43
  349. package/dist/esm/map-interface.c99b53b6.js.map +0 -1
  350. package/dist/esm/map-interface.ca1ee406.js +0 -214
  351. package/dist/esm/map-interface.ca1ee406.js.map +0 -1
  352. package/dist/esm/map-interface.e418553b.js +0 -107
  353. package/dist/esm/map-interface.e418553b.js.map +0 -1
  354. package/dist/esm/map-interface.e63d862d.js +0 -15
  355. package/dist/esm/map-interface.e63d862d.js.map +0 -1
  356. package/dist/esm/map-interface.f7b8bdb7.js +0 -192
  357. package/dist/esm/map-interface.f7b8bdb7.js.map +0 -1
  358. package/dist/node/index.js +0 -2
  359. package/dist/node/index.js.map +0 -1
  360. package/dist/node/map-interface.07882229.css +0 -2
  361. package/dist/node/map-interface.07882229.css.map +0 -1
  362. package/dist/node/map-interface.0e71fd95.js +0 -2
  363. package/dist/node/map-interface.0e71fd95.js.map +0 -1
  364. package/dist/node/map-interface.10f5ef81.js +0 -2
  365. package/dist/node/map-interface.10f5ef81.js.map +0 -1
  366. package/dist/node/map-interface.1a5eecac.js +0 -2
  367. package/dist/node/map-interface.1a5eecac.js.map +0 -1
  368. package/dist/node/map-interface.1be49df8.css +0 -2
  369. package/dist/node/map-interface.1be49df8.css.map +0 -1
  370. package/dist/node/map-interface.254e457a.js +0 -2
  371. package/dist/node/map-interface.254e457a.js.map +0 -1
  372. package/dist/node/map-interface.2d12b35c.js +0 -2
  373. package/dist/node/map-interface.2d12b35c.js.map +0 -1
  374. package/dist/node/map-interface.33b7734a.js +0 -2
  375. package/dist/node/map-interface.33b7734a.js.map +0 -1
  376. package/dist/node/map-interface.3ea55e0c.js +0 -2
  377. package/dist/node/map-interface.3ea55e0c.js.map +0 -1
  378. package/dist/node/map-interface.41e916d1.js +0 -2
  379. package/dist/node/map-interface.41e916d1.js.map +0 -1
  380. package/dist/node/map-interface.42ef081d.css +0 -2
  381. package/dist/node/map-interface.42ef081d.css.map +0 -1
  382. package/dist/node/map-interface.47b81f95.js +0 -2
  383. package/dist/node/map-interface.47b81f95.js.map +0 -1
  384. package/dist/node/map-interface.4b4f8fdf.js +0 -2
  385. package/dist/node/map-interface.4b4f8fdf.js.map +0 -1
  386. package/dist/node/map-interface.4df6e2c7.js +0 -2
  387. package/dist/node/map-interface.4df6e2c7.js.map +0 -1
  388. package/dist/node/map-interface.5736d6f8.js +0 -2
  389. package/dist/node/map-interface.5736d6f8.js.map +0 -1
  390. package/dist/node/map-interface.593e09ed.js +0 -2
  391. package/dist/node/map-interface.593e09ed.js.map +0 -1
  392. package/dist/node/map-interface.62b147ce.js +0 -2
  393. package/dist/node/map-interface.62b147ce.js.map +0 -1
  394. package/dist/node/map-interface.6314eef1.js +0 -2
  395. package/dist/node/map-interface.6314eef1.js.map +0 -1
  396. package/dist/node/map-interface.713361a4.js +0 -2
  397. package/dist/node/map-interface.713361a4.js.map +0 -1
  398. package/dist/node/map-interface.722387fb.js +0 -2
  399. package/dist/node/map-interface.722387fb.js.map +0 -1
  400. package/dist/node/map-interface.78e05655.js +0 -2
  401. package/dist/node/map-interface.78e05655.js.map +0 -1
  402. package/dist/node/map-interface.7aaa58c9.js +0 -2
  403. package/dist/node/map-interface.7aaa58c9.js.map +0 -1
  404. package/dist/node/map-interface.83fa8028.js +0 -2
  405. package/dist/node/map-interface.83fa8028.js.map +0 -1
  406. package/dist/node/map-interface.9317d050.js +0 -2
  407. package/dist/node/map-interface.9317d050.js.map +0 -1
  408. package/dist/node/map-interface.971af4bc.js +0 -2
  409. package/dist/node/map-interface.971af4bc.js.map +0 -1
  410. package/dist/node/map-interface.9824c03a.js +0 -2
  411. package/dist/node/map-interface.9824c03a.js.map +0 -1
  412. package/dist/node/map-interface.992dea73.js +0 -2
  413. package/dist/node/map-interface.992dea73.js.map +0 -1
  414. package/dist/node/map-interface.a1252092.css +0 -2
  415. package/dist/node/map-interface.a1252092.css.map +0 -1
  416. package/dist/node/map-interface.a8a16138.js +0 -2
  417. package/dist/node/map-interface.a8a16138.js.map +0 -1
  418. package/dist/node/map-interface.ae3d2d83.js +0 -2
  419. package/dist/node/map-interface.ae3d2d83.js.map +0 -1
  420. package/dist/node/map-interface.b0e1ad1b.js +0 -2
  421. package/dist/node/map-interface.b0e1ad1b.js.map +0 -1
  422. package/dist/node/map-interface.b14f08e8.js +0 -2
  423. package/dist/node/map-interface.b14f08e8.js.map +0 -1
  424. package/dist/node/map-interface.b33fab5e.js +0 -2
  425. package/dist/node/map-interface.b33fab5e.js.map +0 -1
  426. package/dist/node/map-interface.bd78832e.css +0 -2
  427. package/dist/node/map-interface.bd78832e.css.map +0 -1
  428. package/dist/node/map-interface.bf86da7c.js +0 -2
  429. package/dist/node/map-interface.bf86da7c.js.map +0 -1
  430. package/dist/node/map-interface.c5c0ad06.js +0 -2
  431. package/dist/node/map-interface.c5c0ad06.js.map +0 -1
  432. package/dist/node/map-interface.d22d91e9.css +0 -2
  433. package/dist/node/map-interface.d22d91e9.css.map +0 -1
  434. package/dist/node/map-interface.d2fce135.css +0 -2
  435. package/dist/node/map-interface.d2fce135.css.map +0 -1
  436. package/dist/node/map-interface.d5eba479.css +0 -2
  437. package/dist/node/map-interface.d5eba479.css.map +0 -1
  438. package/dist/node/map-interface.e7598785.js +0 -2
  439. package/dist/node/map-interface.e7598785.js.map +0 -1
  440. package/dist/node/map-interface.ed6b5586.js +0 -2
  441. package/dist/node/map-interface.ed6b5586.js.map +0 -1
  442. package/dist/node/map-interface.f13f7aeb.js +0 -2
  443. package/dist/node/map-interface.f13f7aeb.js.map +0 -1
  444. package/dist/node/map-interface.f413c362.js +0 -2
  445. package/dist/node/map-interface.f413c362.js.map +0 -1
  446. package/dist/node/map-interface.f4d2a5eb.js +0 -2
  447. package/dist/node/map-interface.f4d2a5eb.js.map +0 -1
  448. package/dist/node/map-interface.fdd35e74.js +0 -2
  449. package/dist/node/map-interface.fdd35e74.js.map +0 -1
  450. package/src/location-details/info-blocks.module.styl +0 -39
@@ -0,0 +1,90 @@
1
+ import h from "@macrostrat/hyper";
2
+ import { ExpansionPanel } from "@macrostrat/map-interface";
3
+ import { addCommas } from "./utils/formatting.js";
4
+ function RegionalStratigraphy({
5
+ mapInfo,
6
+ columnInfo,
7
+ columnURL,
8
+ expanded = true
9
+ }) {
10
+ if (!mapInfo || !mapInfo.mapData) {
11
+ return null;
12
+ }
13
+ return RegionalStratigraphyInner({
14
+ mapInfo,
15
+ columnInfo,
16
+ columnURL,
17
+ expanded
18
+ });
19
+ }
20
+ function RegionalStratigraphyInner(props) {
21
+ const { mapInfo, columnInfo, columnURL, expanded } = props;
22
+ if (mapInfo?.mapData == null || !columnInfo) return null;
23
+ return h(
24
+ ExpansionPanel,
25
+ {
26
+ classes: { root: "regional-panel" },
27
+ title: "Regional stratigraphy",
28
+ expanded
29
+ },
30
+ [h.if(columnInfo != null)(ColumnData, { columnInfo, columnURL })]
31
+ );
32
+ }
33
+ function ColumnData({ columnInfo, columnURL }) {
34
+ return h("div.column-data", [
35
+ h("a", { href: columnURL + "/" + columnInfo.col_id }, "View column page"),
36
+ h(MapAttribute, {
37
+ label: "Name: ",
38
+ content: [columnInfo.col_name]
39
+ }),
40
+ h(MapAttribute, {
41
+ label: "Column ID: ",
42
+ content: [columnInfo.col_id]
43
+ }),
44
+ h(MapAttribute, {
45
+ label: "Group: ",
46
+ content: [columnInfo.col_group]
47
+ }),
48
+ h(MapAttribute, {
49
+ label: "Group ID: ",
50
+ content: [columnInfo.col_group_id]
51
+ }),
52
+ h.if(columnInfo.min_min_thick || columnInfo.max_thick)(MapAttribute, {
53
+ label: "Thickness: ",
54
+ content: [
55
+ addCommas(parseInt(columnInfo.min_min_thick)),
56
+ " - ",
57
+ addCommas(parseInt(columnInfo.max_thick)),
58
+ h("span.age-ma", ["m"])
59
+ ]
60
+ }),
61
+ h(MapAttribute, {
62
+ label: "Age: ",
63
+ content: [
64
+ columnInfo.b_age,
65
+ " - ",
66
+ columnInfo.t_age,
67
+ " ",
68
+ h("span.age-ma", ["Ma"])
69
+ ]
70
+ }),
71
+ h(MapAttribute, {
72
+ label: "Area: ",
73
+ content: [addCommas(columnInfo.col_area), " ", h("span.age-ma", ["km2"])]
74
+ }),
75
+ h(MapAttribute, {
76
+ label: "Fossil collections: ",
77
+ content: [addCommas(columnInfo.pbdb_collections)]
78
+ })
79
+ ]);
80
+ }
81
+ function MapAttribute(props) {
82
+ return h("div.map-source-attr", [
83
+ h("span.attr", [props.label]),
84
+ ...props.content
85
+ ]);
86
+ }
87
+ export {
88
+ RegionalStratigraphy
89
+ };
90
+ //# sourceMappingURL=reg-strat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reg-strat.js","sources":["../../src/location-details/reg-strat.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\nimport { addCommas } from \"./utils\";\n\nexport function RegionalStratigraphy({\n mapInfo,\n columnInfo,\n columnURL,\n expanded = true,\n}) {\n if (!mapInfo || !mapInfo.mapData) {\n return null;\n }\n\n return RegionalStratigraphyInner({\n mapInfo,\n columnInfo,\n columnURL,\n expanded,\n });\n}\n\nfunction RegionalStratigraphyInner(props) {\n const { mapInfo, columnInfo, columnURL, expanded } = props;\n\n if (mapInfo?.mapData == null || !columnInfo) return null;\n\n return h(\n ExpansionPanel,\n {\n classes: { root: \"regional-panel\" },\n title: \"Regional stratigraphy\",\n expanded,\n },\n [h.if(columnInfo != null)(ColumnData, { columnInfo, columnURL })],\n );\n}\n\nfunction ColumnData({ columnInfo, columnURL }) {\n return h(\"div.column-data\", [\n h(\"a\", { href: columnURL + \"/\" + columnInfo.col_id }, \"View column page\"),\n h(MapAttribute, {\n label: \"Name: \",\n content: [columnInfo.col_name],\n }),\n h(MapAttribute, {\n label: \"Column ID: \",\n content: [columnInfo.col_id],\n }),\n h(MapAttribute, {\n label: \"Group: \",\n content: [columnInfo.col_group],\n }),\n h(MapAttribute, {\n label: \"Group ID: \",\n content: [columnInfo.col_group_id],\n }),\n h.if(columnInfo.min_min_thick || columnInfo.max_thick)(MapAttribute, {\n label: \"Thickness: \",\n content: [\n addCommas(parseInt(columnInfo.min_min_thick)),\n \" - \",\n addCommas(parseInt(columnInfo.max_thick)),\n h(\"span.age-ma\", [\"m\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Age: \",\n content: [\n columnInfo.b_age,\n \" - \",\n columnInfo.t_age,\n \" \",\n h(\"span.age-ma\", [\"Ma\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Area: \",\n content: [addCommas(columnInfo.col_area), \" \", h(\"span.age-ma\", [\"km2\"])],\n }),\n h(MapAttribute, {\n label: \"Fossil collections: \",\n content: [addCommas(columnInfo.pbdb_collections)],\n }),\n ]);\n}\n\nfunction MapAttribute(props) {\n return h(\"div.map-source-attr\", [\n h(\"span.attr\", [props.label]),\n ...props.content,\n ]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAAG;AACD,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS;AAChC,WAAO;AAAA,EACT;AAEA,SAAO,0BAA0B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEA,SAAS,0BAA0B,OAAO;AACxC,QAAM,EAAE,SAAS,YAAY,WAAW,aAAa;AAErD,MAAI,SAAS,WAAW,QAAQ,CAAC,WAAY,QAAO;AAEpD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,SAAS,EAAE,MAAM,iBAAA;AAAA,MACjB,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE,GAAG,cAAc,IAAI,EAAE,YAAY,EAAE,YAAY,WAAW,CAAC;AAAA,EAAA;AAEpE;AAEA,SAAS,WAAW,EAAE,YAAY,aAAa;AAC7C,SAAO,EAAE,mBAAmB;AAAA,IAC1B,EAAE,KAAK,EAAE,MAAM,YAAY,MAAM,WAAW,OAAA,GAAU,kBAAkB;AAAA,IACxE,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,QAAQ;AAAA,IAAA,CAC9B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,MAAM;AAAA,IAAA,CAC5B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,SAAS;AAAA,IAAA,CAC/B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,YAAY;AAAA,IAAA,CAClC;AAAA,IACD,EAAE,GAAG,WAAW,iBAAiB,WAAW,SAAS,EAAE,cAAc;AAAA,MACnE,OAAO;AAAA,MACP,SAAS;AAAA,QACP,UAAU,SAAS,WAAW,aAAa,CAAC;AAAA,QAC5C;AAAA,QACA,UAAU,SAAS,WAAW,SAAS,CAAC;AAAA,QACxC,EAAE,eAAe,CAAC,GAAG,CAAC;AAAA,MAAA;AAAA,IACxB,CACD;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS;AAAA,QACP,WAAW;AAAA,QACX;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,EAAE,eAAe,CAAC,IAAI,CAAC;AAAA,MAAA;AAAA,IACzB,CACD;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,WAAW,QAAQ,GAAG,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAAA,IAAA,CACzE;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,WAAW,gBAAgB,CAAC;AAAA,IAAA,CACjD;AAAA,EAAA,CACF;AACH;AAEA,SAAS,aAAa,OAAO;AAC3B,SAAO,EAAE,uBAAuB;AAAA,IAC9B,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;AAAA,IAC5B,GAAG,MAAM;AAAA,EAAA,CACV;AACH;"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const d3Format = require("d3-format");
4
+ d3Format.format(".4~f");
5
+ d3Format.format(".3~f");
6
+ d3Format.format(".2~f");
7
+ d3Format.format(".1~f");
8
+ d3Format.format(".0f");
9
+ const addCommas = (x) => {
10
+ x = parseInt(x);
11
+ var parts = x.toString().split(".");
12
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
13
+ return parts.join(".");
14
+ };
15
+ exports.addCommas = addCommas;
16
+ //# sourceMappingURL=formatting.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.cjs","sources":["../../../src/location-details/utils/formatting.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport const addCommas = (x) => {\n x = parseInt(x);\n var parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return parts.join(\".\");\n};\n"],"names":["format"],"mappings":";;;AAEoBA,SAAAA,OAAO,MAAM;AACbA,SAAAA,OAAO,MAAM;AACbA,SAAAA,OAAO,MAAM;AACbA,SAAAA,OAAO,MAAM;AACXA,SAAAA,OAAO,KAAK;AAE3B,MAAM,YAAY,CAAC,MAAM;AAC9B,MAAI,SAAS,CAAC;AACd,MAAI,QAAQ,EAAE,SAAA,EAAW,MAAM,GAAG;AAClC,QAAM,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,yBAAyB,GAAG;AACxD,SAAO,MAAM,KAAK,GAAG;AACvB;;"}
@@ -0,0 +1,16 @@
1
+ export declare const fmt4: (n: number | {
2
+ valueOf(): number;
3
+ }) => string;
4
+ export declare const fmt3: (n: number | {
5
+ valueOf(): number;
6
+ }) => string;
7
+ export declare const fmt2: (n: number | {
8
+ valueOf(): number;
9
+ }) => string;
10
+ export declare const fmt1: (n: number | {
11
+ valueOf(): number;
12
+ }) => string;
13
+ export declare const fmtInt: (n: number | {
14
+ valueOf(): number;
15
+ }) => string;
16
+ export declare const addCommas: (x: any) => any;
@@ -0,0 +1,16 @@
1
+ import { format } from "d3-format";
2
+ format(".4~f");
3
+ format(".3~f");
4
+ format(".2~f");
5
+ format(".1~f");
6
+ format(".0f");
7
+ const addCommas = (x) => {
8
+ x = parseInt(x);
9
+ var parts = x.toString().split(".");
10
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
11
+ return parts.join(".");
12
+ };
13
+ export {
14
+ addCommas
15
+ };
16
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sources":["../../../src/location-details/utils/formatting.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport const addCommas = (x) => {\n x = parseInt(x);\n var parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return parts.join(\".\");\n};\n"],"names":[],"mappings":";AAEoB,OAAO,MAAM;AACb,OAAO,MAAM;AACb,OAAO,MAAM;AACb,OAAO,MAAM;AACX,OAAO,KAAK;AAE3B,MAAM,YAAY,CAAC,MAAM;AAC9B,MAAI,SAAS,CAAC;AACd,MAAI,QAAQ,EAAE,SAAA,EAAW,MAAM,GAAG;AAClC,QAAM,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,yBAAyB,GAAG;AACxD,SAAO,MAAM,KAAK,GAAG;AACvB;"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function makeOccurrenceTree(data) {
4
+ let occurrenceTree = { phyla: [] };
5
+ let rankMap = {
6
+ 25: "unranked",
7
+ 23: "kingdom",
8
+ 22: "subkingdom",
9
+ 21: "superphylum",
10
+ 20: "phylum",
11
+ 19: "subphylum",
12
+ 18: "superclass",
13
+ 17: "class",
14
+ 16: "subclass",
15
+ 15: "infraclass",
16
+ 14: "superorder",
17
+ 13: "order",
18
+ 12: "suborder",
19
+ 11: "infraorder",
20
+ 10: "superfamily",
21
+ 9: "family",
22
+ 8: "subfamily",
23
+ 7: "tribe",
24
+ 6: "subtribe",
25
+ 5: "genus",
26
+ 4: "subgenus",
27
+ 3: "species",
28
+ 2: "subspecies"
29
+ };
30
+ function getIndex(data2, term, property) {
31
+ for (let i = 0, len = data2.length; i < len; i++) {
32
+ if (data2[i][property] === term) return i;
33
+ }
34
+ return -1;
35
+ }
36
+ data.forEach((d) => {
37
+ d.rank = d.rnk ? rankMap[d.rnk] : d.idr ? rankMap[d.idr] : "Unknown";
38
+ d.italics = d.rnk < 6 ? "italics" : "";
39
+ if (typeof d.tna === "undefined") {
40
+ d.tna = d.idn;
41
+ }
42
+ d.old_name = d.tna.split(" ")[0] != d.idg ? d.tna : "";
43
+ d.url = d.rank === "species" ? d.idg + " " + d.ids : d.tid ? d.tid.split(":")[1] > 0 ? d.idg : "" : "";
44
+ if (d.idg) {
45
+ let genusRes = d.rsg ? d.rsg + " " : "";
46
+ let speciesRes = d.rss ? " " + d.rss + " " : " ";
47
+ d.genusRes = genusRes;
48
+ if (d.rank === "species") {
49
+ d.display_name1 = d.tna;
50
+ d.display_name2 = d.tna != d.idg + " " + d.ids ? "(" + d.tna + ")" : "";
51
+ d.display_name3 = "";
52
+ } else {
53
+ d.display_name1 = d.idg;
54
+ d.display_name2 = speciesRes;
55
+ d.display_name3 = d.ids;
56
+ }
57
+ } else {
58
+ d.display_name1 = d.tna;
59
+ d.display_name2 = "";
60
+ }
61
+ let phyla = [];
62
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
63
+ phyla.push(occurrenceTree.phyla[i].phylum);
64
+ }
65
+ if (phyla.indexOf(d.phl) < 0) {
66
+ let newPhylum = { phylum: d.phl, classes: [] };
67
+ occurrenceTree.phyla.push(newPhylum);
68
+ }
69
+ let phyla_classes = [];
70
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
71
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
72
+ phyla_classes.push(
73
+ occurrenceTree.phyla[i].phylum + "-" + occurrenceTree.phyla[i].classes[j].nameClass
74
+ );
75
+ }
76
+ }
77
+ if (phyla_classes.indexOf(d.phl + "-" + d.cll) < 0) {
78
+ let newClass = { nameClass: d.cll, families: [] };
79
+ let phylumIndex2 = getIndex(occurrenceTree.phyla, d.phl, "phylum");
80
+ occurrenceTree.phyla[phylumIndex2]["classes"].push(newClass);
81
+ }
82
+ let phyla_class_family = [];
83
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
84
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
85
+ for (let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++) {
86
+ phyla_class_family.push(
87
+ occurrenceTree.phyla[i].phylum + "-" + occurrenceTree.phyla[i].classes[j].nameClass + "-" + occurrenceTree.phyla[i].classes[j].families[k].family
88
+ );
89
+ }
90
+ }
91
+ }
92
+ if (phyla_class_family.indexOf(d.phl + "-" + d.cll + "-" + d.fml) < 0) {
93
+ let newFamily = { family: d.fml, genera: [] };
94
+ let phylumIndex2 = getIndex(occurrenceTree.phyla, d.phl, "phylum");
95
+ let classIndex2 = getIndex(
96
+ occurrenceTree.phyla[phylumIndex2].classes,
97
+ d.cll,
98
+ "nameClass"
99
+ );
100
+ occurrenceTree.phyla[phylumIndex2].classes[classIndex2]["families"].push(
101
+ newFamily
102
+ );
103
+ }
104
+ let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, "phylum");
105
+ let classIndex = getIndex(
106
+ occurrenceTree.phyla[phylumIndex].classes,
107
+ d.cll,
108
+ "nameClass"
109
+ );
110
+ let familyIndex = getIndex(
111
+ occurrenceTree.phyla[phylumIndex].classes[classIndex].families,
112
+ d.fml,
113
+ "family"
114
+ );
115
+ occurrenceTree.phyla[phylumIndex].classes[classIndex].families[familyIndex].genera.push(d);
116
+ });
117
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
118
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
119
+ let undefinedFamilyIndex;
120
+ for (let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++) {
121
+ if (typeof occurrenceTree.phyla[i].classes[j].families[k].family === "undefined") {
122
+ undefinedFamilyIndex = k;
123
+ occurrenceTree.phyla[i].classes[j].families[k].family = "Miscellaneous " + (typeof occurrenceTree.phyla[i].classes[j].nameClass === "undefined") ? "Miscellaneous unranked taxa" : occurrenceTree.phyla[i].classes[j].nameClass;
124
+ occurrenceTree.phyla[i].classes[j].families[k].noFamily = true;
125
+ }
126
+ }
127
+ if (typeof undefinedFamilyIndex != "undefined") {
128
+ occurrenceTree.phyla[i].classes[j].families.push(
129
+ occurrenceTree.phyla[i].classes[j].families.splice(
130
+ undefinedFamilyIndex,
131
+ 1
132
+ )[0]
133
+ );
134
+ }
135
+ if (typeof occurrenceTree.phyla[i].classes[j].nameClass === "undefined") {
136
+ undefinedFamilyIndex = j;
137
+ occurrenceTree.phyla[i].classes[j].nameClass = "Miscellaneous " + (typeof occurrenceTree.phyla[i].phylum === "undefined") ? "Miscellaneous unranked taxa" : occurrenceTree.phyla[i].phylum;
138
+ occurrenceTree.phyla[i].classes[j].noClass = true;
139
+ }
140
+ }
141
+ if (typeof occurrenceTree.phyla[i].phylum === "undefined") {
142
+ occurrenceTree.phyla[i].phylum = "Unranked taxa";
143
+ occurrenceTree.phyla[i].unranked = true;
144
+ }
145
+ }
146
+ return occurrenceTree;
147
+ }
148
+ exports.makeOccurrenceTree = makeOccurrenceTree;
149
+ //# sourceMappingURL=fossils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fossils.cjs","sources":["../../../src/location-details/utils/fossils.ts"],"sourcesContent":["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":["data","phylumIndex","classIndex"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function makeOccurrenceTree(data: any): {
2
+ phyla: any[];
3
+ };
@@ -0,0 +1,149 @@
1
+ function makeOccurrenceTree(data) {
2
+ let occurrenceTree = { phyla: [] };
3
+ let rankMap = {
4
+ 25: "unranked",
5
+ 23: "kingdom",
6
+ 22: "subkingdom",
7
+ 21: "superphylum",
8
+ 20: "phylum",
9
+ 19: "subphylum",
10
+ 18: "superclass",
11
+ 17: "class",
12
+ 16: "subclass",
13
+ 15: "infraclass",
14
+ 14: "superorder",
15
+ 13: "order",
16
+ 12: "suborder",
17
+ 11: "infraorder",
18
+ 10: "superfamily",
19
+ 9: "family",
20
+ 8: "subfamily",
21
+ 7: "tribe",
22
+ 6: "subtribe",
23
+ 5: "genus",
24
+ 4: "subgenus",
25
+ 3: "species",
26
+ 2: "subspecies"
27
+ };
28
+ function getIndex(data2, term, property) {
29
+ for (let i = 0, len = data2.length; i < len; i++) {
30
+ if (data2[i][property] === term) return i;
31
+ }
32
+ return -1;
33
+ }
34
+ data.forEach((d) => {
35
+ d.rank = d.rnk ? rankMap[d.rnk] : d.idr ? rankMap[d.idr] : "Unknown";
36
+ d.italics = d.rnk < 6 ? "italics" : "";
37
+ if (typeof d.tna === "undefined") {
38
+ d.tna = d.idn;
39
+ }
40
+ d.old_name = d.tna.split(" ")[0] != d.idg ? d.tna : "";
41
+ d.url = d.rank === "species" ? d.idg + " " + d.ids : d.tid ? d.tid.split(":")[1] > 0 ? d.idg : "" : "";
42
+ if (d.idg) {
43
+ let genusRes = d.rsg ? d.rsg + " " : "";
44
+ let speciesRes = d.rss ? " " + d.rss + " " : " ";
45
+ d.genusRes = genusRes;
46
+ if (d.rank === "species") {
47
+ d.display_name1 = d.tna;
48
+ d.display_name2 = d.tna != d.idg + " " + d.ids ? "(" + d.tna + ")" : "";
49
+ d.display_name3 = "";
50
+ } else {
51
+ d.display_name1 = d.idg;
52
+ d.display_name2 = speciesRes;
53
+ d.display_name3 = d.ids;
54
+ }
55
+ } else {
56
+ d.display_name1 = d.tna;
57
+ d.display_name2 = "";
58
+ }
59
+ let phyla = [];
60
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
61
+ phyla.push(occurrenceTree.phyla[i].phylum);
62
+ }
63
+ if (phyla.indexOf(d.phl) < 0) {
64
+ let newPhylum = { phylum: d.phl, classes: [] };
65
+ occurrenceTree.phyla.push(newPhylum);
66
+ }
67
+ let phyla_classes = [];
68
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
69
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
70
+ phyla_classes.push(
71
+ occurrenceTree.phyla[i].phylum + "-" + occurrenceTree.phyla[i].classes[j].nameClass
72
+ );
73
+ }
74
+ }
75
+ if (phyla_classes.indexOf(d.phl + "-" + d.cll) < 0) {
76
+ let newClass = { nameClass: d.cll, families: [] };
77
+ let phylumIndex2 = getIndex(occurrenceTree.phyla, d.phl, "phylum");
78
+ occurrenceTree.phyla[phylumIndex2]["classes"].push(newClass);
79
+ }
80
+ let phyla_class_family = [];
81
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
82
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
83
+ for (let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++) {
84
+ phyla_class_family.push(
85
+ occurrenceTree.phyla[i].phylum + "-" + occurrenceTree.phyla[i].classes[j].nameClass + "-" + occurrenceTree.phyla[i].classes[j].families[k].family
86
+ );
87
+ }
88
+ }
89
+ }
90
+ if (phyla_class_family.indexOf(d.phl + "-" + d.cll + "-" + d.fml) < 0) {
91
+ let newFamily = { family: d.fml, genera: [] };
92
+ let phylumIndex2 = getIndex(occurrenceTree.phyla, d.phl, "phylum");
93
+ let classIndex2 = getIndex(
94
+ occurrenceTree.phyla[phylumIndex2].classes,
95
+ d.cll,
96
+ "nameClass"
97
+ );
98
+ occurrenceTree.phyla[phylumIndex2].classes[classIndex2]["families"].push(
99
+ newFamily
100
+ );
101
+ }
102
+ let phylumIndex = getIndex(occurrenceTree.phyla, d.phl, "phylum");
103
+ let classIndex = getIndex(
104
+ occurrenceTree.phyla[phylumIndex].classes,
105
+ d.cll,
106
+ "nameClass"
107
+ );
108
+ let familyIndex = getIndex(
109
+ occurrenceTree.phyla[phylumIndex].classes[classIndex].families,
110
+ d.fml,
111
+ "family"
112
+ );
113
+ occurrenceTree.phyla[phylumIndex].classes[classIndex].families[familyIndex].genera.push(d);
114
+ });
115
+ for (let i = 0; i < occurrenceTree.phyla.length; i++) {
116
+ for (let j = 0; j < occurrenceTree.phyla[i].classes.length; j++) {
117
+ let undefinedFamilyIndex;
118
+ for (let k = 0; k < occurrenceTree.phyla[i].classes[j].families.length; k++) {
119
+ if (typeof occurrenceTree.phyla[i].classes[j].families[k].family === "undefined") {
120
+ undefinedFamilyIndex = k;
121
+ occurrenceTree.phyla[i].classes[j].families[k].family = "Miscellaneous " + (typeof occurrenceTree.phyla[i].classes[j].nameClass === "undefined") ? "Miscellaneous unranked taxa" : occurrenceTree.phyla[i].classes[j].nameClass;
122
+ occurrenceTree.phyla[i].classes[j].families[k].noFamily = true;
123
+ }
124
+ }
125
+ if (typeof undefinedFamilyIndex != "undefined") {
126
+ occurrenceTree.phyla[i].classes[j].families.push(
127
+ occurrenceTree.phyla[i].classes[j].families.splice(
128
+ undefinedFamilyIndex,
129
+ 1
130
+ )[0]
131
+ );
132
+ }
133
+ if (typeof occurrenceTree.phyla[i].classes[j].nameClass === "undefined") {
134
+ undefinedFamilyIndex = j;
135
+ occurrenceTree.phyla[i].classes[j].nameClass = "Miscellaneous " + (typeof occurrenceTree.phyla[i].phylum === "undefined") ? "Miscellaneous unranked taxa" : occurrenceTree.phyla[i].phylum;
136
+ occurrenceTree.phyla[i].classes[j].noClass = true;
137
+ }
138
+ }
139
+ if (typeof occurrenceTree.phyla[i].phylum === "undefined") {
140
+ occurrenceTree.phyla[i].phylum = "Unranked taxa";
141
+ occurrenceTree.phyla[i].unranked = true;
142
+ }
143
+ }
144
+ return occurrenceTree;
145
+ }
146
+ export {
147
+ makeOccurrenceTree
148
+ };
149
+ //# sourceMappingURL=fossils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fossils.js","sources":["../../../src/location-details/utils/fossils.ts"],"sourcesContent":["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":["data","phylumIndex","classIndex"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const hexToRgb = (hex, opacity) => {
4
+ if (!hex) {
5
+ return "rgba(0,0,0,0.3)";
6
+ }
7
+ hex = hex.replace("#", "");
8
+ let bigint = parseInt(hex, 16);
9
+ let r = bigint >> 16 & 255;
10
+ let g = bigint >> 8 & 255;
11
+ let b = bigint & 255;
12
+ return `rgba(${r},${g},${b},${opacity})`;
13
+ };
14
+ exports.hexToRgb = hexToRgb;
15
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/location-details/utils/index.ts"],"sourcesContent":["export const sum = (data, prop) => {\n if (!data || !data.length) {\n return [];\n }\n return data\n .map((d) => {\n return d[prop];\n })\n .reduce((a, b) => {\n return a + b;\n }, 0);\n};\n\nexport const hexToRgb = (hex, opacity) => {\n if (!hex) {\n return \"rgba(0,0,0,0.3)\";\n }\n hex = hex.replace(\"#\", \"\");\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n return `rgba(${r},${g},${b},${opacity || 0.8})`;\n};\n\nexport type TimescaleDivision = {\n name: string;\n abbrev: string;\n t_age: number;\n b_age: number;\n color: string;\n};\n\nexport const timescale: TimescaleDivision[] = [\n { name: \"Quaternary\", abbrev: \"Q\", t_age: 0, b_age: 2.588, color: \"#F9F97F\" },\n {\n name: \"Neogene\",\n abbrev: \"Ng\",\n t_age: 2.588,\n b_age: 23.03,\n color: \"#FFE619\",\n },\n {\n name: \"Paleogene\",\n abbrev: \"Pg\",\n t_age: 23.03,\n b_age: 66,\n color: \"#FD9A52\",\n },\n { name: \"Cretaceous\", abbrev: \"K\", t_age: 66, b_age: 145, color: \"#7FC64E\" },\n { name: \"Jurassic\", abbrev: \"J\", t_age: 145, b_age: 201.3, color: \"#34B2C9\" },\n {\n name: \"Triassic\",\n abbrev: \"Tr\",\n t_age: 201.3,\n b_age: 252.17,\n color: \"#812B92\",\n },\n {\n name: \"Permian\",\n abbrev: \"P\",\n t_age: 252.17,\n b_age: 298.9,\n color: \"#F04028\",\n },\n {\n name: \"Carboniferous\",\n abbrev: \"C\",\n t_age: 298.9,\n b_age: 358.9,\n color: \"#67A599\",\n },\n {\n name: \"Devonian\",\n abbrev: \"D\",\n t_age: 358.9,\n b_age: 419.2,\n color: \"#CB8C37\",\n },\n {\n name: \"Silurian\",\n abbrev: \"S\",\n t_age: 419.2,\n b_age: 443.8,\n color: \"#B3E1B6\",\n },\n {\n name: \"Ordovician\",\n abbrev: \"O\",\n t_age: 443.8,\n b_age: 485.4,\n color: \"#009270\",\n },\n {\n name: \"Cambrian\",\n abbrev: \"Cm\",\n t_age: 485.4,\n b_age: 541,\n color: \"#7FA056\",\n },\n { name: \"Ediacaran\", abbrev: \"E\", t_age: 541, b_age: 635, color: \"#FFC3E1\" },\n {\n name: \"Cryogenian\",\n abbrev: \"Cr\",\n t_age: 635,\n b_age: 720,\n color: \"#FFAFD7\",\n },\n { name: \"Tonian\", abbrev: \"T\", t_age: 720, b_age: 1000, color: \"#FFA5D2\" },\n { name: \"Stenian\", abbrev: \"St\", t_age: 1000, b_age: 1200, color: \"#FFA5D2\" },\n {\n name: \"Ectasian\",\n abbrev: \"Ec\",\n t_age: 1200,\n b_age: 1400,\n color: \"#FF98CC\",\n },\n {\n name: \"Calymmian\",\n abbrev: \"Ca\",\n t_age: 1400,\n b_age: 1600,\n color: \"#FF8BC5\",\n },\n {\n name: \"Statherian\",\n abbrev: \"St\",\n t_age: 1600,\n b_age: 1800,\n color: \"#EE93C1\",\n },\n {\n name: \"Orosirian\",\n abbrev: \"Or\",\n t_age: 1800,\n b_age: 2050,\n color: \"#E874AF\",\n },\n { name: \"Rhyacian\", abbrev: \"R\", t_age: 2050, b_age: 2300, color: \"#EB84B8\" },\n {\n name: \"Siderian\",\n abbrev: \"Sd\",\n t_age: 2300,\n b_age: 2500,\n color: \"#E874AF\",\n },\n];\n\nexport * from \"./fossils\";\nexport * from \"./formatting\";\n"],"names":[],"mappings":";;AAaO,MAAM,WAAW,CAAC,KAAK,YAAY;AACxC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,QAAM,IAAI,QAAQ,KAAK,EAAE;AACzB,MAAI,SAAS,SAAS,KAAK,EAAE;AAC7B,MAAI,IAAK,UAAU,KAAM;AACzB,MAAI,IAAK,UAAU,IAAK;AACxB,MAAI,IAAI,SAAS;AACjB,SAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAc;AAC9C;;"}
@@ -0,0 +1,12 @@
1
+ export declare const sum: (data: any, prop: any) => any;
2
+ export declare const hexToRgb: (hex: any, opacity: any) => string;
3
+ export type TimescaleDivision = {
4
+ name: string;
5
+ abbrev: string;
6
+ t_age: number;
7
+ b_age: number;
8
+ color: string;
9
+ };
10
+ export declare const timescale: TimescaleDivision[];
11
+ export * from './fossils';
12
+ export * from './formatting';
@@ -0,0 +1,15 @@
1
+ const hexToRgb = (hex, opacity) => {
2
+ if (!hex) {
3
+ return "rgba(0,0,0,0.3)";
4
+ }
5
+ hex = hex.replace("#", "");
6
+ let bigint = parseInt(hex, 16);
7
+ let r = bigint >> 16 & 255;
8
+ let g = bigint >> 8 & 255;
9
+ let b = bigint & 255;
10
+ return `rgba(${r},${g},${b},${opacity})`;
11
+ };
12
+ export {
13
+ hexToRgb
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/location-details/utils/index.ts"],"sourcesContent":["export const sum = (data, prop) => {\n if (!data || !data.length) {\n return [];\n }\n return data\n .map((d) => {\n return d[prop];\n })\n .reduce((a, b) => {\n return a + b;\n }, 0);\n};\n\nexport const hexToRgb = (hex, opacity) => {\n if (!hex) {\n return \"rgba(0,0,0,0.3)\";\n }\n hex = hex.replace(\"#\", \"\");\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n return `rgba(${r},${g},${b},${opacity || 0.8})`;\n};\n\nexport type TimescaleDivision = {\n name: string;\n abbrev: string;\n t_age: number;\n b_age: number;\n color: string;\n};\n\nexport const timescale: TimescaleDivision[] = [\n { name: \"Quaternary\", abbrev: \"Q\", t_age: 0, b_age: 2.588, color: \"#F9F97F\" },\n {\n name: \"Neogene\",\n abbrev: \"Ng\",\n t_age: 2.588,\n b_age: 23.03,\n color: \"#FFE619\",\n },\n {\n name: \"Paleogene\",\n abbrev: \"Pg\",\n t_age: 23.03,\n b_age: 66,\n color: \"#FD9A52\",\n },\n { name: \"Cretaceous\", abbrev: \"K\", t_age: 66, b_age: 145, color: \"#7FC64E\" },\n { name: \"Jurassic\", abbrev: \"J\", t_age: 145, b_age: 201.3, color: \"#34B2C9\" },\n {\n name: \"Triassic\",\n abbrev: \"Tr\",\n t_age: 201.3,\n b_age: 252.17,\n color: \"#812B92\",\n },\n {\n name: \"Permian\",\n abbrev: \"P\",\n t_age: 252.17,\n b_age: 298.9,\n color: \"#F04028\",\n },\n {\n name: \"Carboniferous\",\n abbrev: \"C\",\n t_age: 298.9,\n b_age: 358.9,\n color: \"#67A599\",\n },\n {\n name: \"Devonian\",\n abbrev: \"D\",\n t_age: 358.9,\n b_age: 419.2,\n color: \"#CB8C37\",\n },\n {\n name: \"Silurian\",\n abbrev: \"S\",\n t_age: 419.2,\n b_age: 443.8,\n color: \"#B3E1B6\",\n },\n {\n name: \"Ordovician\",\n abbrev: \"O\",\n t_age: 443.8,\n b_age: 485.4,\n color: \"#009270\",\n },\n {\n name: \"Cambrian\",\n abbrev: \"Cm\",\n t_age: 485.4,\n b_age: 541,\n color: \"#7FA056\",\n },\n { name: \"Ediacaran\", abbrev: \"E\", t_age: 541, b_age: 635, color: \"#FFC3E1\" },\n {\n name: \"Cryogenian\",\n abbrev: \"Cr\",\n t_age: 635,\n b_age: 720,\n color: \"#FFAFD7\",\n },\n { name: \"Tonian\", abbrev: \"T\", t_age: 720, b_age: 1000, color: \"#FFA5D2\" },\n { name: \"Stenian\", abbrev: \"St\", t_age: 1000, b_age: 1200, color: \"#FFA5D2\" },\n {\n name: \"Ectasian\",\n abbrev: \"Ec\",\n t_age: 1200,\n b_age: 1400,\n color: \"#FF98CC\",\n },\n {\n name: \"Calymmian\",\n abbrev: \"Ca\",\n t_age: 1400,\n b_age: 1600,\n color: \"#FF8BC5\",\n },\n {\n name: \"Statherian\",\n abbrev: \"St\",\n t_age: 1600,\n b_age: 1800,\n color: \"#EE93C1\",\n },\n {\n name: \"Orosirian\",\n abbrev: \"Or\",\n t_age: 1800,\n b_age: 2050,\n color: \"#E874AF\",\n },\n { name: \"Rhyacian\", abbrev: \"R\", t_age: 2050, b_age: 2300, color: \"#EB84B8\" },\n {\n name: \"Siderian\",\n abbrev: \"Sd\",\n t_age: 2300,\n b_age: 2500,\n color: \"#E874AF\",\n },\n];\n\nexport * from \"./fossils\";\nexport * from \"./formatting\";\n"],"names":[],"mappings":"AAaO,MAAM,WAAW,CAAC,KAAK,YAAY;AACxC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,QAAM,IAAI,QAAQ,KAAK,EAAE;AACzB,MAAI,SAAS,SAAS,KAAK,EAAE;AAC7B,MAAI,IAAK,UAAU,KAAM;AACzB,MAAI,IAAK,UAAU,IAAK;AACxB,MAAI,IAAI,SAAS;AACjB,SAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAc;AAC9C;"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const core = require("@blueprintjs/core");
5
+ const uiComponents = require("@macrostrat/ui-components");
6
+ const h = require("@macrostrat/hyper");
7
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
+ const h__default = /* @__PURE__ */ _interopDefault(h);
9
+ function Article(props) {
10
+ const [expanded, setExpanded] = React.useState(false);
11
+ const { data } = props;
12
+ const toggleExpand = () => {
13
+ setExpanded(!expanded);
14
+ };
15
+ let year;
16
+ try {
17
+ year = data.coverDate ? data.coverDate.match(/\d{4}/)[0] : "";
18
+ } catch (e) {
19
+ year = "";
20
+ }
21
+ const authors = data?.authors?.split("; ") ?? [];
22
+ const authorList = authors.length > 0 ? h__default.default(uiComponents.AuthorList, { names: authors }) : "Unknown";
23
+ const iconName = expanded ? "chevron-up" : "chevron-down";
24
+ return h__default.default("div.article", [
25
+ h__default.default("div.article-title", [
26
+ h__default.default("p.article-author", [authorList, year.length ? ` ${year}. ` : ""]),
27
+ h__default.default(
28
+ "a.title-link",
29
+ { href: data.URL, target: "_blank" },
30
+ h__default.default("strong", [data.title + "."])
31
+ ),
32
+ h__default.default(
33
+ "span",
34
+ {},
35
+ h__default.default(core.Button, {
36
+ onClick: toggleExpand,
37
+ minimal: true,
38
+ rightIcon: iconName,
39
+ className: "flat-btn"
40
+ })
41
+ )
42
+ ]),
43
+ h__default.default(
44
+ core.Collapse,
45
+ { isOpen: expanded },
46
+ h__default.default(
47
+ "span",
48
+ { className: expanded ? "" : "hidden" },
49
+ h__default.default(
50
+ "div.quotes",
51
+ {},
52
+ data.highlight.map(
53
+ (snippet, si) => h__default.default("p.gdd-snippet", {
54
+ key: si,
55
+ dangerouslySetInnerHTML: { __html: `...${snippet}...` }
56
+ })
57
+ )
58
+ )
59
+ )
60
+ )
61
+ ]);
62
+ }
63
+ exports.Article = Article;
64
+ //# sourceMappingURL=article.cjs.map