@macrostrat/map-interface 1.5.7 → 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 (473) hide show
  1. package/CHANGELOG.md +15 -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/location-details/xdd-panel/journal.cjs.map +1 -0
  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-info/hash-string.ts → hash-string.ts} +4 -1
  183. package/src/helpers.ts +0 -2
  184. package/src/index.ts +1 -1
  185. package/src/location-details/fossil-collections/main.module.sass +1 -1
  186. package/src/location-details/info-blocks.module.sass +35 -0
  187. package/src/location-details/info-blocks.ts +1 -1
  188. package/src/location-details/macrostrat-linked.ts +1 -1
  189. package/src/location-details/{main.module.styl → main.module.sass} +21 -21
  190. package/src/location-details/xdd-panel/article.ts +67 -0
  191. package/src/location-details/xdd-panel/index.ts +2 -17
  192. package/src/location-details/xdd-panel/{Journal.tsx → journal.ts} +15 -5
  193. package/src/location-panel/header.ts +1 -1
  194. package/src/location-panel/main.module.sass +3 -3
  195. package/src/main.module.sass +15 -15
  196. package/dist/cjs/index.js +0 -54
  197. package/dist/cjs/index.js.map +0 -1
  198. package/dist/cjs/map-interface.0e252a74.js +0 -88
  199. package/dist/cjs/map-interface.0e252a74.js.map +0 -1
  200. package/dist/cjs/map-interface.10d442f4.js +0 -66
  201. package/dist/cjs/map-interface.10d442f4.js.map +0 -1
  202. package/dist/cjs/map-interface.11056b04.js +0 -390
  203. package/dist/cjs/map-interface.11056b04.js.map +0 -1
  204. package/dist/cjs/map-interface.12e5d744.js +0 -123
  205. package/dist/cjs/map-interface.12e5d744.js.map +0 -1
  206. package/dist/cjs/map-interface.1b386e07.css +0 -111
  207. package/dist/cjs/map-interface.1b386e07.css.map +0 -1
  208. package/dist/cjs/map-interface.1faa2839.js +0 -14
  209. package/dist/cjs/map-interface.1faa2839.js.map +0 -1
  210. package/dist/cjs/map-interface.23d5c62c.js +0 -135
  211. package/dist/cjs/map-interface.23d5c62c.js.map +0 -1
  212. package/dist/cjs/map-interface.2401af7a.js +0 -59
  213. package/dist/cjs/map-interface.2401af7a.js.map +0 -1
  214. package/dist/cjs/map-interface.24a1c14e.js +0 -46
  215. package/dist/cjs/map-interface.24a1c14e.js.map +0 -1
  216. package/dist/cjs/map-interface.26497065.css +0 -92
  217. package/dist/cjs/map-interface.26497065.css.map +0 -1
  218. package/dist/cjs/map-interface.28d1a6b7.js +0 -185
  219. package/dist/cjs/map-interface.28d1a6b7.js.map +0 -1
  220. package/dist/cjs/map-interface.31742bd3.js +0 -65
  221. package/dist/cjs/map-interface.31742bd3.js.map +0 -1
  222. package/dist/cjs/map-interface.354aaa39.js +0 -135
  223. package/dist/cjs/map-interface.354aaa39.js.map +0 -1
  224. package/dist/cjs/map-interface.368b346c.css +0 -45
  225. package/dist/cjs/map-interface.368b346c.css.map +0 -1
  226. package/dist/cjs/map-interface.3bc4f731.js +0 -33
  227. package/dist/cjs/map-interface.3bc4f731.js.map +0 -1
  228. package/dist/cjs/map-interface.3bcda63a.js +0 -66
  229. package/dist/cjs/map-interface.3bcda63a.js.map +0 -1
  230. package/dist/cjs/map-interface.441d3b83.css +0 -69
  231. package/dist/cjs/map-interface.441d3b83.css.map +0 -1
  232. package/dist/cjs/map-interface.46d1c77b.js +0 -189
  233. package/dist/cjs/map-interface.46d1c77b.js.map +0 -1
  234. package/dist/cjs/map-interface.4a401c1f.css +0 -584
  235. package/dist/cjs/map-interface.4a401c1f.css.map +0 -1
  236. package/dist/cjs/map-interface.4c5addca.js +0 -89
  237. package/dist/cjs/map-interface.4c5addca.js.map +0 -1
  238. package/dist/cjs/map-interface.5a4f4529.js +0 -38
  239. package/dist/cjs/map-interface.5a4f4529.js.map +0 -1
  240. package/dist/cjs/map-interface.633d24e6.css +0 -22
  241. package/dist/cjs/map-interface.633d24e6.css.map +0 -1
  242. package/dist/cjs/map-interface.64823b7c.js +0 -129
  243. package/dist/cjs/map-interface.64823b7c.js.map +0 -1
  244. package/dist/cjs/map-interface.66958831.js +0 -36
  245. package/dist/cjs/map-interface.66958831.js.map +0 -1
  246. package/dist/cjs/map-interface.69b2e2a9.js +0 -25
  247. package/dist/cjs/map-interface.69b2e2a9.js.map +0 -1
  248. package/dist/cjs/map-interface.70458f75.js +0 -26
  249. package/dist/cjs/map-interface.70458f75.js.map +0 -1
  250. package/dist/cjs/map-interface.71e61c74.js +0 -73
  251. package/dist/cjs/map-interface.71e61c74.js.map +0 -1
  252. package/dist/cjs/map-interface.7509f2c1.js +0 -29
  253. package/dist/cjs/map-interface.7509f2c1.js.map +0 -1
  254. package/dist/cjs/map-interface.7bdbe4b6.js +0 -220
  255. package/dist/cjs/map-interface.7bdbe4b6.js.map +0 -1
  256. package/dist/cjs/map-interface.860fcb7e.js +0 -67
  257. package/dist/cjs/map-interface.860fcb7e.js.map +0 -1
  258. package/dist/cjs/map-interface.8d67cc21.js +0 -100
  259. package/dist/cjs/map-interface.8d67cc21.js.map +0 -1
  260. package/dist/cjs/map-interface.99a048dc.js +0 -79
  261. package/dist/cjs/map-interface.99a048dc.js.map +0 -1
  262. package/dist/cjs/map-interface.a9fe0f5d.js +0 -170
  263. package/dist/cjs/map-interface.a9fe0f5d.js.map +0 -1
  264. package/dist/cjs/map-interface.abe5fe65.js +0 -50
  265. package/dist/cjs/map-interface.abe5fe65.js.map +0 -1
  266. package/dist/cjs/map-interface.adb45df9.css +0 -191
  267. package/dist/cjs/map-interface.adb45df9.css.map +0 -1
  268. package/dist/cjs/map-interface.ae4c52a6.css +0 -52
  269. package/dist/cjs/map-interface.ae4c52a6.css.map +0 -1
  270. package/dist/cjs/map-interface.bda26b27.js +0 -134
  271. package/dist/cjs/map-interface.bda26b27.js.map +0 -1
  272. package/dist/cjs/map-interface.cd485bb4.js +0 -41
  273. package/dist/cjs/map-interface.cd485bb4.js.map +0 -1
  274. package/dist/cjs/map-interface.cf6c9a68.js +0 -208
  275. package/dist/cjs/map-interface.cf6c9a68.js.map +0 -1
  276. package/dist/cjs/map-interface.dcbd3874.js +0 -112
  277. package/dist/cjs/map-interface.dcbd3874.js.map +0 -1
  278. package/dist/cjs/map-interface.dfaad4a1.js +0 -36
  279. package/dist/cjs/map-interface.dfaad4a1.js.map +0 -1
  280. package/dist/cjs/map-interface.e74ded77.js +0 -135
  281. package/dist/cjs/map-interface.e74ded77.js.map +0 -1
  282. package/dist/cjs/map-interface.e975d65c.js +0 -23
  283. package/dist/cjs/map-interface.e975d65c.js.map +0 -1
  284. package/dist/cjs/map-interface.e9bcd5c0.js +0 -268
  285. package/dist/cjs/map-interface.e9bcd5c0.js.map +0 -1
  286. package/dist/cjs/map-interface.f8826069.js +0 -46
  287. package/dist/cjs/map-interface.f8826069.js.map +0 -1
  288. package/dist/cjs/map-interface.f9611285.js +0 -32
  289. package/dist/cjs/map-interface.f9611285.js.map +0 -1
  290. package/dist/cjs/map-interface.ffb109ef.js +0 -46
  291. package/dist/cjs/map-interface.ffb109ef.js.map +0 -1
  292. package/dist/esm/index.d.ts +0 -365
  293. package/dist/esm/index.d.ts.map +0 -1
  294. package/dist/esm/index.js +0 -27
  295. package/dist/esm/index.js.map +0 -1
  296. package/dist/esm/map-interface.00ecf2ee.js +0 -56
  297. package/dist/esm/map-interface.00ecf2ee.js.map +0 -1
  298. package/dist/esm/map-interface.01826888.js +0 -67
  299. package/dist/esm/map-interface.01826888.js.map +0 -1
  300. package/dist/esm/map-interface.021cf79b.js +0 -18
  301. package/dist/esm/map-interface.021cf79b.js.map +0 -1
  302. package/dist/esm/map-interface.065737fe.js +0 -172
  303. package/dist/esm/map-interface.065737fe.js.map +0 -1
  304. package/dist/esm/map-interface.0b1aa8f2.js +0 -81
  305. package/dist/esm/map-interface.0b1aa8f2.js.map +0 -1
  306. package/dist/esm/map-interface.1843c708.js +0 -83
  307. package/dist/esm/map-interface.1843c708.js.map +0 -1
  308. package/dist/esm/map-interface.1d38872e.js +0 -385
  309. package/dist/esm/map-interface.1d38872e.js.map +0 -1
  310. package/dist/esm/map-interface.1db44824.js +0 -24
  311. package/dist/esm/map-interface.1db44824.js.map +0 -1
  312. package/dist/esm/map-interface.21fab792.js +0 -15
  313. package/dist/esm/map-interface.21fab792.js.map +0 -1
  314. package/dist/esm/map-interface.22ea3934.js +0 -41
  315. package/dist/esm/map-interface.22ea3934.js.map +0 -1
  316. package/dist/esm/map-interface.27587c50.js +0 -126
  317. package/dist/esm/map-interface.27587c50.js.map +0 -1
  318. package/dist/esm/map-interface.3033c825.js +0 -40
  319. package/dist/esm/map-interface.3033c825.js.map +0 -1
  320. package/dist/esm/map-interface.3ef9d0ae.js +0 -99
  321. package/dist/esm/map-interface.3ef9d0ae.js.map +0 -1
  322. package/dist/esm/map-interface.3f07937e.js +0 -124
  323. package/dist/esm/map-interface.3f07937e.js.map +0 -1
  324. package/dist/esm/map-interface.473f1f2b.js +0 -28
  325. package/dist/esm/map-interface.473f1f2b.js.map +0 -1
  326. package/dist/esm/map-interface.50edfdfd.js +0 -74
  327. package/dist/esm/map-interface.50edfdfd.js.map +0 -1
  328. package/dist/esm/map-interface.54ccd41f.js +0 -58
  329. package/dist/esm/map-interface.54ccd41f.js.map +0 -1
  330. package/dist/esm/map-interface.578a7505.js +0 -130
  331. package/dist/esm/map-interface.578a7505.js.map +0 -1
  332. package/dist/esm/map-interface.59896194.js +0 -37
  333. package/dist/esm/map-interface.59896194.js.map +0 -1
  334. package/dist/esm/map-interface.672c2e0b.js +0 -182
  335. package/dist/esm/map-interface.672c2e0b.js.map +0 -1
  336. package/dist/esm/map-interface.70d6a7ff.js +0 -16
  337. package/dist/esm/map-interface.70d6a7ff.js.map +0 -1
  338. package/dist/esm/map-interface.72b1bfba.js +0 -94
  339. package/dist/esm/map-interface.72b1bfba.js.map +0 -1
  340. package/dist/esm/map-interface.767fdc4a.js +0 -64
  341. package/dist/esm/map-interface.767fdc4a.js.map +0 -1
  342. package/dist/esm/map-interface.786d6e58.js +0 -258
  343. package/dist/esm/map-interface.786d6e58.js.map +0 -1
  344. package/dist/esm/map-interface.7ea8a1e0.js +0 -40
  345. package/dist/esm/map-interface.7ea8a1e0.js.map +0 -1
  346. package/dist/esm/map-interface.90d9023c.js +0 -13
  347. package/dist/esm/map-interface.90d9023c.js.map +0 -1
  348. package/dist/esm/map-interface.9152234b.js +0 -114
  349. package/dist/esm/map-interface.9152234b.js.map +0 -1
  350. package/dist/esm/map-interface.957e414c.js +0 -52
  351. package/dist/esm/map-interface.957e414c.js.map +0 -1
  352. package/dist/esm/map-interface.9fac5fa6.js +0 -50
  353. package/dist/esm/map-interface.9fac5fa6.js.map +0 -1
  354. package/dist/esm/map-interface.a03a7a23.js +0 -16
  355. package/dist/esm/map-interface.a03a7a23.js.map +0 -1
  356. package/dist/esm/map-interface.bdef07d2.js +0 -34
  357. package/dist/esm/map-interface.bdef07d2.js.map +0 -1
  358. package/dist/esm/map-interface.c4fa120d.js +0 -28
  359. package/dist/esm/map-interface.c4fa120d.js.map +0 -1
  360. package/dist/esm/map-interface.c52c2fec.js +0 -130
  361. package/dist/esm/map-interface.c52c2fec.js.map +0 -1
  362. package/dist/esm/map-interface.c99b53b6.js +0 -43
  363. package/dist/esm/map-interface.c99b53b6.js.map +0 -1
  364. package/dist/esm/map-interface.ca1ee406.js +0 -214
  365. package/dist/esm/map-interface.ca1ee406.js.map +0 -1
  366. package/dist/esm/map-interface.e20a9bac.js +0 -107
  367. package/dist/esm/map-interface.e20a9bac.js.map +0 -1
  368. package/dist/esm/map-interface.e50c290f.js +0 -61
  369. package/dist/esm/map-interface.e50c290f.js.map +0 -1
  370. package/dist/esm/map-interface.ec2278ab.js +0 -178
  371. package/dist/esm/map-interface.ec2278ab.js.map +0 -1
  372. package/dist/esm/map-interface.f7b8bdb7.js +0 -192
  373. package/dist/esm/map-interface.f7b8bdb7.js.map +0 -1
  374. package/dist/node/index.js +0 -2
  375. package/dist/node/index.js.map +0 -1
  376. package/dist/node/map-interface.07882229.css +0 -2
  377. package/dist/node/map-interface.07882229.css.map +0 -1
  378. package/dist/node/map-interface.0e71fd95.js +0 -2
  379. package/dist/node/map-interface.0e71fd95.js.map +0 -1
  380. package/dist/node/map-interface.10f5ef81.js +0 -2
  381. package/dist/node/map-interface.10f5ef81.js.map +0 -1
  382. package/dist/node/map-interface.1a5eecac.js +0 -2
  383. package/dist/node/map-interface.1a5eecac.js.map +0 -1
  384. package/dist/node/map-interface.1be49df8.css +0 -2
  385. package/dist/node/map-interface.1be49df8.css.map +0 -1
  386. package/dist/node/map-interface.254e457a.js +0 -2
  387. package/dist/node/map-interface.254e457a.js.map +0 -1
  388. package/dist/node/map-interface.2d12b35c.js +0 -2
  389. package/dist/node/map-interface.2d12b35c.js.map +0 -1
  390. package/dist/node/map-interface.33b7734a.js +0 -2
  391. package/dist/node/map-interface.33b7734a.js.map +0 -1
  392. package/dist/node/map-interface.3ea55e0c.js +0 -2
  393. package/dist/node/map-interface.3ea55e0c.js.map +0 -1
  394. package/dist/node/map-interface.42a4b05a.js +0 -2
  395. package/dist/node/map-interface.42a4b05a.js.map +0 -1
  396. package/dist/node/map-interface.42ef081d.css +0 -2
  397. package/dist/node/map-interface.42ef081d.css.map +0 -1
  398. package/dist/node/map-interface.47b81f95.js +0 -2
  399. package/dist/node/map-interface.47b81f95.js.map +0 -1
  400. package/dist/node/map-interface.48262cbb.js +0 -2
  401. package/dist/node/map-interface.48262cbb.js.map +0 -1
  402. package/dist/node/map-interface.4df6e2c7.js +0 -2
  403. package/dist/node/map-interface.4df6e2c7.js.map +0 -1
  404. package/dist/node/map-interface.55a1f38d.js +0 -2
  405. package/dist/node/map-interface.55a1f38d.js.map +0 -1
  406. package/dist/node/map-interface.56b5b2ee.js +0 -2
  407. package/dist/node/map-interface.56b5b2ee.js.map +0 -1
  408. package/dist/node/map-interface.6184dc0f.js +0 -2
  409. package/dist/node/map-interface.6184dc0f.js.map +0 -1
  410. package/dist/node/map-interface.62b147ce.js +0 -2
  411. package/dist/node/map-interface.62b147ce.js.map +0 -1
  412. package/dist/node/map-interface.713361a4.js +0 -2
  413. package/dist/node/map-interface.713361a4.js.map +0 -1
  414. package/dist/node/map-interface.722387fb.js +0 -2
  415. package/dist/node/map-interface.722387fb.js.map +0 -1
  416. package/dist/node/map-interface.7aaa58c9.js +0 -2
  417. package/dist/node/map-interface.7aaa58c9.js.map +0 -1
  418. package/dist/node/map-interface.7e13bea8.js +0 -2
  419. package/dist/node/map-interface.7e13bea8.js.map +0 -1
  420. package/dist/node/map-interface.83fa8028.js +0 -2
  421. package/dist/node/map-interface.83fa8028.js.map +0 -1
  422. package/dist/node/map-interface.9317d050.js +0 -2
  423. package/dist/node/map-interface.9317d050.js.map +0 -1
  424. package/dist/node/map-interface.971af4bc.js +0 -2
  425. package/dist/node/map-interface.971af4bc.js.map +0 -1
  426. package/dist/node/map-interface.9824c03a.js +0 -2
  427. package/dist/node/map-interface.9824c03a.js.map +0 -1
  428. package/dist/node/map-interface.992dea73.js +0 -2
  429. package/dist/node/map-interface.992dea73.js.map +0 -1
  430. package/dist/node/map-interface.9e6751ac.js +0 -2
  431. package/dist/node/map-interface.9e6751ac.js.map +0 -1
  432. package/dist/node/map-interface.a1252092.css +0 -2
  433. package/dist/node/map-interface.a1252092.css.map +0 -1
  434. package/dist/node/map-interface.a8a16138.js +0 -2
  435. package/dist/node/map-interface.a8a16138.js.map +0 -1
  436. package/dist/node/map-interface.aa4d45ff.js +0 -2
  437. package/dist/node/map-interface.aa4d45ff.js.map +0 -1
  438. package/dist/node/map-interface.ae3d2d83.js +0 -2
  439. package/dist/node/map-interface.ae3d2d83.js.map +0 -1
  440. package/dist/node/map-interface.b0e1ad1b.js +0 -2
  441. package/dist/node/map-interface.b0e1ad1b.js.map +0 -1
  442. package/dist/node/map-interface.b14f08e8.js +0 -2
  443. package/dist/node/map-interface.b14f08e8.js.map +0 -1
  444. package/dist/node/map-interface.bd78832e.css +0 -2
  445. package/dist/node/map-interface.bd78832e.css.map +0 -1
  446. package/dist/node/map-interface.c5c0ad06.js +0 -2
  447. package/dist/node/map-interface.c5c0ad06.js.map +0 -1
  448. package/dist/node/map-interface.ce86a010.js +0 -2
  449. package/dist/node/map-interface.ce86a010.js.map +0 -1
  450. package/dist/node/map-interface.d22d91e9.css +0 -2
  451. package/dist/node/map-interface.d22d91e9.css.map +0 -1
  452. package/dist/node/map-interface.d2fce135.css +0 -2
  453. package/dist/node/map-interface.d2fce135.css.map +0 -1
  454. package/dist/node/map-interface.d5eba479.css +0 -2
  455. package/dist/node/map-interface.d5eba479.css.map +0 -1
  456. package/dist/node/map-interface.d92b296e.js +0 -2
  457. package/dist/node/map-interface.d92b296e.js.map +0 -1
  458. package/dist/node/map-interface.e0032d67.js +0 -2
  459. package/dist/node/map-interface.e0032d67.js.map +0 -1
  460. package/dist/node/map-interface.e7598785.js +0 -2
  461. package/dist/node/map-interface.e7598785.js.map +0 -1
  462. package/dist/node/map-interface.ed6b5586.js +0 -2
  463. package/dist/node/map-interface.ed6b5586.js.map +0 -1
  464. package/dist/node/map-interface.f413c362.js +0 -2
  465. package/dist/node/map-interface.f413c362.js.map +0 -1
  466. package/dist/node/map-interface.f4d2a5eb.js +0 -2
  467. package/dist/node/map-interface.f4d2a5eb.js.map +0 -1
  468. package/dist/node/map-interface.fdd35e74.js +0 -2
  469. package/dist/node/map-interface.fdd35e74.js.map +0 -1
  470. package/src/location-details/info-blocks.module.styl +0 -39
  471. package/src/location-details/xdd-panel/Article.tsx +0 -69
  472. package/src/location-info/index.ts +0 -100
  473. package/src/location-info/utils.ts +0 -24
