@macrostrat/map-interface 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/container.cjs +131 -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 +79 -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 +54 -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 +155 -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 +212 -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 +20 -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 +125 -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 +162 -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 +68 -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 +13 -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 +8 -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 +81 -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 +355 -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 +30 -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 +90 -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 +62 -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 +69 -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 +25 -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 +109 -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 +42 -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 +200 -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 +51 -48
  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 @@
1
+ {"version":3,"file":"article.cjs","sources":["../../../src/location-details/xdd-panel/article.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function Article(props) {\n const [expanded, setExpanded] = useState(false);\n const { data } = props;\n\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n\n // Attempt to pull out only the year and not the whole date\n let year;\n try {\n year = data.coverDate ? data.coverDate.match(/\\d{4}/)[0] : \"\";\n } catch (e) {\n year = \"\";\n }\n\n const authors = data?.authors?.split(\"; \") ?? [];\n\n const authorList =\n authors.length > 0 ? h(AuthorList, { names: authors }) : \"Unknown\";\n\n const iconName = expanded ? \"chevron-up\" : \"chevron-down\";\n\n return h(\"div.article\", [\n h(\"div.article-title\", [\n h(\"p.article-author\", [authorList, year.length ? ` ${year}. ` : \"\"]),\n h(\n \"a.title-link\",\n { href: data.URL, target: \"_blank\" },\n h(\"strong\", [data.title + \".\"]),\n ),\n h(\n \"span\",\n {},\n h(Button, {\n onClick: toggleExpand,\n minimal: true,\n rightIcon: iconName,\n className: \"flat-btn\",\n }),\n ),\n ]),\n h(\n Collapse,\n { isOpen: expanded },\n h(\n \"span\",\n { className: expanded ? \"\" : \"hidden\" },\n h(\n \"div.quotes\",\n {},\n data.highlight.map((snippet, si) =>\n h(\"p.gdd-snippet\", {\n key: si,\n dangerouslySetInnerHTML: { __html: `...${snippet}...` },\n }),\n ),\n ),\n ),\n ),\n ]);\n}\n"],"names":["useState","AuthorList","Button","Collapse"],"mappings":";;;;;;AAKO,SAAS,QAAQ,OAAO;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAS,KAAK;AAC9C,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM;AACzB,gBAAY,CAAC,QAAQ;AAAA,EACvB;AAGA,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,YAAY,KAAK,UAAU,MAAM,OAAO,EAAE,CAAC,IAAI;AAAA,EAC7D,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,MAAM,SAAS,MAAM,IAAI,KAAK,CAAA;AAE9C,QAAM,aACJ,QAAQ,SAAS,IAAI,EAAEC,aAAAA,YAAY,EAAE,OAAO,QAAA,CAAS,IAAI;AAE3D,QAAM,WAAW,WAAW,eAAe;AAE3C,SAAO,EAAE,eAAe;AAAA,IACtB,EAAE,qBAAqB;AAAA,MACrB,EAAE,oBAAoB,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,OAAO,EAAE,CAAC;AAAA,MACnE;AAAA,QACE;AAAA,QACA,EAAE,MAAM,KAAK,KAAK,QAAQ,SAAA;AAAA,QAC1B,EAAE,UAAU,CAAC,KAAK,QAAQ,GAAG,CAAC;AAAA,MAAA;AAAA,MAEhC;AAAA,QACE;AAAA,QACA,CAAA;AAAA,QACA,EAAEC,KAAAA,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,SAAS;AAAA,UACT,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,IACD;AAAA,MACEC,KAAAA;AAAAA,MACA,EAAE,QAAQ,SAAA;AAAA,MACV;AAAA,QACE;AAAA,QACA,EAAE,WAAW,WAAW,KAAK,SAAA;AAAA,QAC7B;AAAA,UACE;AAAA,UACA,CAAA;AAAA,UACA,KAAK,UAAU;AAAA,YAAI,CAAC,SAAS,OAC3B,EAAE,iBAAiB;AAAA,cACjB,KAAK;AAAA,cACL,yBAAyB,EAAE,QAAQ,MAAM,OAAO,MAAA;AAAA,YAAM,CACvD;AAAA,UAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACH;;"}
@@ -0,0 +1 @@
1
+ export declare function Article(props: any): import('react').DOMElement<import('react').DOMAttributes<Element>, Element>;
@@ -0,0 +1,62 @@
1
+ import { useState } from "react";
2
+ import { Button, Collapse } from "@blueprintjs/core";
3
+ import { AuthorList } from "@macrostrat/ui-components";
4
+ import h from "@macrostrat/hyper";
5
+ function Article(props) {
6
+ const [expanded, setExpanded] = useState(false);
7
+ const { data } = props;
8
+ const toggleExpand = () => {
9
+ setExpanded(!expanded);
10
+ };
11
+ let year;
12
+ try {
13
+ year = data.coverDate ? data.coverDate.match(/\d{4}/)[0] : "";
14
+ } catch (e) {
15
+ year = "";
16
+ }
17
+ const authors = data?.authors?.split("; ") ?? [];
18
+ const authorList = authors.length > 0 ? h(AuthorList, { names: authors }) : "Unknown";
19
+ const iconName = expanded ? "chevron-up" : "chevron-down";
20
+ return h("div.article", [
21
+ h("div.article-title", [
22
+ h("p.article-author", [authorList, year.length ? ` ${year}. ` : ""]),
23
+ h(
24
+ "a.title-link",
25
+ { href: data.URL, target: "_blank" },
26
+ h("strong", [data.title + "."])
27
+ ),
28
+ h(
29
+ "span",
30
+ {},
31
+ h(Button, {
32
+ onClick: toggleExpand,
33
+ minimal: true,
34
+ rightIcon: iconName,
35
+ className: "flat-btn"
36
+ })
37
+ )
38
+ ]),
39
+ h(
40
+ Collapse,
41
+ { isOpen: expanded },
42
+ h(
43
+ "span",
44
+ { className: expanded ? "" : "hidden" },
45
+ h(
46
+ "div.quotes",
47
+ {},
48
+ data.highlight.map(
49
+ (snippet, si) => h("p.gdd-snippet", {
50
+ key: si,
51
+ dangerouslySetInnerHTML: { __html: `...${snippet}...` }
52
+ })
53
+ )
54
+ )
55
+ )
56
+ )
57
+ ]);
58
+ }
59
+ export {
60
+ Article
61
+ };
62
+ //# sourceMappingURL=article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.js","sources":["../../../src/location-details/xdd-panel/article.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function Article(props) {\n const [expanded, setExpanded] = useState(false);\n const { data } = props;\n\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n\n // Attempt to pull out only the year and not the whole date\n let year;\n try {\n year = data.coverDate ? data.coverDate.match(/\\d{4}/)[0] : \"\";\n } catch (e) {\n year = \"\";\n }\n\n const authors = data?.authors?.split(\"; \") ?? [];\n\n const authorList =\n authors.length > 0 ? h(AuthorList, { names: authors }) : \"Unknown\";\n\n const iconName = expanded ? \"chevron-up\" : \"chevron-down\";\n\n return h(\"div.article\", [\n h(\"div.article-title\", [\n h(\"p.article-author\", [authorList, year.length ? ` ${year}. ` : \"\"]),\n h(\n \"a.title-link\",\n { href: data.URL, target: \"_blank\" },\n h(\"strong\", [data.title + \".\"]),\n ),\n h(\n \"span\",\n {},\n h(Button, {\n onClick: toggleExpand,\n minimal: true,\n rightIcon: iconName,\n className: \"flat-btn\",\n }),\n ),\n ]),\n h(\n Collapse,\n { isOpen: expanded },\n h(\n \"span\",\n { className: expanded ? \"\" : \"hidden\" },\n h(\n \"div.quotes\",\n {},\n data.highlight.map((snippet, si) =>\n h(\"p.gdd-snippet\", {\n key: si,\n dangerouslySetInnerHTML: { __html: `...${snippet}...` },\n }),\n ),\n ),\n ),\n ),\n ]);\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,QAAQ,OAAO;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM;AACzB,gBAAY,CAAC,QAAQ;AAAA,EACvB;AAGA,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,YAAY,KAAK,UAAU,MAAM,OAAO,EAAE,CAAC,IAAI;AAAA,EAC7D,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,MAAM,SAAS,MAAM,IAAI,KAAK,CAAA;AAE9C,QAAM,aACJ,QAAQ,SAAS,IAAI,EAAE,YAAY,EAAE,OAAO,QAAA,CAAS,IAAI;AAE3D,QAAM,WAAW,WAAW,eAAe;AAE3C,SAAO,EAAE,eAAe;AAAA,IACtB,EAAE,qBAAqB;AAAA,MACrB,EAAE,oBAAoB,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,OAAO,EAAE,CAAC;AAAA,MACnE;AAAA,QACE;AAAA,QACA,EAAE,MAAM,KAAK,KAAK,QAAQ,SAAA;AAAA,QAC1B,EAAE,UAAU,CAAC,KAAK,QAAQ,GAAG,CAAC;AAAA,MAAA;AAAA,MAEhC;AAAA,QACE;AAAA,QACA,CAAA;AAAA,QACA,EAAE,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,SAAS;AAAA,UACT,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,IACD;AAAA,MACE;AAAA,MACA,EAAE,QAAQ,SAAA;AAAA,MACV;AAAA,QACE;AAAA,QACA,EAAE,WAAW,WAAW,KAAK,SAAA;AAAA,QAC7B;AAAA,UACE;AAAA,UACA,CAAA;AAAA,UACA,KAAK,UAAU;AAAA,YAAI,CAAC,SAAS,OAC3B,EAAE,iBAAiB;AAAA,cACjB,KAAK;AAAA,cACL,yBAAyB,EAAE,QAAQ,MAAM,OAAO,MAAA;AAAA,YAAM,CACvD;AAAA,UAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACH;"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const core = require("@blueprintjs/core");
4
+ const h = require("@macrostrat/hyper");
5
+ const journal = require("./journal.cjs");
6
+ const mapInterface = require("@macrostrat/map-interface");
7
+ function XddExpansion({
8
+ xddInfo,
9
+ expanded = false,
10
+ nestedExpanded = true
11
+ }) {
12
+ return h(xDDPanelCore, {
13
+ className: "regional-panel",
14
+ data: xddInfo,
15
+ isFetching: xddInfo == void 0 || xddInfo.length === 0,
16
+ expanded,
17
+ nestedExpanded
18
+ });
19
+ }
20
+ function xDDPanelCore({
21
+ isFetching,
22
+ data: xddInfo,
23
+ expanded,
24
+ nestedExpanded,
25
+ ...rest
26
+ }) {
27
+ const groupedData = groupSnippetsByJournal(xddInfo);
28
+ return h(
29
+ mapInterface.ExpansionPanel,
30
+ {
31
+ className: "regional-panel",
32
+ title: "Primary literature",
33
+ helpText: "via xDD",
34
+ ...rest,
35
+ expanded
36
+ },
37
+ [
38
+ h.if(isFetching)(core.Spinner),
39
+ h.if(!isFetching && xddInfo.length > 0)([
40
+ Array.from(groupedData.entries())?.map(([journal$1, snippets]) => {
41
+ return h(journal.JournalLegacy, {
42
+ nestedExpanded,
43
+ name: journal$1,
44
+ articles: snippets,
45
+ publisher: snippets[0].publisher,
46
+ key: journal$1
47
+ });
48
+ })
49
+ ])
50
+ ]
51
+ );
52
+ }
53
+ function groupSnippetsByJournal(snippets) {
54
+ const journals = /* @__PURE__ */ new Map();
55
+ if (!snippets || snippets.length === 0) {
56
+ return journals;
57
+ }
58
+ for (let snippet of snippets) {
59
+ const { pubname: journal2 } = snippet;
60
+ if (!journals.has(journal2)) {
61
+ journals.set(journal2, []);
62
+ }
63
+ journals.get(journal2).push(snippet);
64
+ }
65
+ return journals;
66
+ }
67
+ exports.XddExpansion = XddExpansion;
68
+ exports.xDDPanelCore = xDDPanelCore;
69
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/location-details/xdd-panel/index.ts"],"sourcesContent":["import { Spinner } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { XDDSnippet, JournalLegacy } from \"./journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport function XddExpansion({\n xddInfo,\n expanded = false,\n nestedExpanded = true,\n}) {\n return h(xDDPanelCore, {\n className: \"regional-panel\",\n data: xddInfo,\n isFetching: xddInfo == undefined || xddInfo.length === 0,\n expanded,\n nestedExpanded,\n });\n}\n\nexport function xDDPanelCore({\n isFetching,\n data: xddInfo,\n expanded,\n nestedExpanded,\n ...rest\n}) {\n const groupedData = groupSnippetsByJournal(xddInfo);\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Primary literature\",\n helpText: \"via xDD\",\n ...rest,\n expanded,\n },\n [\n h.if(isFetching)(Spinner),\n h.if(!isFetching && xddInfo.length > 0)([\n Array.from(groupedData.entries())?.map(([journal, snippets]) => {\n return h(JournalLegacy, {\n nestedExpanded,\n name: journal,\n articles: snippets,\n publisher: snippets[0].publisher,\n key: journal,\n });\n }),\n ]),\n ],\n );\n}\n\nfunction groupSnippetsByJournal(\n snippets: XDDSnippet[],\n): Map<string, XDDSnippet[]> {\n const journals = new Map<string, XDDSnippet[]>();\n if (!snippets || snippets.length === 0) {\n return journals;\n }\n for (let snippet of snippets) {\n const { pubname: journal } = snippet;\n if (!journals.has(journal)) {\n journals.set(journal, []);\n }\n journals.get(journal).push(snippet);\n }\n return journals;\n}\n"],"names":["ExpansionPanel","Spinner","journal","JournalLegacy"],"mappings":";;;;;;AAKO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACnB,GAAG;AACD,SAAO,EAAE,cAAc;AAAA,IACrB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,YAAY,WAAW,UAAa,QAAQ,WAAW;AAAA,IACvD;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM,cAAc,uBAAuB,OAAO;AAElD,SAAO;AAAA,IACLA,aAAAA;AAAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,EAAE,GAAG,UAAU,EAAEC,YAAO;AAAA,MACxB,EAAE,GAAG,CAAC,cAAc,QAAQ,SAAS,CAAC,EAAE;AAAA,QACtC,MAAM,KAAK,YAAY,QAAA,CAAS,GAAG,IAAI,CAAC,CAACC,WAAS,QAAQ,MAAM;AAC9D,iBAAO,EAAEC,QAAAA,eAAe;AAAA,YACtB;AAAA,YACA,MAAMD;AAAAA,YACN,UAAU;AAAA,YACV,WAAW,SAAS,CAAC,EAAE;AAAA,YACvB,KAAKA;AAAAA,UAAA,CACN;AAAA,QACH,CAAC;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH;AAEJ;AAEA,SAAS,uBACP,UAC2B;AAC3B,QAAM,+BAAe,IAAA;AACrB,MAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AACtC,WAAO;AAAA,EACT;AACA,WAAS,WAAW,UAAU;AAC5B,UAAM,EAAE,SAASA,SAAA,IAAY;AAC7B,QAAI,CAAC,SAAS,IAAIA,QAAO,GAAG;AAC1B,eAAS,IAAIA,UAAS,EAAE;AAAA,IAC1B;AACA,aAAS,IAAIA,QAAO,EAAE,KAAK,OAAO;AAAA,EACpC;AACA,SAAO;AACT;;;"}
@@ -0,0 +1,18 @@
1
+ export declare function XddExpansion({ xddInfo, expanded, nestedExpanded, }: {
2
+ xddInfo: any;
3
+ expanded?: boolean;
4
+ nestedExpanded?: boolean;
5
+ }): import('react').FunctionComponentElement<{
6
+ [x: string]: any;
7
+ isFetching: any;
8
+ data: any;
9
+ expanded: any;
10
+ nestedExpanded: any;
11
+ }>;
12
+ export declare function xDDPanelCore({ isFetching, data: xddInfo, expanded, nestedExpanded, ...rest }: {
13
+ [x: string]: any;
14
+ isFetching: any;
15
+ data: any;
16
+ expanded: any;
17
+ nestedExpanded: any;
18
+ }): import('react').FunctionComponentElement<any>;
@@ -0,0 +1,69 @@
1
+ import { Spinner } from "@blueprintjs/core";
2
+ import h from "@macrostrat/hyper";
3
+ import { JournalLegacy } from "./journal.js";
4
+ import { ExpansionPanel } from "@macrostrat/map-interface";
5
+ function XddExpansion({
6
+ xddInfo,
7
+ expanded = false,
8
+ nestedExpanded = true
9
+ }) {
10
+ return h(xDDPanelCore, {
11
+ className: "regional-panel",
12
+ data: xddInfo,
13
+ isFetching: xddInfo == void 0 || xddInfo.length === 0,
14
+ expanded,
15
+ nestedExpanded
16
+ });
17
+ }
18
+ function xDDPanelCore({
19
+ isFetching,
20
+ data: xddInfo,
21
+ expanded,
22
+ nestedExpanded,
23
+ ...rest
24
+ }) {
25
+ const groupedData = groupSnippetsByJournal(xddInfo);
26
+ return h(
27
+ ExpansionPanel,
28
+ {
29
+ className: "regional-panel",
30
+ title: "Primary literature",
31
+ helpText: "via xDD",
32
+ ...rest,
33
+ expanded
34
+ },
35
+ [
36
+ h.if(isFetching)(Spinner),
37
+ h.if(!isFetching && xddInfo.length > 0)([
38
+ Array.from(groupedData.entries())?.map(([journal, snippets]) => {
39
+ return h(JournalLegacy, {
40
+ nestedExpanded,
41
+ name: journal,
42
+ articles: snippets,
43
+ publisher: snippets[0].publisher,
44
+ key: journal
45
+ });
46
+ })
47
+ ])
48
+ ]
49
+ );
50
+ }
51
+ function groupSnippetsByJournal(snippets) {
52
+ const journals = /* @__PURE__ */ new Map();
53
+ if (!snippets || snippets.length === 0) {
54
+ return journals;
55
+ }
56
+ for (let snippet of snippets) {
57
+ const { pubname: journal } = snippet;
58
+ if (!journals.has(journal)) {
59
+ journals.set(journal, []);
60
+ }
61
+ journals.get(journal).push(snippet);
62
+ }
63
+ return journals;
64
+ }
65
+ export {
66
+ XddExpansion,
67
+ xDDPanelCore
68
+ };
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/location-details/xdd-panel/index.ts"],"sourcesContent":["import { Spinner } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { XDDSnippet, JournalLegacy } from \"./journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport function XddExpansion({\n xddInfo,\n expanded = false,\n nestedExpanded = true,\n}) {\n return h(xDDPanelCore, {\n className: \"regional-panel\",\n data: xddInfo,\n isFetching: xddInfo == undefined || xddInfo.length === 0,\n expanded,\n nestedExpanded,\n });\n}\n\nexport function xDDPanelCore({\n isFetching,\n data: xddInfo,\n expanded,\n nestedExpanded,\n ...rest\n}) {\n const groupedData = groupSnippetsByJournal(xddInfo);\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Primary literature\",\n helpText: \"via xDD\",\n ...rest,\n expanded,\n },\n [\n h.if(isFetching)(Spinner),\n h.if(!isFetching && xddInfo.length > 0)([\n Array.from(groupedData.entries())?.map(([journal, snippets]) => {\n return h(JournalLegacy, {\n nestedExpanded,\n name: journal,\n articles: snippets,\n publisher: snippets[0].publisher,\n key: journal,\n });\n }),\n ]),\n ],\n );\n}\n\nfunction groupSnippetsByJournal(\n snippets: XDDSnippet[],\n): Map<string, XDDSnippet[]> {\n const journals = new Map<string, XDDSnippet[]>();\n if (!snippets || snippets.length === 0) {\n return journals;\n }\n for (let snippet of snippets) {\n const { pubname: journal } = snippet;\n if (!journals.has(journal)) {\n journals.set(journal, []);\n }\n journals.get(journal).push(snippet);\n }\n return journals;\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACnB,GAAG;AACD,SAAO,EAAE,cAAc;AAAA,IACrB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,YAAY,WAAW,UAAa,QAAQ,WAAW;AAAA,IACvD;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM,cAAc,uBAAuB,OAAO;AAElD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,EAAE,GAAG,UAAU,EAAE,OAAO;AAAA,MACxB,EAAE,GAAG,CAAC,cAAc,QAAQ,SAAS,CAAC,EAAE;AAAA,QACtC,MAAM,KAAK,YAAY,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,SAAS,QAAQ,MAAM;AAC9D,iBAAO,EAAE,eAAe;AAAA,YACtB;AAAA,YACA,MAAM;AAAA,YACN,UAAU;AAAA,YACV,WAAW,SAAS,CAAC,EAAE;AAAA,YACvB,KAAK;AAAA,UAAA,CACN;AAAA,QACH,CAAC;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH;AAEJ;AAEA,SAAS,uBACP,UAC2B;AAC3B,QAAM,+BAAe,IAAA;AACrB,MAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AACtC,WAAO;AAAA,EACT;AACA,WAAS,WAAW,UAAU;AAC5B,UAAM,EAAE,SAAS,QAAA,IAAY;AAC7B,QAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAC1B,eAAS,IAAI,SAAS,EAAE;AAAA,IAC1B;AACA,aAAS,IAAI,OAAO,EAAE,KAAK,OAAO;AAAA,EACpC;AACA,SAAO;AACT;"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const article = require("./article.cjs");
4
+ require("@blueprintjs/core");
5
+ const h = require("@macrostrat/hyper");
6
+ const mapInterface = require("@macrostrat/map-interface");
7
+ function JournalLegacy(props) {
8
+ const { articles, name, publisher, nestedExpanded } = props;
9
+ articles[0].pubname;
10
+ return h(
11
+ mapInterface.SubExpansionPanel,
12
+ {
13
+ title: name,
14
+ helpText: publisher,
15
+ expanded: nestedExpanded
16
+ },
17
+ [
18
+ articles.map((article$1, i) => {
19
+ return h(article.Article, { key: i, data: article$1 });
20
+ })
21
+ ]
22
+ );
23
+ }
24
+ exports.JournalLegacy = JournalLegacy;
25
+ //# sourceMappingURL=journal.cjs.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,SAAS,8BAAQ,KAAK;IACpB,OAAO,CAAA,GAAA,gDAAA,EAAE,eAAe;QACtB,CAAA,GAAA,gDAAA,EAAE,qBAAqB;YACrB,CAAA,GAAA,gDAAA,EAAE,yBAAyB;gBACzB,MAAM,IAAI,CAAC,IAAI;gBACf,CAAA,GAAA,gDAAA,EAAE,wBAAwB;oBAAC,MAAM,IAAI;iBAAC;aACvC;SACF;QACD,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,8BAAM;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS;YAChC,OAAO,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,iCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AACH;AAUO,SAAS,0CAAc,KAAmB;IAC/C,MAAM,YAAE,QAAQ,QAAE,IAAI,aAAE,SAAS,kBAAE,cAAc,EAAE,GAAG;IAEtD,MAAM,WAAW,QAAQ,CAAC,EAAE,CAAC,OAAO;IAEpC,OAAO,CAAA,GAAA,gDAAA,EACL,CAAA,GAAA,+CAAgB,GAChB;QACE,OAAO;QACP,UAAU;QACV,UAAU;IACZ,GACA;QACE,SAAS,GAAG,CAAC,CAAC,SAAS;YACrB,OAAO,CAAA,GAAA,gDAAA,EAAE,CAAA,GAAA,iCAAM,GAAG;gBAAE,KAAK;gBAAG,MAAM;YAAQ;QAC5C;KACD;AAEL","sources":["packages/map-interface/src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nexport function JournalLegacy(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n"],"names":[],"version":3,"file":"map-interface.3ca778c5.js.map"}
1
+ {"version":3,"file":"journal.cjs","sources":["../../../src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nexport function JournalLegacy(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n"],"names":["SubExpansionPanel","article","Article"],"mappings":";;;;;;AAyCO,SAAS,cAAc,OAAqB;AACjD,QAAM,EAAE,UAAU,MAAM,WAAW,mBAAmB;AAErC,WAAS,CAAC,EAAE;AAE7B,SAAO;AAAA,IACLA,aAAAA;AAAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,SAAS,IAAI,CAACC,WAAS,MAAM;AAC3B,eAAO,EAAEC,QAAAA,SAAS,EAAE,KAAK,GAAG,MAAMD,WAAS;AAAA,MAC7C,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
@@ -0,0 +1,20 @@
1
+ export interface XDDSnippet {
2
+ pubname: string;
3
+ publisher: string;
4
+ _gddid: string;
5
+ title: string;
6
+ doi: string;
7
+ coverDate: string;
8
+ URL: string;
9
+ authors: string;
10
+ hits: number;
11
+ highlight: string[];
12
+ }
13
+ type JournalProps = {
14
+ articles: XDDSnippet[];
15
+ name: string;
16
+ publisher: string;
17
+ nestedExpanded?: boolean;
18
+ };
19
+ export declare function JournalLegacy(props: JournalProps): import('react').FunctionComponentElement<any>;
20
+ export {};
@@ -0,0 +1,25 @@
1
+ import { Article } from "./article.js";
2
+ import "@blueprintjs/core";
3
+ import h from "@macrostrat/hyper";
4
+ import { SubExpansionPanel } from "@macrostrat/map-interface";
5
+ function JournalLegacy(props) {
6
+ const { articles, name, publisher, nestedExpanded } = props;
7
+ articles[0].pubname;
8
+ return h(
9
+ SubExpansionPanel,
10
+ {
11
+ title: name,
12
+ helpText: publisher,
13
+ expanded: nestedExpanded
14
+ },
15
+ [
16
+ articles.map((article, i) => {
17
+ return h(Article, { key: i, data: article });
18
+ })
19
+ ]
20
+ );
21
+ }
22
+ export {
23
+ JournalLegacy
24
+ };
25
+ //# sourceMappingURL=journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal.js","sources":["../../../src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nexport function JournalLegacy(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n"],"names":[],"mappings":";;;;AAyCO,SAAS,cAAc,OAAqB;AACjD,QAAM,EAAE,UAAU,MAAM,WAAW,mBAAmB;AAErC,WAAS,CAAC,EAAE;AAE7B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,SAAS,IAAI,CAAC,SAAS,MAAM;AAC3B,eAAO,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,SAAS;AAAA,MAC7C,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const core = require("@blueprintjs/core");
4
+ const h$1 = require("@macrostrat/hyper");
5
+ const main_module = require("./main.module.sass.cjs");
6
+ const uiComponents = require("@macrostrat/ui-components");
7
+ const dataComponents = require("@macrostrat/data-components");
8
+ const mapboxReact = require("@macrostrat/mapbox-react");
9
+ const classNames = require("classnames");
10
+ const mapboxUtils = require("@macrostrat/mapbox-utils");
11
+ const h = h$1.styled(main_module.default);
12
+ function PositionButton({ position, bounds, showCopyLink = false }) {
13
+ const focusState = mapboxReact.useFocusState(position);
14
+ const copyLinkIsVisible = mapboxUtils.isCentered(focusState) && showCopyLink;
15
+ return h("div.position-controls", [
16
+ h(mapboxReact.LocationFocusButton, { location: position, bounds, focusState }, []),
17
+ h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {
18
+ itemName: "position"
19
+ })
20
+ ]);
21
+ }
22
+ function CopyLinkButton({ itemName, children, onClick, ...rest }) {
23
+ const toaster = uiComponents.useToaster();
24
+ let message = `Copied link`;
25
+ if (itemName != null) {
26
+ message += ` to ${itemName}`;
27
+ }
28
+ message += "!";
29
+ return h(
30
+ core.Button,
31
+ {
32
+ className: "copy-link-button",
33
+ rightIcon: h(core.Icon, { icon: "link", size: 12 }),
34
+ minimal: true,
35
+ small: true,
36
+ onClick() {
37
+ navigator.clipboard.writeText(window.location.href).then(
38
+ () => {
39
+ toaster?.show({
40
+ message,
41
+ intent: "success",
42
+ icon: "clipboard",
43
+ timeout: 1e3
44
+ });
45
+ onClick?.();
46
+ },
47
+ () => {
48
+ toaster?.show({
49
+ message: "Failed to copy link",
50
+ intent: "danger",
51
+ icon: "error",
52
+ timeout: 1e3
53
+ });
54
+ }
55
+ );
56
+ },
57
+ ...rest
58
+ },
59
+ children ?? "Copy link"
60
+ );
61
+ }
62
+ function InfoDrawerHeader(props) {
63
+ const {
64
+ onClose,
65
+ position,
66
+ bounds,
67
+ zoom = 7,
68
+ elevation,
69
+ showCopyPositionButton,
70
+ fixedHeight = false,
71
+ children,
72
+ className
73
+ } = props;
74
+ let leftButton = null;
75
+ if (bounds != null || position != null) {
76
+ leftButton = h(PositionButton, {
77
+ position,
78
+ bounds,
79
+ showCopyLink: showCopyPositionButton
80
+ });
81
+ }
82
+ return h(
83
+ "header.location-panel-header",
84
+ {
85
+ className: classNames(className, { "fixed-height": fixedHeight })
86
+ },
87
+ [
88
+ leftButton,
89
+ children,
90
+ h("div.spacer"),
91
+ h.if(position != null)(dataComponents.LngLatCoords, {
92
+ position,
93
+ zoom,
94
+ className: "infodrawer-header-item"
95
+ }),
96
+ h.if(elevation != null)(dataComponents.Elevation, {
97
+ elevation,
98
+ className: "infodrawer-header-item"
99
+ }),
100
+ h.if(onClose != null)(core.Button, {
101
+ minimal: true,
102
+ icon: "cross",
103
+ onClick: onClose
104
+ })
105
+ ]
106
+ );
107
+ }
108
+ exports.InfoDrawerHeader = InfoDrawerHeader;
109
+ //# sourceMappingURL=header.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.cjs","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper","styles","useFocusState","isCentered","LocationFocusButton","useToaster","Button","Icon","LngLatCoords","Elevation"],"mappings":";;;;;;;;;;AAWA,MAAM,IAAIA,IAAM,OAAOC,mBAAM;AAE7B,SAAS,eAAe,EAAE,UAAU,QAAQ,eAAe,SAAS;AAClE,QAAM,aAAaC,YAAAA,cAAc,QAAQ;AAEzC,QAAM,oBAAoBC,YAAAA,WAAW,UAAU,KAAK;AAEpD,SAAO,EAAE,yBAAyB;AAAA,IAChC,EAAEC,YAAAA,qBAAqB,EAAE,UAAU,UAAU,QAAQ,WAAA,GAAc,EAAE;AAAA,IACrE,EAAE,GAAG,qBAAqB,YAAY,IAAI,EAAE,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,CACF;AACH;AAEA,SAAS,eAAe,EAAE,UAAU,UAAU,SAAS,GAAG,QAAQ;AAChE,QAAM,UAAUC,aAAAA,WAAA;AAEhB,MAAI,UAAU;AACd,MAAI,YAAY,MAAM;AACpB,eAAW,OAAO,QAAQ;AAAA,EAC5B;AACA,aAAW;AAEX,SAAO;AAAA,IACLC,KAAAA;AAAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,WAAW,EAAEC,WAAM,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AACR,kBAAU,UAAU,UAAU,OAAO,SAAS,IAAI,EAAE;AAAA,UAClD,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AACD,sBAAA;AAAA,UACF;AAAA,UACA,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,IAEL,YAAY;AAAA,EAAA;AAEhB;AAcO,SAAS,iBAAiB,OAA8B;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,aAAa;AACjB,MAAI,UAAU,QAAQ,YAAY,MAAM;AACtC,iBAAa,EAAE,gBAAgB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW,EAAE,gBAAgB,aAAa;AAAA,IAAA;AAAA,IAElE;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,YAAY;AAAA,MACd,EAAE,GAAG,YAAY,IAAI,EAAEC,eAAAA,cAAc;AAAA,QACnC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,aAAa,IAAI,EAAEC,eAAAA,WAAW;AAAA,QACjC;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,WAAW,IAAI,EAAEH,KAAAA,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { LngLatBounds, LngLatLike } from 'mapbox-gl';
3
+ export interface InfoDrawerHeaderProps {
4
+ onClose?: () => void;
5
+ position?: LngLatLike;
6
+ zoom?: number;
7
+ elevation?: number;
8
+ showCopyPositionButton?: boolean;
9
+ bounds?: LngLatBounds;
10
+ fixedHeight?: boolean;
11
+ children?: ReactNode;
12
+ className?: string;
13
+ }
14
+ export declare function InfoDrawerHeader(props: InfoDrawerHeaderProps): import('react').ReactElement<{
15
+ className: string;
16
+ }, string | import('react').JSXElementConstructor<any>>;
@@ -0,0 +1,109 @@
1
+ import { Button, Icon } from "@blueprintjs/core";
2
+ import h$1 from "@macrostrat/hyper";
3
+ import styles from "./main.module.sass.js";
4
+ import { useToaster } from "@macrostrat/ui-components";
5
+ import { LngLatCoords, Elevation } from "@macrostrat/data-components";
6
+ import { useFocusState, LocationFocusButton } from "@macrostrat/mapbox-react";
7
+ import classNames from "classnames";
8
+ import { isCentered } from "@macrostrat/mapbox-utils";
9
+ const h = h$1.styled(styles);
10
+ function PositionButton({ position, bounds, showCopyLink = false }) {
11
+ const focusState = useFocusState(position);
12
+ const copyLinkIsVisible = isCentered(focusState) && showCopyLink;
13
+ return h("div.position-controls", [
14
+ h(LocationFocusButton, { location: position, bounds, focusState }, []),
15
+ h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {
16
+ itemName: "position"
17
+ })
18
+ ]);
19
+ }
20
+ function CopyLinkButton({ itemName, children, onClick, ...rest }) {
21
+ const toaster = useToaster();
22
+ let message = `Copied link`;
23
+ if (itemName != null) {
24
+ message += ` to ${itemName}`;
25
+ }
26
+ message += "!";
27
+ return h(
28
+ Button,
29
+ {
30
+ className: "copy-link-button",
31
+ rightIcon: h(Icon, { icon: "link", size: 12 }),
32
+ minimal: true,
33
+ small: true,
34
+ onClick() {
35
+ navigator.clipboard.writeText(window.location.href).then(
36
+ () => {
37
+ toaster?.show({
38
+ message,
39
+ intent: "success",
40
+ icon: "clipboard",
41
+ timeout: 1e3
42
+ });
43
+ onClick?.();
44
+ },
45
+ () => {
46
+ toaster?.show({
47
+ message: "Failed to copy link",
48
+ intent: "danger",
49
+ icon: "error",
50
+ timeout: 1e3
51
+ });
52
+ }
53
+ );
54
+ },
55
+ ...rest
56
+ },
57
+ children ?? "Copy link"
58
+ );
59
+ }
60
+ function InfoDrawerHeader(props) {
61
+ const {
62
+ onClose,
63
+ position,
64
+ bounds,
65
+ zoom = 7,
66
+ elevation,
67
+ showCopyPositionButton,
68
+ fixedHeight = false,
69
+ children,
70
+ className
71
+ } = props;
72
+ let leftButton = null;
73
+ if (bounds != null || position != null) {
74
+ leftButton = h(PositionButton, {
75
+ position,
76
+ bounds,
77
+ showCopyLink: showCopyPositionButton
78
+ });
79
+ }
80
+ return h(
81
+ "header.location-panel-header",
82
+ {
83
+ className: classNames(className, { "fixed-height": fixedHeight })
84
+ },
85
+ [
86
+ leftButton,
87
+ children,
88
+ h("div.spacer"),
89
+ h.if(position != null)(LngLatCoords, {
90
+ position,
91
+ zoom,
92
+ className: "infodrawer-header-item"
93
+ }),
94
+ h.if(elevation != null)(Elevation, {
95
+ elevation,
96
+ className: "infodrawer-header-item"
97
+ }),
98
+ h.if(onClose != null)(Button, {
99
+ minimal: true,
100
+ icon: "cross",
101
+ onClick: onClose
102
+ })
103
+ ]
104
+ );
105
+ }
106
+ export {
107
+ InfoDrawerHeader
108
+ };
109
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper"],"mappings":";;;;;;;;AAWA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAE7B,SAAS,eAAe,EAAE,UAAU,QAAQ,eAAe,SAAS;AAClE,QAAM,aAAa,cAAc,QAAQ;AAEzC,QAAM,oBAAoB,WAAW,UAAU,KAAK;AAEpD,SAAO,EAAE,yBAAyB;AAAA,IAChC,EAAE,qBAAqB,EAAE,UAAU,UAAU,QAAQ,WAAA,GAAc,EAAE;AAAA,IACrE,EAAE,GAAG,qBAAqB,YAAY,IAAI,EAAE,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,CACF;AACH;AAEA,SAAS,eAAe,EAAE,UAAU,UAAU,SAAS,GAAG,QAAQ;AAChE,QAAM,UAAU,WAAA;AAEhB,MAAI,UAAU;AACd,MAAI,YAAY,MAAM;AACpB,eAAW,OAAO,QAAQ;AAAA,EAC5B;AACA,aAAW;AAEX,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AACR,kBAAU,UAAU,UAAU,OAAO,SAAS,IAAI,EAAE;AAAA,UAClD,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AACD,sBAAA;AAAA,UACF;AAAA,UACA,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,IAEL,YAAY;AAAA,EAAA;AAEhB;AAcO,SAAS,iBAAiB,OAA8B;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,aAAa;AACjB,MAAI,UAAU,QAAQ,YAAY,MAAM;AACtC,iBAAa,EAAE,gBAAgB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW,EAAE,gBAAgB,aAAa;AAAA,IAAA;AAAA,IAElE;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,YAAY;AAAA,MACd,EAAE,GAAG,YAAY,IAAI,EAAE,cAAc;AAAA,QACnC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,aAAa,IAAI,EAAE,WAAW;AAAA,QACjC;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,WAAW,IAAI,EAAE,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const h$1 = require("@macrostrat/hyper");
4
+ const header = require("./header.cjs");
5
+ const classNames = require("classnames");
6
+ const main_module = require("./main.module.sass.cjs");
7
+ const uiComponents = require("@macrostrat/ui-components");
8
+ const container = require("../container.cjs");
9
+ const h = h$1.styled(main_module.default);
10
+ function InfoDrawerContainer(props) {
11
+ const className = classNames("infodrawer", props.className);
12
+ return h(container.PanelCard, { ...props, className });
13
+ }
14
+ function BaseInfoDrawer(props) {
15
+ const {
16
+ className,
17
+ headerElement = null,
18
+ title,
19
+ onClose,
20
+ children,
21
+ contentContainer = "div.infodrawer-contents",
22
+ ...rest
23
+ } = props;
24
+ const header$1 = headerElement ?? h(header.InfoDrawerHeader, { onClose, ...rest }, [
25
+ title == null ? null : h("h3", [title])
26
+ ]);
27
+ return h(InfoDrawerContainer, { className }, [
28
+ header$1,
29
+ h("div.infodrawer-body", h(uiComponents.ErrorBoundary, h(contentContainer, children)))
30
+ ]);
31
+ }
32
+ const DetailsPanel = BaseInfoDrawer;
33
+ function LocationPanel(props) {
34
+ const { children, className, loading = false, ...rest } = props;
35
+ const cls = classNames("location-panel", className, { loading });
36
+ return h(BaseInfoDrawer, { className: cls, ...rest }, children);
37
+ }
38
+ exports.BaseInfoDrawer = BaseInfoDrawer;
39
+ exports.DetailsPanel = DetailsPanel;
40
+ exports.InfoDrawerContainer = InfoDrawerContainer;
41
+ exports.LocationPanel = LocationPanel;
42
+ //# sourceMappingURL=index.cjs.map