package/CHANGELOG.md CHANGED
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. The format
4
4
  is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
5
5
  project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.0.0] - 2026-01-26
8
+
9
+ - Update peer dependencies to React 18
10
+ - Convert last remaining Stylus to Sass
11
+ - Update bundling process to `@macrostrat/web-components-bundler`
12
+ - Make styles optional: import of `@macrostrat/map-interface/styles.css` or
13
+ `@macrostrat/map-interface/dist/map-interface.css` is now required for styles
14
+
15
+ ## [1.6.0] - 2025-11-28
16
+
17
+ - Update XDD panel components to remove Typescript
18
+ - Remove circular dependencies
19
+ - Move `LngLatCoords` and `Elevation` components to
20
+ `@macrostrat/data-components`
21
+
7
22
  ## [1.5.7] - 2025-08-19
8
23
 
9
24
  - Remove a duplicate export
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const h$1 = require("@macrostrat/hyper");
4
+ const main_module = require("./main.module.sass.cjs");
5
+ const classNames = require("classnames");
6
+ const transitionHook = require("transition-hook");
7
+ const mapboxReact = require("@macrostrat/mapbox-react");
8
+ const uiComponents = require("@macrostrat/ui-components");
9
+ const controls = require("./controls.cjs");
10
+ const mapboxUtils = require("@macrostrat/mapbox-utils");
11
+ const core = require("@blueprintjs/core");
12
+ const h = h$1.styled(main_module.default);
13
+ const PanelCard = (props) => h(core.Card, { ...props, className: classNames("panel-card", props.className) });
14
+ var DetailPanelStyle = /* @__PURE__ */ ((DetailPanelStyle2) => {
15
+ DetailPanelStyle2["FIXED"] = "fixed";
16
+ DetailPanelStyle2["FLOATING"] = "floating";
17
+ return DetailPanelStyle2;
18
+ })(DetailPanelStyle || {});
19
+ const MapAreaContainer = (props) => h(MapProviders, h(_MapAreaContainer, props));
20
+ function _MapAreaContainer({
21
+ children,
22
+ className,
23
+ navbar,
24
+ contextPanel = null,
25
+ detailPanel = null,
26
+ detailPanelOpen,
27
+ contextPanelOpen = true,
28
+ bottomPanel = null,
29
+ mainPanel,
30
+ mapControls = h(controls.MapBottomControls),
31
+ contextStackProps = null,
32
+ detailStackProps = null,
33
+ detailPanelStyle = "floating",
34
+ fitViewport = true,
35
+ showPanelOutlines = false,
36
+ preventMapInteraction = false,
37
+ ...rest
38
+ }) {
39
+ const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;
40
+ const contextPanelTrans = transitionHook.useTransition(contextPanelOpen, 800);
41
+ const detailPanelTrans = transitionHook.useTransition(_detailPanelOpen, 800);
42
+ const mainUIClassNames = classNames(
43
+ "map-container",
44
+ className,
45
+ `detail-panel-${detailPanelStyle}`,
46
+ `context-panel-${contextPanelTrans.stage}`,
47
+ `map-context-${contextPanelTrans.stage}`,
48
+ `detail-panel-${detailPanelTrans.stage}`,
49
+ `map-detail-${detailPanelTrans.stage}`,
50
+ {
51
+ "detail-panel-open": _detailPanelOpen,
52
+ "map-context-open": contextPanelOpen,
53
+ "show-panel-outlines": showPanelOutlines,
54
+ "fit-viewport": fitViewport
55
+ }
56
+ );
57
+ const mapControlsExt = h([
58
+ h(mapboxReact.ZoomControl, { className: "zoom-control" }),
59
+ h("div.spacer"),
60
+ mapControls
61
+ ]);
62
+ const detailStackExt = h(
63
+ "div.detail-stack.infodrawer-container",
64
+ detailStackProps,
65
+ [
66
+ h("div.detail-panel-holder", null, detailPanel),
67
+ h.if(
68
+ detailPanelStyle == "floating"
69
+ /* FLOATING */
70
+ )([mapControlsExt])
71
+ ]
72
+ );
73
+ let contextStack = null;
74
+ if (navbar != null || contextPanel != null) {
75
+ contextStack = h(ContextStack, { navbar, ...contextStackProps }, [
76
+ h.if(contextPanelTrans.shouldMount)([contextPanel])
77
+ ]);
78
+ }
79
+ return h(MapStyledContainer, { className: mainUIClassNames }, [
80
+ h("div.main-row", [
81
+ h("div.map-ui", { ...rest }, [
82
+ contextStack,
83
+ //h(MapView),
84
+ children ?? mainPanel,
85
+ h.if(
86
+ detailPanelStyle == "floating"
87
+ /* FLOATING */
88
+ )([detailStackExt]),
89
+ h.if(
90
+ detailPanelStyle == "fixed"
91
+ /* FIXED */
92
+ )(
93
+ "div.map-control-stack",
94
+ mapControlsExt
95
+ )
96
+ ]),
97
+ h.if(
98
+ detailPanelStyle == "fixed"
99
+ /* FIXED */
100
+ )([detailStackExt])
101
+ ]),
102
+ h("div.bottom", null, bottomPanel)
103
+ ]);
104
+ }
105
+ function ContextStack(props) {
106
+ const { adaptiveWidth, navbar, children, ...rest } = props;
107
+ const props1 = h$1.addClassNames(rest, { "adaptive-width": adaptiveWidth });
108
+ return h("div.context-stack", props1, [
109
+ navbar,
110
+ h("div.context-panel-holder", null, children),
111
+ h("div.spacer")
112
+ ]);
113
+ }
114
+ const MapProviders = ({ children }) => h(uiComponents.ToasterContext, h(mapboxReact.MapboxMapProvider, children));
115
+ function MapStyledContainer({ className, children }) {
116
+ const mapPosition = mapboxReact.useMapPosition();
117
+ if (mapPosition != null) {
118
+ const { mapIsRotated, mapUse3D, mapIsGlobal } = mapboxUtils.mapViewInfo(mapPosition);
119
+ className = classNames(className, {
120
+ "map-is-rotated": mapIsRotated,
121
+ "map-3d-available": mapUse3D,
122
+ "map-is-global": mapIsGlobal
123
+ });
124
+ }
125
+ return h("div", { className }, children);
126
+ }
127
+ exports.DetailPanelStyle = DetailPanelStyle;
128
+ exports.MapAreaContainer = MapAreaContainer;
129
+ exports.MapStyledContainer = MapStyledContainer;
130
+ exports.PanelCard = PanelCard;
131
+ //# sourceMappingURL=container.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.cjs","sources":["../src/container.ts"],"sourcesContent":["import hyper, { addClassNames } from \"@macrostrat/hyper\";\nimport { HTMLDivProps } from \"@blueprintjs/core\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { useTransition } from \"transition-hook\";\nimport {\n MapboxMapProvider,\n ZoomControl,\n useMapPosition,\n} from \"@macrostrat/mapbox-react\";\nimport { ToasterContext } from \"@macrostrat/ui-components\";\nimport { MapBottomControls } from \"./controls\";\nimport { mapViewInfo, MapPosition } from \"@macrostrat/mapbox-utils\";\nimport { Card } from \"@blueprintjs/core\";\n\nimport { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\ntype AnyElement = React.ReactNode | React.ReactElement | React.ReactFragment;\n\nexport const PanelCard = (props) =>\n h(Card, { ...props, className: classNames(\"panel-card\", props.className) });\n\ninterface ContextStackProps extends HTMLDivProps {\n adaptiveWidth: boolean;\n navbar: AnyElement;\n}\n\nexport enum DetailPanelStyle {\n FIXED = \"fixed\",\n FLOATING = \"floating\",\n}\n\nexport const MapAreaContainer = (props) =>\n h(MapProviders, h(_MapAreaContainer, props));\n\ninterface MapAreaContainerProps {\n navbar: AnyElement;\n children?: AnyElement;\n mapControls?: AnyElement;\n contextPanel?: AnyElement;\n contextStack?: AnyElement;\n mainPanel?: AnyElement;\n detailPanel?: AnyElement;\n bottomPanel?: AnyElement;\n className?: string;\n detailPanelOpen?: boolean;\n contextPanelOpen?: boolean;\n contextStackProps?: ContextStackProps;\n detailStackProps?: HTMLDivProps;\n detailPanelStyle: DetailPanelStyle;\n fitViewport?: boolean;\n showPanelOutlines?: boolean;\n preventMapInteraction?: boolean;\n}\n\nfunction _MapAreaContainer({\n children,\n className,\n navbar,\n contextPanel = null,\n detailPanel = null,\n detailPanelOpen,\n contextPanelOpen = true,\n bottomPanel = null,\n mainPanel,\n mapControls = h(MapBottomControls),\n contextStackProps = null,\n detailStackProps = null,\n detailPanelStyle = DetailPanelStyle.FLOATING,\n fitViewport = true,\n showPanelOutlines = false,\n preventMapInteraction = false,\n ...rest\n}: MapAreaContainerProps) {\n const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;\n const contextPanelTrans = useTransition(contextPanelOpen, 800);\n const detailPanelTrans = useTransition(_detailPanelOpen, 800);\n\n /*- We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n - We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n - These styles are doubly applied so we can have both namespaced and\n outside-accessible styles for each case.\n */\n const mainUIClassNames = classNames(\n \"map-container\",\n className,\n `detail-panel-${detailPanelStyle}`,\n `context-panel-${contextPanelTrans.stage}`,\n `map-context-${contextPanelTrans.stage}`,\n `detail-panel-${detailPanelTrans.stage}`,\n `map-detail-${detailPanelTrans.stage}`,\n {\n \"detail-panel-open\": _detailPanelOpen,\n \"map-context-open\": contextPanelOpen,\n \"show-panel-outlines\": showPanelOutlines,\n \"fit-viewport\": fitViewport,\n },\n );\n\n const mapControlsExt = h([\n h(ZoomControl, { className: \"zoom-control\" }),\n h(\"div.spacer\"),\n mapControls,\n ]);\n\n const detailStackExt = h(\n \"div.detail-stack.infodrawer-container\",\n detailStackProps,\n [\n h(\"div.detail-panel-holder\", null, detailPanel),\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([mapControlsExt]),\n ],\n );\n\n let contextStack = null;\n if (navbar != null || contextPanel != null) {\n contextStack = h(ContextStack, { navbar, ...contextStackProps }, [\n h.if(contextPanelTrans.shouldMount)([contextPanel]),\n ]);\n }\n\n return h(MapStyledContainer, { className: mainUIClassNames }, [\n h(\"div.main-row\", [\n h(\"div.map-ui\", { ...rest }, [\n contextStack,\n //h(MapView),\n children ?? mainPanel,\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([detailStackExt]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)(\n \"div.map-control-stack\",\n mapControlsExt,\n ),\n ]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)([detailStackExt]),\n ]),\n h(\"div.bottom\", null, bottomPanel),\n ]);\n}\n\nfunction ContextStack(props: ContextStackProps) {\n const { adaptiveWidth, navbar, children, ...rest } = props;\n const props1 = addClassNames(rest, { \"adaptive-width\": adaptiveWidth });\n return h(\"div.context-stack\", props1, [\n navbar,\n h(\"div.context-panel-holder\", null, children),\n h(\"div.spacer\"),\n ]);\n}\n\nconst MapProviders = ({ children }) =>\n h(ToasterContext, h(MapboxMapProvider, children));\n\ninterface MapContainerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport function MapStyledContainer({ className, children }: MapContainerProps) {\n const mapPosition = useMapPosition();\n if (mapPosition != null) {\n const { mapIsRotated, mapUse3D, mapIsGlobal } = mapViewInfo(mapPosition);\n className = classNames(className, {\n \"map-is-rotated\": mapIsRotated,\n \"map-3d-available\": mapUse3D,\n \"map-is-global\": mapIsGlobal,\n });\n }\n\n return h(\"div\", { className }, children);\n}\n\n//const _MapPage = compose(HotkeysProvider, MapPage);\n"],"names":["hyper","styles","Card","DetailPanelStyle","MapBottomControls","useTransition","ZoomControl","addClassNames","ToasterContext","MapboxMapProvider","useMapPosition","mapViewInfo"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const PanelCard: (props: any) => import('react').FunctionComponentElement<import('@blueprintjs/core').CardProps>;
3
+ export declare enum DetailPanelStyle {
4
+ FIXED = "fixed",
5
+ FLOATING = "floating"
6
+ }
7
+ export declare const MapAreaContainer: (props: any) => import('react').FunctionComponentElement<{
8
+ children: any;
9
+ }>;
10
+ interface MapContainerProps {
11
+ className?: string;
12
+ children?: ReactNode;
13
+ }
14
+ export declare function MapStyledContainer({ className, children }: MapContainerProps): import('react').DetailedReactHTMLElement<{
15
+ className: string;
16
+ }, HTMLElement>;
17
+ export {};
@@ -0,0 +1,131 @@
1
+ import h$1, { addClassNames } from "@macrostrat/hyper";
2
+ import styles from "./main.module.sass.js";
3
+ import classNames from "classnames";
4
+ import { useTransition } from "transition-hook";
5
+ import { useMapPosition, MapboxMapProvider, ZoomControl } from "@macrostrat/mapbox-react";
6
+ import { ToasterContext } from "@macrostrat/ui-components";
7
+ import { MapBottomControls } from "./controls.js";
8
+ import { mapViewInfo } from "@macrostrat/mapbox-utils";
9
+ import { Card } from "@blueprintjs/core";
10
+ const h = h$1.styled(styles);
11
+ const PanelCard = (props) => h(Card, { ...props, className: classNames("panel-card", props.className) });
12
+ var DetailPanelStyle = /* @__PURE__ */ ((DetailPanelStyle2) => {
13
+ DetailPanelStyle2["FIXED"] = "fixed";
14
+ DetailPanelStyle2["FLOATING"] = "floating";
15
+ return DetailPanelStyle2;
16
+ })(DetailPanelStyle || {});
17
+ const MapAreaContainer = (props) => h(MapProviders, h(_MapAreaContainer, props));
18
+ function _MapAreaContainer({
19
+ children,
20
+ className,
21
+ navbar,
22
+ contextPanel = null,
23
+ detailPanel = null,
24
+ detailPanelOpen,
25
+ contextPanelOpen = true,
26
+ bottomPanel = null,
27
+ mainPanel,
28
+ mapControls = h(MapBottomControls),
29
+ contextStackProps = null,
30
+ detailStackProps = null,
31
+ detailPanelStyle = "floating",
32
+ fitViewport = true,
33
+ showPanelOutlines = false,
34
+ preventMapInteraction = false,
35
+ ...rest
36
+ }) {
37
+ const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;
38
+ const contextPanelTrans = useTransition(contextPanelOpen, 800);
39
+ const detailPanelTrans = useTransition(_detailPanelOpen, 800);
40
+ const mainUIClassNames = classNames(
41
+ "map-container",
42
+ className,
43
+ `detail-panel-${detailPanelStyle}`,
44
+ `context-panel-${contextPanelTrans.stage}`,
45
+ `map-context-${contextPanelTrans.stage}`,
46
+ `detail-panel-${detailPanelTrans.stage}`,
47
+ `map-detail-${detailPanelTrans.stage}`,
48
+ {
49
+ "detail-panel-open": _detailPanelOpen,
50
+ "map-context-open": contextPanelOpen,
51
+ "show-panel-outlines": showPanelOutlines,
52
+ "fit-viewport": fitViewport
53
+ }
54
+ );
55
+ const mapControlsExt = h([
56
+ h(ZoomControl, { className: "zoom-control" }),
57
+ h("div.spacer"),
58
+ mapControls
59
+ ]);
60
+ const detailStackExt = h(
61
+ "div.detail-stack.infodrawer-container",
62
+ detailStackProps,
63
+ [
64
+ h("div.detail-panel-holder", null, detailPanel),
65
+ h.if(
66
+ detailPanelStyle == "floating"
67
+ /* FLOATING */
68
+ )([mapControlsExt])
69
+ ]
70
+ );
71
+ let contextStack = null;
72
+ if (navbar != null || contextPanel != null) {
73
+ contextStack = h(ContextStack, { navbar, ...contextStackProps }, [
74
+ h.if(contextPanelTrans.shouldMount)([contextPanel])
75
+ ]);
76
+ }
77
+ return h(MapStyledContainer, { className: mainUIClassNames }, [
78
+ h("div.main-row", [
79
+ h("div.map-ui", { ...rest }, [
80
+ contextStack,
81
+ //h(MapView),
82
+ children ?? mainPanel,
83
+ h.if(
84
+ detailPanelStyle == "floating"
85
+ /* FLOATING */
86
+ )([detailStackExt]),
87
+ h.if(
88
+ detailPanelStyle == "fixed"
89
+ /* FIXED */
90
+ )(
91
+ "div.map-control-stack",
92
+ mapControlsExt
93
+ )
94
+ ]),
95
+ h.if(
96
+ detailPanelStyle == "fixed"
97
+ /* FIXED */
98
+ )([detailStackExt])
99
+ ]),
100
+ h("div.bottom", null, bottomPanel)
101
+ ]);
102
+ }
103
+ function ContextStack(props) {
104
+ const { adaptiveWidth, navbar, children, ...rest } = props;
105
+ const props1 = addClassNames(rest, { "adaptive-width": adaptiveWidth });
106
+ return h("div.context-stack", props1, [
107
+ navbar,
108
+ h("div.context-panel-holder", null, children),
109
+ h("div.spacer")
110
+ ]);
111
+ }
112
+ const MapProviders = ({ children }) => h(ToasterContext, h(MapboxMapProvider, children));
113
+ function MapStyledContainer({ className, children }) {
114
+ const mapPosition = useMapPosition();
115
+ if (mapPosition != null) {
116
+ const { mapIsRotated, mapUse3D, mapIsGlobal } = mapViewInfo(mapPosition);
117
+ className = classNames(className, {
118
+ "map-is-rotated": mapIsRotated,
119
+ "map-3d-available": mapUse3D,
120
+ "map-is-global": mapIsGlobal
121
+ });
122
+ }
123
+ return h("div", { className }, children);
124
+ }
125
+ export {
126
+ DetailPanelStyle,
127
+ MapAreaContainer,
128
+ MapStyledContainer,
129
+ PanelCard
130
+ };
131
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sources":["../src/container.ts"],"sourcesContent":["import hyper, { addClassNames } from \"@macrostrat/hyper\";\nimport { HTMLDivProps } from \"@blueprintjs/core\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { useTransition } from \"transition-hook\";\nimport {\n MapboxMapProvider,\n ZoomControl,\n useMapPosition,\n} from \"@macrostrat/mapbox-react\";\nimport { ToasterContext } from \"@macrostrat/ui-components\";\nimport { MapBottomControls } from \"./controls\";\nimport { mapViewInfo, MapPosition } from \"@macrostrat/mapbox-utils\";\nimport { Card } from \"@blueprintjs/core\";\n\nimport { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\ntype AnyElement = React.ReactNode | React.ReactElement | React.ReactFragment;\n\nexport const PanelCard = (props) =>\n h(Card, { ...props, className: classNames(\"panel-card\", props.className) });\n\ninterface ContextStackProps extends HTMLDivProps {\n adaptiveWidth: boolean;\n navbar: AnyElement;\n}\n\nexport enum DetailPanelStyle {\n FIXED = \"fixed\",\n FLOATING = \"floating\",\n}\n\nexport const MapAreaContainer = (props) =>\n h(MapProviders, h(_MapAreaContainer, props));\n\ninterface MapAreaContainerProps {\n navbar: AnyElement;\n children?: AnyElement;\n mapControls?: AnyElement;\n contextPanel?: AnyElement;\n contextStack?: AnyElement;\n mainPanel?: AnyElement;\n detailPanel?: AnyElement;\n bottomPanel?: AnyElement;\n className?: string;\n detailPanelOpen?: boolean;\n contextPanelOpen?: boolean;\n contextStackProps?: ContextStackProps;\n detailStackProps?: HTMLDivProps;\n detailPanelStyle: DetailPanelStyle;\n fitViewport?: boolean;\n showPanelOutlines?: boolean;\n preventMapInteraction?: boolean;\n}\n\nfunction _MapAreaContainer({\n children,\n className,\n navbar,\n contextPanel = null,\n detailPanel = null,\n detailPanelOpen,\n contextPanelOpen = true,\n bottomPanel = null,\n mainPanel,\n mapControls = h(MapBottomControls),\n contextStackProps = null,\n detailStackProps = null,\n detailPanelStyle = DetailPanelStyle.FLOATING,\n fitViewport = true,\n showPanelOutlines = false,\n preventMapInteraction = false,\n ...rest\n}: MapAreaContainerProps) {\n const _detailPanelOpen = detailPanelOpen ?? detailPanel != null;\n const contextPanelTrans = useTransition(contextPanelOpen, 800);\n const detailPanelTrans = useTransition(_detailPanelOpen, 800);\n\n /*- We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n - We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n - These styles are doubly applied so we can have both namespaced and\n outside-accessible styles for each case.\n */\n const mainUIClassNames = classNames(\n \"map-container\",\n className,\n `detail-panel-${detailPanelStyle}`,\n `context-panel-${contextPanelTrans.stage}`,\n `map-context-${contextPanelTrans.stage}`,\n `detail-panel-${detailPanelTrans.stage}`,\n `map-detail-${detailPanelTrans.stage}`,\n {\n \"detail-panel-open\": _detailPanelOpen,\n \"map-context-open\": contextPanelOpen,\n \"show-panel-outlines\": showPanelOutlines,\n \"fit-viewport\": fitViewport,\n },\n );\n\n const mapControlsExt = h([\n h(ZoomControl, { className: \"zoom-control\" }),\n h(\"div.spacer\"),\n mapControls,\n ]);\n\n const detailStackExt = h(\n \"div.detail-stack.infodrawer-container\",\n detailStackProps,\n [\n h(\"div.detail-panel-holder\", null, detailPanel),\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([mapControlsExt]),\n ],\n );\n\n let contextStack = null;\n if (navbar != null || contextPanel != null) {\n contextStack = h(ContextStack, { navbar, ...contextStackProps }, [\n h.if(contextPanelTrans.shouldMount)([contextPanel]),\n ]);\n }\n\n return h(MapStyledContainer, { className: mainUIClassNames }, [\n h(\"div.main-row\", [\n h(\"div.map-ui\", { ...rest }, [\n contextStack,\n //h(MapView),\n children ?? mainPanel,\n h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([detailStackExt]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)(\n \"div.map-control-stack\",\n mapControlsExt,\n ),\n ]),\n h.if(detailPanelStyle == DetailPanelStyle.FIXED)([detailStackExt]),\n ]),\n h(\"div.bottom\", null, bottomPanel),\n ]);\n}\n\nfunction ContextStack(props: ContextStackProps) {\n const { adaptiveWidth, navbar, children, ...rest } = props;\n const props1 = addClassNames(rest, { \"adaptive-width\": adaptiveWidth });\n return h(\"div.context-stack\", props1, [\n navbar,\n h(\"div.context-panel-holder\", null, children),\n h(\"div.spacer\"),\n ]);\n}\n\nconst MapProviders = ({ children }) =>\n h(ToasterContext, h(MapboxMapProvider, children));\n\ninterface MapContainerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport function MapStyledContainer({ className, children }: MapContainerProps) {\n const mapPosition = useMapPosition();\n if (mapPosition != null) {\n const { mapIsRotated, mapUse3D, mapIsGlobal } = mapViewInfo(mapPosition);\n className = classNames(className, {\n \"map-is-rotated\": mapIsRotated,\n \"map-3d-available\": mapUse3D,\n \"map-is-global\": mapIsGlobal,\n });\n }\n\n return h(\"div\", { className }, children);\n}\n\n//const _MapPage = compose(HotkeysProvider, MapPage);\n"],"names":["hyper","DetailPanelStyle"],"mappings":"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"}
@@ -0,0 +1,79 @@
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 mapboxReact = require("@macrostrat/mapbox-react");
7
+ const uiComponents = require("@macrostrat/ui-components");
8
+ const h = h$1.styled(main_module.default);
9
+ const spinnerElement = h(core.Spinner, { size: 16 });
10
+ function LoadingButton({
11
+ isLoading = false,
12
+ onClick,
13
+ active = false,
14
+ large = true,
15
+ icon = "menu",
16
+ style
17
+ }) {
18
+ return h(core.Button, {
19
+ className: "loading-button",
20
+ icon: isLoading ? spinnerElement : icon,
21
+ large,
22
+ minimal: true,
23
+ onClick,
24
+ active: active && !isLoading,
25
+ style
26
+ });
27
+ }
28
+ function MapLoadingButton(props) {
29
+ const isLoading = mapboxReact.useMapStatus((s) => s.isLoading);
30
+ return h(LoadingButton, { ...props, isLoading });
31
+ }
32
+ function FloatingNavbar({
33
+ className,
34
+ children,
35
+ headerElement = null,
36
+ title = null,
37
+ statusElement = null,
38
+ rightElement = null,
39
+ height,
40
+ width,
41
+ style = {}
42
+ }) {
43
+ let _rightElement = null;
44
+ if (rightElement != null) {
45
+ _rightElement = h("div.right-element", rightElement);
46
+ }
47
+ let _headerElement = headerElement;
48
+ if (title != null && _headerElement == null) {
49
+ if (typeof title === "string") {
50
+ _headerElement = h(core.Text, { tagName: "h2", ellipsize: true }, title);
51
+ } else {
52
+ _headerElement = title;
53
+ }
54
+ }
55
+ if (_headerElement != null) {
56
+ _headerElement = h([_headerElement, h(uiComponents.Spacer)]);
57
+ }
58
+ return h("div.searchbar-holder", { className, style: { width } }, [
59
+ h("div.navbar-holder", [
60
+ h(
61
+ core.Navbar,
62
+ {
63
+ className: "searchbar navbar panel",
64
+ style: { height, ...style }
65
+ },
66
+ [_headerElement, children, _rightElement]
67
+ )
68
+ ]),
69
+ h.if(statusElement != null)(
70
+ core.Card,
71
+ { className: "status-tongue" },
72
+ statusElement
73
+ )
74
+ ]);
75
+ }
76
+ exports.FloatingNavbar = FloatingNavbar;
77
+ exports.LoadingButton = LoadingButton;
78
+ exports.MapLoadingButton = MapLoadingButton;
79
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/context-panel/index.ts"],"sourcesContent":["import { Navbar, Button, Spinner, Card, Text } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMapStatus } from \"@macrostrat/mapbox-react\";\nimport { Spacer } from \"@macrostrat/ui-components\";\nimport type { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\nconst spinnerElement = h(Spinner, { size: 16 });\n\nexport function LoadingButton({\n isLoading = false,\n onClick,\n active = false,\n large = true,\n icon = \"menu\",\n style,\n}) {\n return h(Button, {\n className: \"loading-button\",\n icon: (isLoading ? spinnerElement : icon) as any,\n large,\n minimal: true,\n onClick,\n active: active && !isLoading,\n style,\n });\n}\n\nexport function MapLoadingButton(props: any) {\n const isLoading = useMapStatus((s) => s.isLoading);\n return h(LoadingButton, { ...props, isLoading });\n}\n\ntype AnyChildren = ReactNode;\n\nexport interface FloatingNavbarProps {\n className?: string;\n children?: AnyChildren;\n headerElement?: AnyChildren;\n title?: AnyChildren;\n statusElement?: AnyChildren;\n rightElement?: AnyChildren;\n height?: number | string;\n width?: number | string;\n style?: object;\n}\n\nexport function FloatingNavbar({\n className,\n children,\n headerElement = null,\n title = null,\n statusElement = null,\n rightElement = null,\n height,\n width,\n style = {},\n}: FloatingNavbarProps) {\n let _rightElement: ReactNode | null = null;\n if (rightElement != null) {\n _rightElement = h(\"div.right-element\", rightElement);\n }\n\n let _headerElement: ReactNode | null = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") {\n _headerElement = h(Text, { tagName: \"h2\", ellipsize: true }, title);\n } else {\n _headerElement = title;\n }\n }\n\n if (_headerElement != null) {\n _headerElement = h([_headerElement, h(Spacer)]);\n }\n\n return h(\"div.searchbar-holder\", { className, style: { width } }, [\n h(\"div.navbar-holder\", [\n h(\n Navbar,\n {\n className: \"searchbar navbar panel\",\n style: { height, ...style },\n },\n [_headerElement, children, _rightElement],\n ),\n ]),\n h.if(statusElement != null)(\n Card,\n { className: \"status-tongue\" },\n statusElement,\n ),\n ]);\n}\n"],"names":["hyper","styles","Spinner","Button","useMapStatus","Text","Spacer","Navbar","Card"],"mappings":";;;;;;;AAOA,MAAM,IAAIA,IAAM,OAAOC,mBAAM;AAE7B,MAAM,iBAAiB,EAAEC,KAAAA,SAAS,EAAE,MAAM,IAAI;AAEvC,SAAS,cAAc;AAAA,EAC5B,YAAY;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AACF,GAAG;AACD,SAAO,EAAEC,KAAAA,QAAQ;AAAA,IACf,WAAW;AAAA,IACX,MAAO,YAAY,iBAAiB;AAAA,IACpC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,QAAQ,UAAU,CAAC;AAAA,IACnB;AAAA,EAAA,CACD;AACH;AAEO,SAAS,iBAAiB,OAAY;AAC3C,QAAM,YAAYC,YAAAA,aAAa,CAAC,MAAM,EAAE,SAAS;AACjD,SAAO,EAAE,eAAe,EAAE,GAAG,OAAO,WAAW;AACjD;AAgBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA,QAAQ,CAAA;AACV,GAAwB;AACtB,MAAI,gBAAkC;AACtC,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,EAAE,qBAAqB,YAAY;AAAA,EACrD;AAEA,MAAI,iBAAmC;AACvC,MAAI,SAAS,QAAQ,kBAAkB,MAAM;AAC3C,QAAI,OAAO,UAAU,UAAU;AAC7B,uBAAiB,EAAEC,KAAAA,MAAM,EAAE,SAAS,MAAM,WAAW,KAAA,GAAQ,KAAK;AAAA,IACpE,OAAO;AACL,uBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,kBAAkB,MAAM;AAC1B,qBAAiB,EAAE,CAAC,gBAAgB,EAAEC,aAAAA,MAAM,CAAC,CAAC;AAAA,EAChD;AAEA,SAAO,EAAE,wBAAwB,EAAE,WAAW,OAAO,EAAE,MAAA,KAAW;AAAA,IAChE,EAAE,qBAAqB;AAAA,MACrB;AAAA,QACEC,KAAAA;AAAAA,QACA;AAAA,UACE,WAAW;AAAA,UACX,OAAO,EAAE,QAAQ,GAAG,MAAA;AAAA,QAAM;AAAA,QAE5B,CAAC,gBAAgB,UAAU,aAAa;AAAA,MAAA;AAAA,IAC1C,CACD;AAAA,IACD,EAAE,GAAG,iBAAiB,IAAI;AAAA,MACxBC,KAAAA;AAAAA,MACA,EAAE,WAAW,gBAAA;AAAA,MACb;AAAA,IAAA;AAAA,EACF,CACD;AACH;;;;"}
@@ -0,0 +1,36 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function LoadingButton({ isLoading, onClick, active, large, icon, style, }: {
3
+ isLoading?: boolean;
4
+ onClick: any;
5
+ active?: boolean;
6
+ large?: boolean;
7
+ icon?: string;
8
+ style: any;
9
+ }): import('react').FunctionComponentElement<import('@blueprintjs/core').ButtonProps>;
10
+ export declare function MapLoadingButton(props: any): import('react').FunctionComponentElement<{
11
+ isLoading?: boolean;
12
+ onClick: any;
13
+ active?: boolean;
14
+ large?: boolean;
15
+ icon?: string;
16
+ style: any;
17
+ }>;
18
+ type AnyChildren = ReactNode;
19
+ export interface FloatingNavbarProps {
20
+ className?: string;
21
+ children?: AnyChildren;
22
+ headerElement?: AnyChildren;
23
+ title?: AnyChildren;
24
+ statusElement?: AnyChildren;
25
+ rightElement?: AnyChildren;
26
+ height?: number | string;
27
+ width?: number | string;
28
+ style?: object;
29
+ }
30
+ export declare function FloatingNavbar({ className, children, headerElement, title, statusElement, rightElement, height, width, style, }: FloatingNavbarProps): import('react').ReactElement<{
31
+ className: string;
32
+ style: {
33
+ width: string | number;
34
+ };
35
+ }, string | import('react').JSXElementConstructor<any>>;
36
+ export {};
@@ -0,0 +1,79 @@
1
+ import { Spinner, Button, Text, Navbar, Card } from "@blueprintjs/core";
2
+ import h$1 from "@macrostrat/hyper";
3
+ import styles from "./main.module.sass.js";
4
+ import { useMapStatus } from "@macrostrat/mapbox-react";
5
+ import { Spacer } from "@macrostrat/ui-components";
6
+ const h = h$1.styled(styles);
7
+ const spinnerElement = h(Spinner, { size: 16 });
8
+ function LoadingButton({
9
+ isLoading = false,
10
+ onClick,
11
+ active = false,
12
+ large = true,
13
+ icon = "menu",
14
+ style
15
+ }) {
16
+ return h(Button, {
17
+ className: "loading-button",
18
+ icon: isLoading ? spinnerElement : icon,
19
+ large,
20
+ minimal: true,
21
+ onClick,
22
+ active: active && !isLoading,
23
+ style
24
+ });
25
+ }
26
+ function MapLoadingButton(props) {
27
+ const isLoading = useMapStatus((s) => s.isLoading);
28
+ return h(LoadingButton, { ...props, isLoading });
29
+ }
30
+ function FloatingNavbar({
31
+ className,
32
+ children,
33
+ headerElement = null,
34
+ title = null,
35
+ statusElement = null,
36
+ rightElement = null,
37
+ height,
38
+ width,
39
+ style = {}
40
+ }) {
41
+ let _rightElement = null;
42
+ if (rightElement != null) {
43
+ _rightElement = h("div.right-element", rightElement);
44
+ }
45
+ let _headerElement = headerElement;
46
+ if (title != null && _headerElement == null) {
47
+ if (typeof title === "string") {
48
+ _headerElement = h(Text, { tagName: "h2", ellipsize: true }, title);
49
+ } else {
50
+ _headerElement = title;
51
+ }
52
+ }
53
+ if (_headerElement != null) {
54
+ _headerElement = h([_headerElement, h(Spacer)]);
55
+ }
56
+ return h("div.searchbar-holder", { className, style: { width } }, [
57
+ h("div.navbar-holder", [
58
+ h(
59
+ Navbar,
60
+ {
61
+ className: "searchbar navbar panel",
62
+ style: { height, ...style }
63
+ },
64
+ [_headerElement, children, _rightElement]
65
+ )
66
+ ]),
67
+ h.if(statusElement != null)(
68
+ Card,
69
+ { className: "status-tongue" },
70
+ statusElement
71
+ )
72
+ ]);
73
+ }
74
+ export {
75
+ FloatingNavbar,
76
+ LoadingButton,
77
+ MapLoadingButton
78
+ };
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/context-panel/index.ts"],"sourcesContent":["import { Navbar, Button, Spinner, Card, Text } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMapStatus } from \"@macrostrat/mapbox-react\";\nimport { Spacer } from \"@macrostrat/ui-components\";\nimport type { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\nconst spinnerElement = h(Spinner, { size: 16 });\n\nexport function LoadingButton({\n isLoading = false,\n onClick,\n active = false,\n large = true,\n icon = \"menu\",\n style,\n}) {\n return h(Button, {\n className: \"loading-button\",\n icon: (isLoading ? spinnerElement : icon) as any,\n large,\n minimal: true,\n onClick,\n active: active && !isLoading,\n style,\n });\n}\n\nexport function MapLoadingButton(props: any) {\n const isLoading = useMapStatus((s) => s.isLoading);\n return h(LoadingButton, { ...props, isLoading });\n}\n\ntype AnyChildren = ReactNode;\n\nexport interface FloatingNavbarProps {\n className?: string;\n children?: AnyChildren;\n headerElement?: AnyChildren;\n title?: AnyChildren;\n statusElement?: AnyChildren;\n rightElement?: AnyChildren;\n height?: number | string;\n width?: number | string;\n style?: object;\n}\n\nexport function FloatingNavbar({\n className,\n children,\n headerElement = null,\n title = null,\n statusElement = null,\n rightElement = null,\n height,\n width,\n style = {},\n}: FloatingNavbarProps) {\n let _rightElement: ReactNode | null = null;\n if (rightElement != null) {\n _rightElement = h(\"div.right-element\", rightElement);\n }\n\n let _headerElement: ReactNode | null = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") {\n _headerElement = h(Text, { tagName: \"h2\", ellipsize: true }, title);\n } else {\n _headerElement = title;\n }\n }\n\n if (_headerElement != null) {\n _headerElement = h([_headerElement, h(Spacer)]);\n }\n\n return h(\"div.searchbar-holder\", { className, style: { width } }, [\n h(\"div.navbar-holder\", [\n h(\n Navbar,\n {\n className: \"searchbar navbar panel\",\n style: { height, ...style },\n },\n [_headerElement, children, _rightElement],\n ),\n ]),\n h.if(statusElement != null)(\n Card,\n { className: \"status-tongue\" },\n statusElement,\n ),\n ]);\n}\n"],"names":["hyper"],"mappings":";;;;;AAOA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAE7B,MAAM,iBAAiB,EAAE,SAAS,EAAE,MAAM,IAAI;AAEvC,SAAS,cAAc;AAAA,EAC5B,YAAY;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AACF,GAAG;AACD,SAAO,EAAE,QAAQ;AAAA,IACf,WAAW;AAAA,IACX,MAAO,YAAY,iBAAiB;AAAA,IACpC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,QAAQ,UAAU,CAAC;AAAA,IACnB;AAAA,EAAA,CACD;AACH;AAEO,SAAS,iBAAiB,OAAY;AAC3C,QAAM,YAAY,aAAa,CAAC,MAAM,EAAE,SAAS;AACjD,SAAO,EAAE,eAAe,EAAE,GAAG,OAAO,WAAW;AACjD;AAgBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA,QAAQ,CAAA;AACV,GAAwB;AACtB,MAAI,gBAAkC;AACtC,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,EAAE,qBAAqB,YAAY;AAAA,EACrD;AAEA,MAAI,iBAAmC;AACvC,MAAI,SAAS,QAAQ,kBAAkB,MAAM;AAC3C,QAAI,OAAO,UAAU,UAAU;AAC7B,uBAAiB,EAAE,MAAM,EAAE,SAAS,MAAM,WAAW,KAAA,GAAQ,KAAK;AAAA,IACpE,OAAO;AACL,uBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,kBAAkB,MAAM;AAC1B,qBAAiB,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAAA,EAChD;AAEA,SAAO,EAAE,wBAAwB,EAAE,WAAW,OAAO,EAAE,MAAA,KAAW;AAAA,IAChE,EAAE,qBAAqB;AAAA,MACrB;AAAA,QACE;AAAA,QACA;AAAA,UACE,WAAW;AAAA,UACX,OAAO,EAAE,QAAQ,GAAG,MAAA;AAAA,QAAM;AAAA,QAE5B,CAAC,gBAAgB,UAAU,aAAa;AAAA,MAAA;AAAA,IAC1C,CACD;AAAA,IACD,EAAE,GAAG,iBAAiB,IAAI;AAAA,MACxB;AAAA,MACA,EAAE,WAAW,gBAAA;AAAA,MACb;AAAA,IAAA;AAAA,EACF,CACD;AACH;"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const searchbar = "_searchbar_n1neb_1";
4
+ const navbar = "_navbar_n1neb_7";
5
+ const styles = {
6
+ "searchbar-holder": "_searchbar-holder_n1neb_1",
7
+ "navbar-holder": "_navbar-holder_n1neb_7",
8
+ searchbar,
9
+ navbar,
10
+ "loading-button": "_loading-button_n1neb_30",
11
+ "status-tongue": "_status-tongue_n1neb_35"
12
+ };
13
+ exports.default = styles;
14
+ exports.navbar = navbar;
15
+ exports.searchbar = searchbar;
16
+ //# sourceMappingURL=main.module.sass.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ const searchbar = "_searchbar_n1neb_1";
2
+ const navbar = "_navbar_n1neb_7";
3
+ const styles = {
4
+ "searchbar-holder": "_searchbar-holder_n1neb_1",
5
+ "navbar-holder": "_navbar-holder_n1neb_7",
6
+ searchbar,
7
+ navbar,
8
+ "loading-button": "_loading-button_n1neb_30",
9
+ "status-tongue": "_status-tongue_n1neb_35"
10
+ };
11
+ export {
12
+ styles as default,
13
+ navbar,
14
+ searchbar
15
+ };
16
+ //# sourceMappingURL=main.module.sass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const mapboxgl = require("mapbox-gl");
5
+ const h$1 = require("@macrostrat/hyper");
6
+ const main_module = require("./main.module.sass.cjs");
7
+ const mapboxReact = require("@macrostrat/mapbox-react");
8
+ const uiComponents = require("@macrostrat/ui-components");
9
+ const h = h$1.styled(main_module.default);
10
+ function ScaleControl(props) {
11
+ const optionsRef = React.useRef({
12
+ maxWidth: 200,
13
+ unit: "metric"
14
+ });
15
+ return h(mapboxReact.MapControlWrapper, {
16
+ className: "map-scale-control",
17
+ control: mapboxgl.ScaleControl,
18
+ options: optionsRef.current,
19
+ ...props
20
+ });
21
+ }
22
+ function GeolocationControl(props) {
23
+ const optionsRef = React.useRef({
24
+ showAccuracyCircle: true,
25
+ showUserLocation: true,
26
+ trackUserLocation: true,
27
+ positionOptions: {
28
+ enableHighAccuracy: true
29
+ }
30
+ });
31
+ return h(mapboxReact.MapControlWrapper, {
32
+ control: mapboxgl.GeolocateControl,
33
+ options: optionsRef.current,
34
+ ...props
35
+ });
36
+ }
37
+ function MapBottomControls({ children }) {
38
+ const { isInitialized } = mapboxReact.useMapStatus();
39
+ if (!isInitialized) {
40
+ return null;
41
+ }
42
+ return h("div.map-controls", [
43
+ h(ScaleControl),
44
+ h(mapboxReact.ThreeDControl, { className: "map-3d-control" }),
45
+ h(mapboxReact.CompassControl, { className: "compass-control" }),
46
+ h(mapboxReact.GlobeControl, { className: "globe-control" }),
47
+ h(GeolocationControl, { className: "geolocation-control" }),
48
+ // If we have global development tools enabled, show the button
49
+ h(uiComponents.DevToolsButtonSlot, { className: "map-control" }),
50
+ children
51
+ ]);
52
+ }
53
+ exports.MapBottomControls = MapBottomControls;
54
+ //# sourceMappingURL=controls.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.cjs","sources":["../src/controls.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { GeolocateControl } from \"mapbox-gl\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport {\n CompassControl,\n GlobeControl,\n ThreeDControl,\n MapControlWrapper,\n useMapStatus,\n} from \"@macrostrat/mapbox-react\";\nimport { ScaleControl as BaseScaleControl } from \"mapbox-gl\";\nimport { DevToolsButtonSlot } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\nfunction ScaleControl(props) {\n const optionsRef = useRef({\n maxWidth: 200,\n unit: \"metric\",\n });\n return h(MapControlWrapper, {\n className: \"map-scale-control\",\n control: BaseScaleControl,\n options: optionsRef.current,\n ...props,\n });\n}\n\nfunction GeolocationControl(props) {\n const optionsRef = useRef({\n showAccuracyCircle: true,\n showUserLocation: true,\n trackUserLocation: true,\n positionOptions: {\n enableHighAccuracy: true,\n },\n });\n return h(MapControlWrapper, {\n control: GeolocateControl,\n options: optionsRef.current,\n ...props,\n });\n}\n\nexport function MapBottomControls({ children }) {\n const { isInitialized } = useMapStatus();\n\n if (!isInitialized) {\n return null;\n }\n\n return h(\"div.map-controls\", [\n h(ScaleControl),\n h(ThreeDControl, { className: \"map-3d-control\" }),\n h(CompassControl, { className: \"compass-control\" }),\n h(GlobeControl, { className: \"globe-control\" }),\n h(GeolocationControl, { className: \"geolocation-control\" }),\n // If we have global development tools enabled, show the button\n h(DevToolsButtonSlot, { className: \"map-control\" }),\n children,\n ]);\n}\n"],"names":["hyper","styles","useRef","MapControlWrapper","BaseScaleControl","GeolocateControl","useMapStatus","ThreeDControl","CompassControl","GlobeControl","DevToolsButtonSlot"],"mappings":";;;;;;;;AAcA,MAAM,IAAIA,IAAM,OAAOC,mBAAM;AAE7B,SAAS,aAAa,OAAO;AAC3B,QAAM,aAAaC,MAAAA,OAAO;AAAA,IACxB,UAAU;AAAA,IACV,MAAM;AAAA,EAAA,CACP;AACD,SAAO,EAAEC,YAAAA,mBAAmB;AAAA,IAC1B,WAAW;AAAA,IACX,SAASC,SAAAA;AAAAA,IACT,SAAS,WAAW;AAAA,IACpB,GAAG;AAAA,EAAA,CACJ;AACH;AAEA,SAAS,mBAAmB,OAAO;AACjC,QAAM,aAAaF,MAAAA,OAAO;AAAA,IACxB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,MACf,oBAAoB;AAAA,IAAA;AAAA,EACtB,CACD;AACD,SAAO,EAAEC,YAAAA,mBAAmB;AAAA,IAC1B,SAASE,SAAAA;AAAAA,IACT,SAAS,WAAW;AAAA,IACpB,GAAG;AAAA,EAAA,CACJ;AACH;AAEO,SAAS,kBAAkB,EAAE,YAAY;AAC9C,QAAM,EAAE,cAAA,IAAkBC,yBAAA;AAE1B,MAAI,CAAC,eAAe;AAClB,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,oBAAoB;AAAA,IAC3B,EAAE,YAAY;AAAA,IACd,EAAEC,YAAAA,eAAe,EAAE,WAAW,kBAAkB;AAAA,IAChD,EAAEC,YAAAA,gBAAgB,EAAE,WAAW,mBAAmB;AAAA,IAClD,EAAEC,YAAAA,cAAc,EAAE,WAAW,iBAAiB;AAAA,IAC9C,EAAE,oBAAoB,EAAE,WAAW,uBAAuB;AAAA;AAAA,IAE1D,EAAEC,aAAAA,oBAAoB,EAAE,WAAW,eAAe;AAAA,IAClD;AAAA,EAAA,CACD;AACH;;"}