@macrostrat/map-interface 1.2.4 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/index.js +10 -10
  3. package/dist/cjs/{context-panel.3061a63e.js → map-interface.0e252a74.js} +3 -3
  4. package/dist/cjs/map-interface.0e252a74.js.map +1 -0
  5. package/dist/cjs/{tile-extent.06a4b2ed.js → map-interface.175c4635.js} +1 -1
  6. package/dist/cjs/{tile-extent.06a4b2ed.js.map → map-interface.175c4635.js.map} +1 -1
  7. package/dist/cjs/{map-page.1e1970d8.js → map-interface.17e81e8a.js} +14 -13
  8. package/dist/cjs/map-interface.17e81e8a.js.map +1 -0
  9. package/dist/cjs/{main.module.13eb33f8.css → map-interface.1b386e07.css} +1 -1
  10. package/dist/cjs/{main.module.13eb33f8.css.map → map-interface.1b386e07.css.map} +1 -1
  11. package/dist/cjs/{header.af864bde.js → map-interface.1d19056e.js} +4 -4
  12. package/dist/cjs/map-interface.1d19056e.js.map +1 -0
  13. package/dist/cjs/{main.module.becc2fe7.css → map-interface.26497065.css} +1 -1
  14. package/dist/cjs/{main.module.becc2fe7.css.map → map-interface.26497065.css.map} +1 -1
  15. package/dist/cjs/{main.module.a3a78b0d.js → map-interface.31742bd3.js} +1 -1
  16. package/dist/cjs/{main.module.a3a78b0d.js.map → map-interface.31742bd3.js.map} +1 -1
  17. package/dist/cjs/{expansion-panel.ef757efe.js → map-interface.354aaa39.js} +4 -4
  18. package/dist/cjs/map-interface.354aaa39.js.map +1 -0
  19. package/dist/cjs/{location-panel.e33becf0.js → map-interface.3934d6d6.js} +5 -5
  20. package/dist/cjs/{location-panel.e33becf0.js.map → map-interface.3934d6d6.js.map} +1 -1
  21. package/dist/cjs/{main.module.f57e27f2.css → map-interface.4a401c1f.css} +16 -5
  22. package/dist/cjs/map-interface.4a401c1f.css.map +1 -0
  23. package/dist/cjs/{xray.a23f8660.js → map-interface.4c5addca.js} +2 -2
  24. package/dist/cjs/map-interface.4c5addca.js.map +1 -0
  25. package/dist/cjs/{helpers.0f72ddaf.js → map-interface.5813e876.js} +22 -4
  26. package/dist/cjs/map-interface.5813e876.js.map +1 -0
  27. package/dist/cjs/{dev.e6613cda.js → map-interface.5cea0ff4.js} +5 -5
  28. package/dist/cjs/{dev.e6613cda.js.map → map-interface.5cea0ff4.js.map} +1 -1
  29. package/dist/cjs/{location-info.92e70042.js → map-interface.64823b7c.js} +15 -5
  30. package/dist/cjs/map-interface.64823b7c.js.map +1 -0
  31. package/dist/cjs/{main.module.e958948e.js → map-interface.70458f75.js} +1 -1
  32. package/dist/cjs/{main.module.e958948e.js.map → map-interface.70458f75.js.map} +1 -1
  33. package/dist/cjs/{headers.d9f3e324.js → map-interface.7509f2c1.js} +3 -3
  34. package/dist/cjs/{headers.d9f3e324.js.map → map-interface.7509f2c1.js.map} +1 -1
  35. package/dist/cjs/{hash-string.62e84f08.js → map-interface.860fcb7e.js} +2 -2
  36. package/dist/cjs/map-interface.860fcb7e.js.map +1 -0
  37. package/dist/cjs/{controls.5fcf8a91.js → map-interface.99a048dc.js} +3 -3
  38. package/dist/cjs/{controls.5fcf8a91.js.map → map-interface.99a048dc.js.map} +1 -1
  39. package/dist/cjs/{main.module.62939ea7.js → map-interface.a9fe0f5d.js} +4 -1
  40. package/dist/cjs/map-interface.a9fe0f5d.js.map +1 -0
  41. package/dist/cjs/{main.module.ccec47df.js → map-interface.abe5fe65.js} +1 -1
  42. package/dist/cjs/{main.module.ccec47df.js.map → map-interface.abe5fe65.js.map} +1 -1
  43. package/dist/cjs/{main.module.338867af.css → map-interface.adb45df9.css} +1 -1
  44. package/dist/cjs/{main.module.338867af.css.map → map-interface.adb45df9.css.map} +1 -1
  45. package/dist/cjs/{main.module.e872989b.css → map-interface.ae4c52a6.css} +1 -1
  46. package/dist/cjs/{main.module.e872989b.css.map → map-interface.ae4c52a6.css.map} +1 -1
  47. package/dist/cjs/{container.d2e83c46.js → map-interface.bda26b27.js} +4 -4
  48. package/dist/cjs/{container.d2e83c46.js.map → map-interface.bda26b27.js.map} +1 -1
  49. package/dist/cjs/{main.module.0bbfa859.js → map-interface.cd485bb4.js} +1 -1
  50. package/dist/cjs/{main.module.0bbfa859.js.map → map-interface.cd485bb4.js.map} +1 -1
  51. package/dist/cjs/{utils.09cef979.js → map-interface.dfaad4a1.js} +1 -1
  52. package/dist/cjs/{utils.09cef979.js.map → map-interface.dfaad4a1.js.map} +1 -1
  53. package/dist/cjs/{map-view.61e50e18.js → map-interface.e7194f92.js} +67 -37
  54. package/dist/cjs/map-interface.e7194f92.js.map +1 -0
  55. package/dist/cjs/{vector-tile-features.77121785.js → map-interface.e9bcd5c0.js} +6 -6
  56. package/dist/cjs/map-interface.e9bcd5c0.js.map +1 -0
  57. package/dist/cjs/{utils.26f02633.js → map-interface.ffb109ef.js} +1 -1
  58. package/dist/cjs/{utils.26f02633.js.map → map-interface.ffb109ef.js.map} +1 -1
  59. package/dist/esm/index.d.ts +69 -39
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +11 -11
  62. package/dist/esm/{map-page.1da2d70c.js → map-interface.00058d23.js} +15 -14
  63. package/dist/esm/map-interface.00058d23.js.map +1 -0
  64. package/dist/esm/{main.module.58922c04.js → map-interface.01826888.js} +1 -1
  65. package/dist/esm/{main.module.58922c04.js.map → map-interface.01826888.js.map} +1 -1
  66. package/dist/esm/{main.module.f70e002b.js → map-interface.065737fe.js} +4 -1
  67. package/dist/esm/map-interface.065737fe.js.map +1 -0
  68. package/dist/esm/{context-panel.5dae1a8c.js → map-interface.0b1aa8f2.js} +4 -4
  69. package/dist/esm/map-interface.0b1aa8f2.js.map +1 -0
  70. package/dist/esm/{xray.c0663c25.js → map-interface.1843c708.js} +2 -2
  71. package/dist/esm/map-interface.1843c708.js.map +1 -0
  72. package/dist/esm/{headers.32db7784.js → map-interface.1db44824.js} +4 -4
  73. package/dist/esm/{headers.32db7784.js.map → map-interface.1db44824.js.map} +1 -1
  74. package/dist/esm/{container.bba0b16c.js → map-interface.27587c50.js} +5 -5
  75. package/dist/esm/{container.bba0b16c.js.map → map-interface.27587c50.js.map} +1 -1
  76. package/dist/esm/{utils.d40349f0.js → map-interface.3033c825.js} +1 -1
  77. package/dist/esm/{utils.d40349f0.js.map → map-interface.3033c825.js.map} +1 -1
  78. package/dist/esm/{dev.b2d9d35d.js → map-interface.3248abc7.js} +5 -5
  79. package/dist/esm/{dev.b2d9d35d.js.map → map-interface.3248abc7.js.map} +1 -1
  80. package/dist/esm/{location-info.5543bb05.js → map-interface.3ef9d0ae.js} +15 -5
  81. package/dist/esm/map-interface.3ef9d0ae.js.map +1 -0
  82. package/dist/esm/{expansion-panel.465b822f.js → map-interface.3f07937e.js} +5 -5
  83. package/dist/esm/map-interface.3f07937e.js.map +1 -0
  84. package/dist/esm/{helpers.fb1d7227.js → map-interface.45814073.js} +21 -5
  85. package/dist/esm/map-interface.45814073.js.map +1 -0
  86. package/dist/esm/{main.module.9c57cc95.js → map-interface.473f1f2b.js} +1 -1
  87. package/dist/esm/{main.module.9c57cc95.js.map → map-interface.473f1f2b.js.map} +1 -1
  88. package/dist/esm/{controls.42c750c4.js → map-interface.50edfdfd.js} +4 -4
  89. package/dist/esm/{controls.42c750c4.js.map → map-interface.50edfdfd.js.map} +1 -1
  90. package/dist/esm/{vector-tile-features.53b48d66.js → map-interface.786d6e58.js} +7 -7
  91. package/dist/esm/map-interface.786d6e58.js.map +1 -0
  92. package/dist/esm/{main.module.5eb366de.js → map-interface.957e414c.js} +1 -1
  93. package/dist/esm/{main.module.5eb366de.js.map → map-interface.957e414c.js.map} +1 -1
  94. package/dist/esm/{map-view.1fc6297b.js → map-interface.9ce3d553.js} +71 -41
  95. package/dist/esm/map-interface.9ce3d553.js.map +1 -0
  96. package/dist/esm/{utils.122d1f2d.js → map-interface.c4fa120d.js} +1 -1
  97. package/dist/esm/{utils.122d1f2d.js.map → map-interface.c4fa120d.js.map} +1 -1
  98. package/dist/esm/{main.module.303f6d99.js → map-interface.c99b53b6.js} +1 -1
  99. package/dist/esm/{main.module.303f6d99.js.map → map-interface.c99b53b6.js.map} +1 -1
  100. package/dist/esm/{header.a73b6e0a.js → map-interface.e1493866.js} +5 -5
  101. package/dist/esm/map-interface.e1493866.js.map +1 -0
  102. package/dist/esm/{hash-string.836601b2.js → map-interface.e50c290f.js} +2 -2
  103. package/dist/esm/{hash-string.836601b2.js.map → map-interface.e50c290f.js.map} +1 -1
  104. package/dist/esm/{location-panel.c620b13b.js → map-interface.e5349e97.js} +6 -6
  105. package/dist/esm/{location-panel.c620b13b.js.map → map-interface.e5349e97.js.map} +1 -1
  106. package/dist/esm/{tile-extent.ca526996.js → map-interface.f107347b.js} +1 -1
  107. package/dist/esm/{tile-extent.ca526996.js.map → map-interface.f107347b.js.map} +1 -1
  108. package/dist/node/index.js +1 -1
  109. package/dist/node/index.js.map +1 -1
  110. package/dist/node/map-interface.02dd6884.js +2 -0
  111. package/dist/node/map-interface.02dd6884.js.map +1 -0
  112. package/dist/node/{main.module.2d51c752.css → map-interface.07882229.css} +1 -1
  113. package/dist/node/map-interface.07882229.css.map +1 -0
  114. package/dist/node/map-interface.10f5ef81.js +2 -0
  115. package/dist/node/map-interface.10f5ef81.js.map +1 -0
  116. package/dist/node/map-interface.1a5eecac.js +2 -0
  117. package/dist/node/map-interface.1a5eecac.js.map +1 -0
  118. package/dist/node/{main.module.8a9943af.css → map-interface.1be49df8.css} +1 -1
  119. package/dist/node/map-interface.1be49df8.css.map +1 -0
  120. package/dist/node/map-interface.20c346ba.js +2 -0
  121. package/dist/node/map-interface.20c346ba.js.map +1 -0
  122. package/dist/node/map-interface.2d12b35c.js +2 -0
  123. package/dist/node/map-interface.2d12b35c.js.map +1 -0
  124. package/dist/node/map-interface.3ea55e0c.js +2 -0
  125. package/dist/node/map-interface.3ea55e0c.js.map +1 -0
  126. package/dist/node/map-interface.42a4b05a.js +2 -0
  127. package/dist/node/map-interface.42a4b05a.js.map +1 -0
  128. package/dist/node/{main.module.29a15f3d.css → map-interface.42ef081d.css} +1 -1
  129. package/dist/node/map-interface.42ef081d.css.map +1 -0
  130. package/dist/node/map-interface.44d3f3bf.js +2 -0
  131. package/dist/node/map-interface.44d3f3bf.js.map +1 -0
  132. package/dist/node/map-interface.47b81f95.js +2 -0
  133. package/dist/node/map-interface.47b81f95.js.map +1 -0
  134. package/dist/node/map-interface.62b147ce.js +2 -0
  135. package/dist/node/map-interface.62b147ce.js.map +1 -0
  136. package/dist/node/map-interface.713361a4.js +2 -0
  137. package/dist/node/map-interface.713361a4.js.map +1 -0
  138. package/dist/node/map-interface.722387fb.js +2 -0
  139. package/dist/node/map-interface.722387fb.js.map +1 -0
  140. package/dist/node/map-interface.83fa8028.js +2 -0
  141. package/dist/node/map-interface.83fa8028.js.map +1 -0
  142. package/dist/node/map-interface.971af4bc.js +2 -0
  143. package/dist/node/map-interface.971af4bc.js.map +1 -0
  144. package/dist/node/map-interface.b14f08e8.js +2 -0
  145. package/dist/node/map-interface.b14f08e8.js.map +1 -0
  146. package/dist/node/map-interface.bc0fb98b.js +2 -0
  147. package/dist/node/map-interface.bc0fb98b.js.map +1 -0
  148. package/dist/node/{main.module.3943144e.css → map-interface.bd78832e.css} +1 -1
  149. package/dist/node/map-interface.bd78832e.css.map +1 -0
  150. package/dist/node/map-interface.cf540298.js +2 -0
  151. package/dist/node/map-interface.cf540298.js.map +1 -0
  152. package/dist/node/map-interface.d16a06b1.js +2 -0
  153. package/dist/node/map-interface.d16a06b1.js.map +1 -0
  154. package/dist/node/map-interface.d2fce135.css +2 -0
  155. package/dist/node/map-interface.d2fce135.css.map +1 -0
  156. package/dist/node/map-interface.d92b296e.js +2 -0
  157. package/dist/node/map-interface.d92b296e.js.map +1 -0
  158. package/dist/node/map-interface.e0032d67.js +2 -0
  159. package/dist/node/map-interface.e0032d67.js.map +1 -0
  160. package/dist/node/map-interface.eb663cae.js +2 -0
  161. package/dist/node/map-interface.eb663cae.js.map +1 -0
  162. package/dist/node/map-interface.ed6b5586.js +2 -0
  163. package/dist/node/map-interface.ed6b5586.js.map +1 -0
  164. package/dist/node/map-interface.f4d2a5eb.js +2 -0
  165. package/dist/node/map-interface.f4d2a5eb.js.map +1 -0
  166. package/package.json +9 -9
  167. package/src/container.ts +3 -3
  168. package/src/context-panel/index.ts +8 -8
  169. package/src/dev/map-page.ts +5 -13
  170. package/src/dev/tile-extent.ts +1 -1
  171. package/src/dev/vector-tile-features.ts +11 -7
  172. package/src/dev/xray.ts +7 -3
  173. package/src/expansion-panel/headers.ts +1 -1
  174. package/src/expansion-panel/index.ts +4 -4
  175. package/src/helpers.ts +42 -8
  176. package/src/location-info/hash-string.ts +2 -2
  177. package/src/location-info/index.ts +15 -6
  178. package/src/location-panel/header.ts +8 -6
  179. package/src/main.module.sass +13 -6
  180. package/src/map-view.ts +96 -47
  181. package/dist/cjs/context-panel.3061a63e.js.map +0 -1
  182. package/dist/cjs/expansion-panel.ef757efe.js.map +0 -1
  183. package/dist/cjs/hash-string.62e84f08.js.map +0 -1
  184. package/dist/cjs/header.af864bde.js.map +0 -1
  185. package/dist/cjs/helpers.0f72ddaf.js.map +0 -1
  186. package/dist/cjs/location-info.92e70042.js.map +0 -1
  187. package/dist/cjs/main.module.62939ea7.js.map +0 -1
  188. package/dist/cjs/main.module.f57e27f2.css.map +0 -1
  189. package/dist/cjs/map-page.1e1970d8.js.map +0 -1
  190. package/dist/cjs/map-view.61e50e18.js.map +0 -1
  191. package/dist/cjs/vector-tile-features.77121785.js.map +0 -1
  192. package/dist/cjs/xray.a23f8660.js.map +0 -1
  193. package/dist/esm/context-panel.5dae1a8c.js.map +0 -1
  194. package/dist/esm/expansion-panel.465b822f.js.map +0 -1
  195. package/dist/esm/header.a73b6e0a.js.map +0 -1
  196. package/dist/esm/helpers.fb1d7227.js.map +0 -1
  197. package/dist/esm/location-info.5543bb05.js.map +0 -1
  198. package/dist/esm/main.module.f70e002b.js.map +0 -1
  199. package/dist/esm/map-page.1da2d70c.js.map +0 -1
  200. package/dist/esm/map-view.1fc6297b.js.map +0 -1
  201. package/dist/esm/vector-tile-features.53b48d66.js.map +0 -1
  202. package/dist/esm/xray.c0663c25.js.map +0 -1
  203. package/dist/node/container.053f798f.js +0 -2
  204. package/dist/node/container.053f798f.js.map +0 -1
  205. package/dist/node/context-panel.0ae29ecf.js +0 -2
  206. package/dist/node/context-panel.0ae29ecf.js.map +0 -1
  207. package/dist/node/controls.6ec8e9ac.js +0 -2
  208. package/dist/node/controls.6ec8e9ac.js.map +0 -1
  209. package/dist/node/dev.4640438e.js +0 -2
  210. package/dist/node/dev.4640438e.js.map +0 -1
  211. package/dist/node/expansion-panel.62240ee3.js +0 -2
  212. package/dist/node/expansion-panel.62240ee3.js.map +0 -1
  213. package/dist/node/hash-string.3fc8ceb0.js +0 -2
  214. package/dist/node/hash-string.3fc8ceb0.js.map +0 -1
  215. package/dist/node/header.cf9ba12b.js +0 -2
  216. package/dist/node/header.cf9ba12b.js.map +0 -1
  217. package/dist/node/headers.2581f6d9.js +0 -2
  218. package/dist/node/headers.2581f6d9.js.map +0 -1
  219. package/dist/node/helpers.6bda171f.js +0 -2
  220. package/dist/node/helpers.6bda171f.js.map +0 -1
  221. package/dist/node/location-info.9f59aad3.js +0 -2
  222. package/dist/node/location-info.9f59aad3.js.map +0 -1
  223. package/dist/node/location-panel.2e422cc0.js +0 -2
  224. package/dist/node/location-panel.2e422cc0.js.map +0 -1
  225. package/dist/node/main.module.24615279.js +0 -2
  226. package/dist/node/main.module.24615279.js.map +0 -1
  227. package/dist/node/main.module.29a15f3d.css.map +0 -1
  228. package/dist/node/main.module.2d51c752.css.map +0 -1
  229. package/dist/node/main.module.3943144e.css.map +0 -1
  230. package/dist/node/main.module.3a8fef67.js +0 -2
  231. package/dist/node/main.module.3a8fef67.js.map +0 -1
  232. package/dist/node/main.module.434acaf9.js +0 -2
  233. package/dist/node/main.module.434acaf9.js.map +0 -1
  234. package/dist/node/main.module.5d5ab665.js +0 -2
  235. package/dist/node/main.module.5d5ab665.js.map +0 -1
  236. package/dist/node/main.module.65e40c2e.css +0 -2
  237. package/dist/node/main.module.65e40c2e.css.map +0 -1
  238. package/dist/node/main.module.8a9943af.css.map +0 -1
  239. package/dist/node/main.module.e200d631.js +0 -2
  240. package/dist/node/main.module.e200d631.js.map +0 -1
  241. package/dist/node/map-page.d0e099ab.js +0 -2
  242. package/dist/node/map-page.d0e099ab.js.map +0 -1
  243. package/dist/node/map-view.9dc96288.js +0 -2
  244. package/dist/node/map-view.9dc96288.js.map +0 -1
  245. package/dist/node/tile-extent.28db5d2c.js +0 -2
  246. package/dist/node/tile-extent.28db5d2c.js.map +0 -1
  247. package/dist/node/utils.274d0452.js +0 -2
  248. package/dist/node/utils.274d0452.js.map +0 -1
  249. package/dist/node/utils.dd92f725.js +0 -2
  250. package/dist/node/utils.dd92f725.js.map +0 -1
  251. package/dist/node/vector-tile-features.b5a23b71.js +0 -2
  252. package/dist/node/vector-tile-features.b5a23b71.js.map +0 -1
  253. package/dist/node/xray.bce11e7b.js +0 -2
  254. package/dist/node/xray.bce11e7b.js.map +0 -1
@@ -1,13 +1,13 @@
1
- import $jKrEn$mainmodulef70e002bjs from "./main.module.f70e002b.js";
2
- import "../cjs/main.module.f57e27f2.css";
3
- import {MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d} from "./helpers.fb1d7227.js";
4
- import {getMapPadding as $82fe09613877ffc2$export$bb78f9f01775eef1} from "./utils.d40349f0.js";
1
+ import $jKrEn$mapinterface065737fejs from "./map-interface.065737fe.js";
2
+ import "../cjs/map-interface.4a401c1f.css";
3
+ import {MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d} from "./map-interface.45814073.js";
4
+ import {getMapPadding as $82fe09613877ffc2$export$bb78f9f01775eef1} from "./map-interface.3033c825.js";
5
5
  import $jKrEn$macrostrathyper from "@macrostrat/hyper";
6
- import {useMapDispatch as $jKrEn$useMapDispatch, useMapRef as $jKrEn$useMapRef, addTerrainToStyle as $jKrEn$addTerrainToStyle, useMapPosition as $jKrEn$useMapPosition, use3DTerrain as $jKrEn$use3DTerrain} from "@macrostrat/mapbox-react";
7
- import {setMapPosition as $jKrEn$setMapPosition, getMapPosition as $jKrEn$getMapPosition, mapViewInfo as $jKrEn$mapViewInfo, getMapboxStyle as $jKrEn$getMapboxStyle} from "@macrostrat/mapbox-utils";
6
+ import {useMapDispatch as $jKrEn$useMapDispatch, useMapRef as $jKrEn$useMapRef, useMapStatus as $jKrEn$useMapStatus, getTerrainLayerForStyle as $jKrEn$getTerrainLayerForStyle, useMapPosition as $jKrEn$useMapPosition, use3DTerrain as $jKrEn$use3DTerrain} from "@macrostrat/mapbox-react";
7
+ import {setMapPosition as $jKrEn$setMapPosition, getMapPosition as $jKrEn$getMapPosition, mapViewInfo as $jKrEn$mapViewInfo, mergeStyles as $jKrEn$mergeStyles, getMapboxStyle as $jKrEn$getMapboxStyle} from "@macrostrat/mapbox-utils";
8
8
  import $jKrEn$classnames from "classnames";
9
9
  import $jKrEn$mapboxgl from "mapbox-gl";
10
- import {useRef as $jKrEn$useRef} from "react";
10
+ import {useRef as $jKrEn$useRef, useState as $jKrEn$useState, useEffect as $jKrEn$useEffect} from "react";
11
11
  import "mapbox-gl/dist/mapbox-gl.css";
12
12
  import {useAsyncEffect as $jKrEn$useAsyncEffect} from "@macrostrat/ui-components";
13
13
 
@@ -26,23 +26,25 @@ function $parcel$interopDefault(a) {
26
26
 
27
27
 
28
28
 
29
- const $0118fc9193bb1bf4$var$h = (0, $jKrEn$macrostrathyper).styled((0, ($parcel$interopDefault($jKrEn$mainmodulef70e002bjs))));
29
+ const $0118fc9193bb1bf4$var$h = (0, $jKrEn$macrostrathyper).styled((0, ($parcel$interopDefault($jKrEn$mapinterface065737fejs))));
30
30
  function $0118fc9193bb1bf4$var$defaultInitializeMap(container, args = {}) {
31
31
  const { mapPosition: mapPosition, ...rest } = args;
32
- console.log("Initializing map (default)", args);
33
32
  const map = new (0, $jKrEn$mapboxgl).Map({
34
33
  container: container,
35
34
  maxZoom: 18,
36
- //maxTileCacheSize: 0,
37
35
  logoPosition: "bottom-left",
38
36
  trackResize: true,
39
37
  antialias: true,
38
+ // This is a legacy option for Mapbox GL v2
39
+ // @ts-ignore
40
40
  optimizeForTerrain: true,
41
41
  ...rest
42
42
  });
43
+ let _mapPosition = mapPosition;
44
+ if (_mapPosition == null && rest.center == null && rest.bounds == null) // If no map positioning information is provided, we use the default
45
+ _mapPosition = $0118fc9193bb1bf4$var$defaultMapPosition;
43
46
  // set initial map position
44
- if (mapPosition != null) (0, $jKrEn$setMapPosition)(map, mapPosition);
45
- //setMapPosition(map, mapPosition);
47
+ if (_mapPosition != null) (0, $jKrEn$setMapPosition)(map, _mapPosition);
46
48
  return map;
47
49
  }
48
50
  const $0118fc9193bb1bf4$var$defaultMapPosition = {
@@ -54,8 +56,8 @@ const $0118fc9193bb1bf4$var$defaultMapPosition = {
54
56
  };
55
57
  function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
56
58
  let { terrainSourceID: terrainSourceID } = props;
57
- const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition = $0118fc9193bb1bf4$var$defaultMapPosition, initializeMap: initializeMap = $0118fc9193bb1bf4$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
58
- accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, ...rest } = props;
59
+ const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition, initializeMap: initializeMap = $0118fc9193bb1bf4$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
60
+ accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, standalone: standalone = false, overlayStyles: overlayStyles, transformStyle: transformStyle, ...rest } = props;
59
61
  if (enableTerrain) terrainSourceID ??= "mapbox-3d-dem";
60
62
  const _mapboxToken = mapboxToken ?? accessToken;
61
63
  if (_mapboxToken != null) (0, $jKrEn$mapboxgl).accessToken = _mapboxToken;
@@ -63,8 +65,10 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
63
65
  let mapRef = (0, $jKrEn$useMapRef)();
64
66
  const ref = (0, $jKrEn$useRef)();
65
67
  const parentRef = (0, $jKrEn$useRef)();
66
- (0, $jKrEn$useAsyncEffect)(async ()=>{
67
- /** Manager to update map style */ if (style == null) return;
68
+ const [baseStyle, setBaseStyle] = (0, $jKrEn$useState)(null);
69
+ const isStyleLoaded = (0, $jKrEn$useMapStatus)((state)=>state.isStyleLoaded);
70
+ (0, $jKrEn$useEffect)(()=>{
71
+ /** Manager to update map style */ if (baseStyle == null) return;
68
72
  let map = mapRef.current;
69
73
  /** If we can, we try to update the map style with terrain information
70
74
  * immediately, before the style is loaded. This allows us to avoid a
@@ -74,17 +78,22 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
74
78
  * doesn't always work.
75
79
  */ // We either get the map position directly from the map or from props
76
80
  const estMapPosition = map == null ? mapPosition : (0, $jKrEn$getMapPosition)(map);
77
- let newStyle = style;
78
81
  const { mapUse3D: mapUse3D } = (0, $jKrEn$mapViewInfo)(estMapPosition);
79
- /** If style is a string, we can't update it with terrain layers immediately.
80
- * We need to wait for the style to load and then update it.
81
- */ if (typeof style === "string") newStyle = await (0, $jKrEn$getMapboxStyle)(style, {
82
- access_token: (0, $jKrEn$mapboxgl).accessToken
83
- });
84
- if (mapUse3D) // We can update the style with terrain layers immediately
85
- newStyle = (0, $jKrEn$addTerrainToStyle)(newStyle, terrainSourceID);
82
+ let newStyle = baseStyle;
83
+ const overlayStyles = props.overlayStyles ?? [];
84
+ if (overlayStyles.length > 0) newStyle = (0, $jKrEn$mergeStyles)(newStyle, ...overlayStyles);
85
+ if (mapUse3D) {
86
+ // We can update the style with terrain layers immediately
87
+ const terrainStyle = (0, $jKrEn$getTerrainLayerForStyle)(newStyle, terrainSourceID);
88
+ newStyle = (0, $jKrEn$mergeStyles)(newStyle, terrainStyle);
89
+ }
90
+ if (transformStyle != null) newStyle = transformStyle(newStyle);
86
91
  if (map != null) {
87
92
  console.log("Setting style", newStyle);
93
+ dispatch({
94
+ type: "set-style-loaded",
95
+ payload: false
96
+ });
88
97
  map.setStyle(newStyle);
89
98
  } else {
90
99
  console.log("Initializing map", newStyle);
@@ -104,21 +113,38 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
104
113
  });
105
114
  onMapLoaded?.(map);
106
115
  }
107
- const loadCallback = ()=>{
108
- onStyleLoaded?.(map);
109
- // Set initial terrain state
110
- dispatch({
111
- type: "set-style-loaded",
112
- payload: true
113
- });
114
- };
115
- map = mapRef.current;
116
- if (map.style?._loaded) // Catch a race condition where the style is loaded before the callback is set
117
- loadCallback();
118
- map.on("style.load", loadCallback);
119
- return ()=>{
120
- map.off("style.load", loadCallback);
121
- };
116
+ }, [
117
+ baseStyle,
118
+ overlayStyles,
119
+ transformStyle
120
+ ]);
121
+ /** Check back every 0.1 seconds to see if the map has loaded.
122
+ * We do it this way because mapboxgl loading events are unreliable */ (0, $jKrEn$useEffect)(()=>{
123
+ if (isStyleLoaded) return;
124
+ const interval = setInterval(()=>{
125
+ const map = mapRef.current;
126
+ if (map == null) return;
127
+ if (map.isStyleLoaded()) {
128
+ // Wait a tick before setting the style loaded state
129
+ dispatch({
130
+ type: "set-style-loaded",
131
+ payload: true
132
+ });
133
+ onStyleLoaded?.(map);
134
+ clearInterval(interval);
135
+ }
136
+ }, 50);
137
+ return ()=>clearInterval(interval);
138
+ }, [
139
+ isStyleLoaded
140
+ ]);
141
+ (0, $jKrEn$useAsyncEffect)(async ()=>{
142
+ /** Manager to update map style */ let newStyle;
143
+ if (typeof style === "string") newStyle = await (0, $jKrEn$getMapboxStyle)(style, {
144
+ access_token: (0, $jKrEn$mapboxgl).accessToken
145
+ });
146
+ else newStyle = style;
147
+ setBaseStyle(newStyle);
122
148
  }, [
123
149
  style
124
150
  ]);
@@ -130,8 +156,12 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
130
156
  "is-rotated": mapIsRotated ?? false,
131
157
  "is-3d-available": mapUse3D ?? false
132
158
  }, `${_projection}-projection`);
159
+ const parentClassName = (0, $jKrEn$classnames)({
160
+ standalone: standalone
161
+ });
133
162
  return $0118fc9193bb1bf4$var$h("div.map-view-container.main-view", {
134
- ref: parentRef
163
+ ref: parentRef,
164
+ className: parentClassName
135
165
  }, [
136
166
  $0118fc9193bb1bf4$var$h("div.mapbox-map#map", {
137
167
  ref: ref,
@@ -169,4 +199,4 @@ function $0118fc9193bb1bf4$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrain
169
199
 
170
200
 
171
201
  export {$0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8 as MapView, $0118fc9193bb1bf4$export$cee395a8a2a00b29 as MapTerrainManager};
172
- //# sourceMappingURL=map-view.1fc6297b.js.map
202
+ //# sourceMappingURL=map-interface.9ce3d553.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAmC5B,SAAS,2CAAqB,SAAS,EAAE,OAAyB,CAAC,CAAC;IAClE,MAAM,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IAEjC,MAAM,MAAM,IAAI,CAAA,GAAA,eAAO,EAAE,GAAG,CAAC;mBAC3B;QACA,SAAS;QACT,cAAc;QACd,aAAa;QACb,WAAW;QACX,2CAA2C;QAC3C,aAAa;QACb,oBAAoB;QACpB,GAAG,IAAI;IACT;IAEA,IAAI,eAAe;IACnB,IAAI,gBAAgB,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,MAChE,oEAAoE;IACpE,eAAe;IAGjB,2BAA2B;IAC3B,IAAI,gBAAgB,MAClB,CAAA,GAAA,qBAAa,EAAE,KAAK;IAGtB,OAAO;AACT;AAEA,MAAM,2CAAkC;IACtC,QAAQ;QACN,KAAK;QACL,KAAK;QACL,UAAU;IACZ;AACF;AAEO,SAAS,0CAAQ,KAAmB;IACzC,IAAI,mBAAE,eAAe,EAAE,GAAG;IAC1B,MAAM,iBACJ,gBAAgB,aAChB,KAAK,eACL,WAAW,iBACX,gBAAgB,sDAChB,QAAQ,eACR,WAAW,eACX,aAAa;IACb,WAAW,sBACX,kBAAkB,oBAClB,gBAAgB,cAChB,UAAU,eACV,cAAc,qBACd,gBAAgB,kBAChB,aAAa,kBACb,aAAa,sBACb,aAAa,kBACb,cAAc,EACd,GAAG,MACJ,GAAG;IACJ,IAAI,eACF,oBAAoB;IAGtB,MAAM,eAAe,eAAe;IAEpC,IAAI,gBAAgB,MAClB,CAAA,GAAA,eAAO,EAAE,WAAW,GAAG;IAGzB,MAAM,WAAW,CAAA,GAAA,qBAAa;IAC9B,IAAI,SAAS,CAAA,GAAA,gBAAQ;IACrB,MAAM,MAAM,CAAA,GAAA,aAAK;IACjB,MAAM,YAAY,CAAA,GAAA,aAAK;IAEvB,MAAM,CAAC,WAAW,aAAa,GAAG,CAAA,GAAA,eAAO,EAAkB;IAC3D,MAAM,gBAAgB,CAAA,GAAA,mBAAW,EAAE,CAAC,QAAU,MAAM,aAAa;IAEjE,CAAA,GAAA,gBAAQ,EAAE;QACR,gCAAgC,GAChC,IAAI,aAAa,MAAM;QACvB,IAAI,MAAM,OAAO,OAAO;QAExB;;;;;;KAMC,GACD,qEAAqE;QACrE,MAAM,iBACJ,OAAO,OAAO,cAAc,CAAA,GAAA,qBAAa,EAAE;QAC7C,MAAM,YAAE,QAAQ,EAAE,GAAG,CAAA,GAAA,kBAAU,EAAE;QAEjC,IAAI,WAA2B;QAE/B,MAAM,gBAAgB,MAAM,aAAa,IAAI,EAAE;QAE/C,IAAI,cAAc,MAAM,GAAG,GACzB,WAAW,CAAA,GAAA,kBAAU,EAAE,aAAa;QAGtC,IAAI,UAAU;YACZ,0DAA0D;YAC1D,MAAM,eAAe,CAAA,GAAA,8BAAsB,EAAE,UAAU;YACvD,WAAW,CAAA,GAAA,kBAAU,EAAE,UAAU;QACnC;QAEA,IAAI,kBAAkB,MACpB,WAAW,eAAe;QAG5B,IAAI,OAAO,MAAM;YACf,QAAQ,GAAG,CAAC,iBAAiB;YAC7B,SAAS;gBAAE,MAAM;gBAAoB,SAAS;YAAM;YACpD,IAAI,QAAQ,CAAC;QACf,OAAO;YACL,QAAQ,GAAG,CAAC,oBAAoB;YAChC,MAAM,MAAM,cAAc,IAAI,OAAO,EAAE;gBACrC,OAAO;4BACP;6BACA;kCACA;gBACA,GAAG,IAAI;YACT;YACA,SAAS;gBAAE,MAAM;gBAAW,SAAS;YAAI;YACzC,IAAI,UAAU,CAAC,CAAA,GAAA,yCAAY,EAAE,KAAK,YAAY;gBAAE,SAAS;YAAM;YAC/D,cAAc;QAChB;IACF,GAAG;QAAC;QAAW;QAAe;KAAe;IAE7C;sEACoE,GACpE,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,eAAe;QACnB,MAAM,WAAW,YAAY;YAC3B,MAAM,MAAM,OAAO,OAAO;YAC1B,IAAI,OAAO,MAAM;YACjB,IAAI,IAAI,aAAa,IAAI;gBACvB,oDAAoD;gBACpD,SAAS;oBAAE,MAAM;oBAAoB,SAAS;gBAAK;gBACnD,gBAAgB;gBAChB,cAAc;YAChB;QACF,GAAG;QACH,OAAO,IAAM,cAAc;IAC7B,GAAG;QAAC;KAAc;IAElB,CAAA,GAAA,qBAAa,EAAE;QACb,gCAAgC,GAChC,IAAI;QACJ,IAAI,OAAO,UAAU,UACnB,WAAW,MAAM,CAAA,GAAA,qBAAa,EAAE,OAAO;YACrC,cAAc,CAAA,GAAA,eAAO,EAAE,WAAW;QACpC;aAEA,WAAW;QAEb,aAAa;IACf,GAAG;QAAC;KAAM;IAEV,MAAM,uBAAuB,CAAA,GAAA,qBAAa;IAC1C,MAAM,YAAE,QAAQ,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,kBAAU,EAAE;IAE/C,qBAAqB;IACrB,MAAM,cAAc,OAAO,OAAO,EAAE,iBAAiB,QAAQ;IAE7D,MAAM,YAAY,CAAA,GAAA,iBAAS,EACzB;QACE,cAAc,gBAAgB;QAC9B,mBAAmB,YAAY;IACjC,GACA,GAAG,YAAY,WAAW,CAAC;IAG7B,MAAM,kBAAkB,CAAA,GAAA,iBAAS,EAAE;oBACjC;IACF;IAEA,OAAO,wBACL,oCACA;QAAE,KAAK;QAAW,WAAW;IAAgB,GAC7C;QACE,wBAAE,sBAAsB;iBAAE;uBAAK;QAAU;QACzC,wBAAE,CAAA,GAAA,yCAAiB,GAAG;YACpB,gBAAgB;gBAAC;gBAAmB;aAAwB;QAC9D;QACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;wBAAE;QAAW;QACjC,wBAAE,CAAA,GAAA,yCAAe,GAAG;YAAE,cAAc;QAAI;QACxC,wBAAE,CAAA,GAAA,yCAAgB,GAAG;YACnB,cAAc;uBACd;gCACA;QACF;QACA,wBAAE,2CAAmB;sBAAE;6BAAU;mBAAiB;QAAM;QACxD;KACD;AAEL;AAEO,SAAS,0CAAkB,YAChC,QAAQ,mBACR,eAAe,SACf,KAAK,EAKN;IACC,CAAA,GAAA,mBAAW,EAAE,UAAU;IAEvB,OAAO;AACT","sources":["packages/map-interface/src/map-view.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n useMapRef,\n useMapDispatch,\n useMapPosition,\n use3DTerrain,\n getTerrainLayerForStyle,\n useMapStatus,\n} from \"@macrostrat/mapbox-react\";\nimport {\n mapViewInfo,\n MapPosition,\n setMapPosition,\n getMapPosition,\n getMapboxStyle,\n mergeStyles,\n} from \"@macrostrat/mapbox-utils\";\nimport classNames from \"classnames\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useEffect, useRef, useState } from \"react\";\nimport styles from \"./main.module.sass\";\nimport {\n MapLoadingReporter,\n MapMovedReporter,\n MapPaddingManager,\n MapResizeManager,\n} from \"./helpers\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport { getMapPadding } from \"./utils\";\nimport { useAsyncEffect } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\ntype MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, \"container\">;\n\nexport interface MapViewProps extends MapboxCoreOptions {\n showLineSymbols?: boolean;\n children?: React.ReactNode;\n mapboxToken?: string;\n // Deprecated\n accessToken?: string;\n terrainSourceID?: string;\n enableTerrain?: boolean;\n infoMarkerPosition?: mapboxgl.LngLatLike;\n mapPosition?: MapPosition;\n initializeMap?: (\n container: HTMLElement,\n args: MapboxOptionsExt,\n ) => mapboxgl.Map;\n onMapLoaded?: (map: mapboxgl.Map) => void;\n onStyleLoaded?: (map: mapboxgl.Map) => void;\n onMapMoved?: (mapPosition: MapPosition, map: mapboxgl.Map) => void;\n /** This map sets its own viewport, rather than being positioned by a parent.\n * This is a hack to ensure that the map can overflow its \"safe area\" when false */\n standalone?: boolean;\n /** Overlay styles to apply to the map: a list of mapbox style objects or fragments to\n * overlay on top of the main map style at runtime */\n overlayStyles?: Partial<mapboxgl.Style>[];\n /** A function to transform the map style before it is loaded */\n transformStyle?: (style: mapboxgl.Style) => mapboxgl.Style;\n}\n\nexport interface MapboxOptionsExt extends MapboxCoreOptions {\n mapPosition?: MapPosition;\n}\n\nfunction defaultInitializeMap(container, args: MapboxOptionsExt = {}) {\n const { mapPosition, ...rest } = args;\n\n const map = new mapboxgl.Map({\n container,\n maxZoom: 18,\n logoPosition: \"bottom-left\",\n trackResize: true,\n antialias: true,\n // This is a legacy option for Mapbox GL v2\n // @ts-ignore\n optimizeForTerrain: true,\n ...rest,\n });\n\n let _mapPosition = mapPosition;\n if (_mapPosition == null && rest.center == null && rest.bounds == null) {\n // If no map positioning information is provided, we use the default\n _mapPosition = defaultMapPosition;\n }\n\n // set initial map position\n if (_mapPosition != null) {\n setMapPosition(map, _mapPosition);\n }\n\n return map;\n}\n\nconst defaultMapPosition: MapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000,\n },\n};\n\nexport function MapView(props: MapViewProps) {\n let { terrainSourceID } = props;\n const {\n enableTerrain = true,\n style,\n mapPosition,\n initializeMap = defaultInitializeMap,\n children,\n mapboxToken,\n // Deprecated\n accessToken,\n infoMarkerPosition,\n transformRequest,\n projection,\n onMapLoaded = null,\n onStyleLoaded = null,\n onMapMoved = null,\n standalone = false,\n overlayStyles,\n transformStyle,\n ...rest\n } = props;\n if (enableTerrain) {\n terrainSourceID ??= \"mapbox-3d-dem\";\n }\n\n const _mapboxToken = mapboxToken ?? accessToken;\n\n if (_mapboxToken != null) {\n mapboxgl.accessToken = _mapboxToken;\n }\n\n const dispatch = useMapDispatch();\n let mapRef = useMapRef();\n const ref = useRef<HTMLDivElement>();\n const parentRef = useRef<HTMLDivElement>();\n\n const [baseStyle, setBaseStyle] = useState<mapboxgl.Style>(null);\n const isStyleLoaded = useMapStatus((state) => state.isStyleLoaded);\n\n useEffect(() => {\n /** Manager to update map style */\n if (baseStyle == null) return;\n let map = mapRef.current;\n\n /** If we can, we try to update the map style with terrain information\n * immediately, before the style is loaded. This allows us to avoid a\n * flash of the map without terrain.\n *\n * To do this, we need to estimate the map position before load, which\n * doesn't always work.\n */\n // We either get the map position directly from the map or from props\n const estMapPosition: MapPosition | null =\n map == null ? mapPosition : getMapPosition(map);\n const { mapUse3D } = mapViewInfo(estMapPosition);\n\n let newStyle: mapboxgl.Style = baseStyle;\n\n const overlayStyles = props.overlayStyles ?? [];\n\n if (overlayStyles.length > 0) {\n newStyle = mergeStyles(newStyle, ...overlayStyles);\n }\n\n if (mapUse3D) {\n // We can update the style with terrain layers immediately\n const terrainStyle = getTerrainLayerForStyle(newStyle, terrainSourceID);\n newStyle = mergeStyles(newStyle, terrainStyle);\n }\n\n if (transformStyle != null) {\n newStyle = transformStyle(newStyle);\n }\n\n if (map != null) {\n console.log(\"Setting style\", newStyle);\n dispatch({ type: \"set-style-loaded\", payload: false });\n map.setStyle(newStyle);\n } else {\n console.log(\"Initializing map\", newStyle);\n const map = initializeMap(ref.current, {\n style: newStyle,\n projection,\n mapPosition,\n transformRequest,\n ...rest,\n });\n dispatch({ type: \"set-map\", payload: map });\n map.setPadding(getMapPadding(ref, parentRef), { animate: false });\n onMapLoaded?.(map);\n }\n }, [baseStyle, overlayStyles, transformStyle]);\n\n /** Check back every 0.1 seconds to see if the map has loaded.\n * We do it this way because mapboxgl loading events are unreliable */\n useEffect(() => {\n if (isStyleLoaded) return;\n const interval = setInterval(() => {\n const map = mapRef.current;\n if (map == null) return;\n if (map.isStyleLoaded()) {\n // Wait a tick before setting the style loaded state\n dispatch({ type: \"set-style-loaded\", payload: true });\n onStyleLoaded?.(map);\n clearInterval(interval);\n }\n }, 50);\n return () => clearInterval(interval);\n }, [isStyleLoaded]);\n\n useAsyncEffect(async () => {\n /** Manager to update map style */\n let newStyle: mapboxgl.Style;\n if (typeof style === \"string\") {\n newStyle = await getMapboxStyle(style, {\n access_token: mapboxgl.accessToken,\n });\n } else {\n newStyle = style;\n }\n setBaseStyle(newStyle);\n }, [style]);\n\n const _computedMapPosition = useMapPosition();\n const { mapUse3D, mapIsRotated } = mapViewInfo(_computedMapPosition);\n\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n\n const className = classNames(\n {\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": mapUse3D ?? false,\n },\n `${_projection}-projection`,\n );\n\n const parentClassName = classNames({\n standalone,\n });\n\n return h(\n \"div.map-view-container.main-view\",\n { ref: parentRef, className: parentClassName },\n [\n h(\"div.mapbox-map#map\", { ref, className }),\n h(MapLoadingReporter, {\n ignoredSources: [\"elevationMarker\", \"crossSectionEndpoints\"],\n }),\n h(MapMovedReporter, { onMapMoved }),\n h(MapResizeManager, { containerRef: ref }),\n h(MapPaddingManager, {\n containerRef: ref,\n parentRef,\n infoMarkerPosition,\n }),\n h(MapTerrainManager, { mapUse3D, terrainSourceID, style }),\n children,\n ],\n );\n}\n\nexport function MapTerrainManager({\n mapUse3D,\n terrainSourceID,\n style,\n}: {\n mapUse3D?: boolean;\n terrainSourceID?: string;\n style?: mapboxgl.Style | string;\n}) {\n use3DTerrain(mapUse3D, terrainSourceID);\n\n return null;\n}\n"],"names":[],"version":3,"file":"map-interface.9ce3d553.js.map"}
@@ -25,4 +25,4 @@ function $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c(val, precision = 0) {
25
25
 
26
26
 
27
27
  export {$3e1bd09be8f70c4c$export$97c1b10e131a836d as fmt4, $3e1bd09be8f70c4c$export$b1cb0f7fb990b3ea as fmt3, $3e1bd09be8f70c4c$export$4c173b1b2f78faf7 as fmt2, $3e1bd09be8f70c4c$export$e54bbd2c33d17485 as fmt1, $3e1bd09be8f70c4c$export$bc135f63e2f56fd4 as fmtInt, $3e1bd09be8f70c4c$export$7c4d25c0c3217d8c as formatValue};
28
- //# sourceMappingURL=utils.122d1f2d.js.map
28
+ //# sourceMappingURL=map-interface.c4fa120d.js.map
@@ -1 +1 @@
1
- {"mappings":";;;AAEO,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAS,CAAA,GAAA,aAAK,EAAE;AAEtB,SAAS,0CAAY,GAAW,EAAE,YAAoB,CAAC;IAC5D,OAAQ;QACN,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAO;QAChB;YACE,OAAO,0CAAK;IAChB;AACF","sources":["packages/map-interface/src/location-info/utils.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport function formatValue(val: number, precision: number = 0): string {\n switch (precision) {\n case 4:\n return fmt4(val);\n case 3:\n return fmt3(val);\n case 2:\n return fmt2(val);\n case 1:\n return fmt1(val);\n case 0:\n return fmtInt(val);\n default:\n return fmt4(val);\n }\n}\n"],"names":[],"version":3,"file":"utils.122d1f2d.js.map"}
1
+ {"mappings":";;;AAEO,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAO,CAAA,GAAA,aAAK,EAAE;AACpB,MAAM,4CAAS,CAAA,GAAA,aAAK,EAAE;AAEtB,SAAS,0CAAY,GAAW,EAAE,YAAoB,CAAC;IAC5D,OAAQ;QACN,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAK;QACd,KAAK;YACH,OAAO,0CAAO;QAChB;YACE,OAAO,0CAAK;IAChB;AACF","sources":["packages/map-interface/src/location-info/utils.ts"],"sourcesContent":["import { format } from \"d3-format\";\n\nexport const fmt4 = format(\".4~f\");\nexport const fmt3 = format(\".3~f\");\nexport const fmt2 = format(\".2~f\");\nexport const fmt1 = format(\".1~f\");\nexport const fmtInt = format(\".0f\");\n\nexport function formatValue(val: number, precision: number = 0): string {\n switch (precision) {\n case 4:\n return fmt4(val);\n case 3:\n return fmt3(val);\n case 2:\n return fmt2(val);\n case 1:\n return fmt1(val);\n case 0:\n return fmtInt(val);\n default:\n return fmt4(val);\n }\n}\n"],"names":[],"version":3,"file":"map-interface.c4fa120d.js.map"}
@@ -40,4 +40,4 @@ $29ab0212ea6844d0$export$8cc075c801fd6817 = `VPa3-W_spacer`;
40
40
 
41
41
 
42
42
  export {$29ab0212ea6844d0$exports as default};
43
- //# sourceMappingURL=main.module.303f6d99.js.map
43
+ //# sourceMappingURL=map-interface.c99b53b6.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAVA,4CAAqC,CAAC,uBAAuB,CAAC;AAC9D,4CAAiC,CAAC,mBAAmB,CAAC;AACtD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAwC,CAAC,0BAA0B,CAAC;AACpE,4CAA2C,CAAC,6BAA6B,CAAC;AAC1E,4CAA8B,CAAC,gBAAgB,CAAC;AAChD,4CAA4B,CAAC,cAAc,CAAC;AAC5C,4CAA0C,CAAC,4BAA4B,CAAC;AACxE,2CAAsC,CAAC,wBAAwB,CAAC;AAChE,4CAA2B,CAAC,aAAa,CAAC","sources":["packages/map-interface/src/location-panel/main.module.sass"],"sourcesContent":[".copy-link-button:global(.bp5-minimal.bp5-button)\n color: var(--text-subtle-color)\n\n svg\n fill: var(--text-subtle-color)\n\n.location-panel-header\n padding: 5px\n display: flex\n flex-direction: row\n align-items: center\n gap: var(--panel-header-gap, 0.5rem)\n min-height: var(--panel-header-height, 40px)\n border-bottom: 1px solid var(--panel-rule-color)\n &.fixed-height\n height: var(--panel-header-height, 40px)\n\n .spacer\n flex-grow: 1\n // Ensure the spacer is not extra wide\n margin-right: calc(-1 * var(--panel-header-gap, 0.5rem))\n\n .left-icon\n padding: 7px\n\n .position-controls :global(.bp5-button)\n font-size: 12px !important\n\n // Text elements should\n h1, h2, h3, h4, h5, h6, p\n margin: 0\n font-size: 16px\n overflow: hidden\n text-overflow: ellipsis\n &:first-child\n margin-left: 10px\n\n.infodrawer-header-item\n font-size: 12px\n\n :global(.secondary)\n font-size: 0.9em\n color: var(--text-subtle-color)\n\n.infodrawer\n pointer-events: all\n max-height: 100%\n max-width: 100%\n height: fit-content\n display: flex\n flex-direction: column\n overflow-y: hidden\n background-color: var(--panel-background-color)\n\n &:global(.bp5-card)\n padding: 0\n background-color: var(--panel-background-color)\n\n\n &.loading\n .infodrawer-body\n overflow-y: hidden\n min-height: 70px\n\n\n.infodrawer-contents\n padding: 0 1em\n &>:first-child\n margin-top: 1rem\n &>:last-child\n margin-bottom: 1rem\n\n// The scrollable body of the infodrawer\n.infodrawer-body\n flex-shrink: 1\n min-height: 0\n transition: min-height 0.5s ease\n overflow-y: scroll\n position: relative\n\n// TODO: remove this when we have a better way to handle card media queries\n@media screen and (max-width: 768px)\n .infodrawer\n border-radius: var(--panel-border-radius, 0px)\n"],"names":[],"version":3,"file":"main.module.303f6d99.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAVA,4CAAqC,CAAC,uBAAuB,CAAC;AAC9D,4CAAiC,CAAC,mBAAmB,CAAC;AACtD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAwC,CAAC,0BAA0B,CAAC;AACpE,4CAA2C,CAAC,6BAA6B,CAAC;AAC1E,4CAA8B,CAAC,gBAAgB,CAAC;AAChD,4CAA4B,CAAC,cAAc,CAAC;AAC5C,4CAA0C,CAAC,4BAA4B,CAAC;AACxE,2CAAsC,CAAC,wBAAwB,CAAC;AAChE,4CAA2B,CAAC,aAAa,CAAC","sources":["packages/map-interface/src/location-panel/main.module.sass"],"sourcesContent":[".copy-link-button:global(.bp5-minimal.bp5-button)\n color: var(--text-subtle-color)\n\n svg\n fill: var(--text-subtle-color)\n\n.location-panel-header\n padding: 5px\n display: flex\n flex-direction: row\n align-items: center\n gap: var(--panel-header-gap, 0.5rem)\n min-height: var(--panel-header-height, 40px)\n border-bottom: 1px solid var(--panel-rule-color)\n &.fixed-height\n height: var(--panel-header-height, 40px)\n\n .spacer\n flex-grow: 1\n // Ensure the spacer is not extra wide\n margin-right: calc(-1 * var(--panel-header-gap, 0.5rem))\n\n .left-icon\n padding: 7px\n\n .position-controls :global(.bp5-button)\n font-size: 12px !important\n\n // Text elements should\n h1, h2, h3, h4, h5, h6, p\n margin: 0\n font-size: 16px\n overflow: hidden\n text-overflow: ellipsis\n &:first-child\n margin-left: 10px\n\n.infodrawer-header-item\n font-size: 12px\n\n :global(.secondary)\n font-size: 0.9em\n color: var(--text-subtle-color)\n\n.infodrawer\n pointer-events: all\n max-height: 100%\n max-width: 100%\n height: fit-content\n display: flex\n flex-direction: column\n overflow-y: hidden\n background-color: var(--panel-background-color)\n --panel-padding: 0\n\n &:global(.bp5-card)\n padding: 0\n background-color: var(--panel-background-color)\n\n\n &.loading\n .infodrawer-body\n overflow-y: hidden\n min-height: 70px\n\n\n.infodrawer-contents\n padding: 0 1em\n &>:first-child\n margin-top: 1rem\n &>div:first-child\n margin-top: 0\n &>:last-child\n margin-bottom: 1rem\n &>div:last-child\n margin-bottom: 0\n\n// The scrollable body of the infodrawer\n.infodrawer-body\n flex-shrink: 1\n min-height: 0\n transition: min-height 0.5s ease\n overflow-y: scroll\n position: relative\n\n// TODO: remove this when we have a better way to handle card media queries\n@media screen and (max-width: 768px)\n .infodrawer\n border-radius: var(--panel-border-radius, 0px)\n"],"names":[],"version":3,"file":"map-interface.c99b53b6.js.map"}
@@ -1,6 +1,6 @@
1
- import "../cjs/main.module.13eb33f8.css";
2
- import $fU9jX$mainmodule303f6d99js from "./main.module.303f6d99.js";
3
- import {LngLatCoords as $4fae2d573d730db8$export$f195b3550849e560, Elevation as $4fae2d573d730db8$export$58bfb4f6ec5aa58d} from "./location-info.5543bb05.js";
1
+ import "../cjs/map-interface.1b386e07.css";
2
+ import $fU9jX$mapinterfacec99b53b6js from "./map-interface.c99b53b6.js";
3
+ import {Elevation as $4fae2d573d730db8$export$58bfb4f6ec5aa58d, LngLatCoords as $4fae2d573d730db8$export$f195b3550849e560} from "./map-interface.3ef9d0ae.js";
4
4
  import {Button as $fU9jX$Button, Icon as $fU9jX$Icon} from "@blueprintjs/core";
5
5
  import $fU9jX$macrostrathyper from "@macrostrat/hyper";
6
6
  import {useToaster as $fU9jX$useToaster} from "@macrostrat/ui-components";
@@ -18,7 +18,7 @@ function $parcel$interopDefault(a) {
18
18
 
19
19
 
20
20
 
21
- const $427faf94283514d4$var$h = (0, $fU9jX$macrostrathyper).styled((0, ($parcel$interopDefault($fU9jX$mainmodule303f6d99js))));
21
+ const $427faf94283514d4$var$h = (0, $fU9jX$macrostrathyper).styled((0, ($parcel$interopDefault($fU9jX$mapinterfacec99b53b6js))));
22
22
  function $427faf94283514d4$var$PositionButton({ position: position, bounds: bounds, showCopyLink: showCopyLink = false }) {
23
23
  const focusState = (0, $fU9jX$useFocusState)(position);
24
24
  const copyLinkIsVisible = (0, $fU9jX$isCentered)(focusState) && showCopyLink;
@@ -102,4 +102,4 @@ function $427faf94283514d4$export$e9ff14c4822c2e8c(props) {
102
102
 
103
103
 
104
104
  export {$427faf94283514d4$export$e9ff14c4822c2e8c as InfoDrawerHeader};
105
- //# sourceMappingURL=header.a73b6e0a.js.map
105
+ //# sourceMappingURL=map-interface.e1493866.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;AAcA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAE5B,SAAS,qCAAe,YAAE,QAAQ,UAAE,MAAM,gBAAE,eAAe,OAAO;IAChE,MAAM,aAAa,CAAA,GAAA,oBAAY,EAAE;IAEjC,MAAM,oBAAoB,CAAA,GAAA,iBAAS,EAAE,eAAe;IAEpD,OAAO,wBAAE,yBAAyB;QAChC,wBAAE,CAAA,GAAA,0BAAkB,GAAG;YAAE,UAAU;oBAAU;wBAAQ;QAAW,GAAG,EAAE;QACrE,wBAAE,EAAE,CAAC,qBAAqB,YAAY,MAAM,sCAAgB;YAC1D,UAAU;QACZ;KACD;AACH;AAEA,SAAS,qCAAe,YAAE,QAAQ,YAAE,QAAQ,WAAE,OAAO,EAAE,GAAG,MAAM;IAC9D,MAAM,UAAU,CAAA,GAAA,iBAAS;IAEzB,IAAI,UAAU,CAAC,WAAW,CAAC;IAC3B,IAAI,YAAY,MACd,WAAW,CAAC,IAAI,EAAE,UAAU;IAE9B,WAAW;IAEX,OAAO,wBACL,CAAA,GAAA,aAAK,GACL;QACE,WAAW;QACX,WAAW,wBAAE,CAAA,GAAA,WAAG,GAAG;YAAE,MAAM;YAAQ,MAAM;QAAG;QAC5C,SAAS;QACT,OAAO;QACP;YACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD;gBACE,SAAS,KAAK;6BACZ;oBACA,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;gBACA;YACF,GACA;gBACE,SAAS,KAAK;oBACZ,SAAS;oBACT,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;YACF;QAEJ;QACA,GAAG,IAAI;IACT,GACA,YAAY;AAEhB;AAcO,SAAS,0CAAiB,KAA4B;IAC3D,MAAM,WACJ,OAAO,YACP,QAAQ,UACR,MAAM,QACN,OAAO,cACP,SAAS,0BACT,sBAAsB,eACtB,cAAc,iBACd,QAAQ,aACR,SAAS,EACV,GAAG;IAEJ,IAAI,aAAa;IACjB,IAAI,UAAU,QAAQ,YAAY,MAChC,aAAa,wBAAE,sCAAgB;kBAC7B;gBACA;QACA,cAAc;IAChB;IAGF,OAAO,wBACL,gCACA;QACE,WAAW,CAAA,GAAA,iBAAS,EAAE,WAAW;YAAE,gBAAgB;QAAY;IACjE,GACA;QACE;QACA;QACA,wBAAE;QACF,wBAAE,EAAE,CAAC,YAAY,MAAM,CAAA,GAAA,yCAAW,GAAG;sBACnC;kBACA;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,aAAa,MAAM,CAAA,GAAA,yCAAQ,GAAG;uBACjC;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,WAAW,MAAM,CAAA,GAAA,aAAK,GAAG;YAC5B,SAAS;YACT,MAAM;YACN,SAAS;QACX;KACD;AAEL","sources":["packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport {\n LocationFocusButton,\n useFocusState,\n isCentered,\n} from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":[],"version":3,"file":"map-interface.e1493866.js.map"}
@@ -1,4 +1,4 @@
1
- import {fmt1 as $3e1bd09be8f70c4c$export$e54bbd2c33d17485, fmt2 as $3e1bd09be8f70c4c$export$4c173b1b2f78faf7, fmtInt as $3e1bd09be8f70c4c$export$bc135f63e2f56fd4} from "./utils.122d1f2d.js";
1
+ import {fmt1 as $3e1bd09be8f70c4c$export$e54bbd2c33d17485, fmt2 as $3e1bd09be8f70c4c$export$4c173b1b2f78faf7, fmtInt as $3e1bd09be8f70c4c$export$bc135f63e2f56fd4} from "./map-interface.c4fa120d.js";
2
2
  import {formatCoordForZoomLevel as $diowj$formatCoordForZoomLevel} from "@macrostrat/mapbox-utils";
3
3
 
4
4
 
@@ -58,4 +58,4 @@ function $bb5f34705d9c44bc$export$80abf1cbcc3918e4(hashData, centerPosition) {
58
58
 
59
59
 
60
60
  export {$bb5f34705d9c44bc$export$8391d1abb505ffb3 as applyMapPositionToHash, $bb5f34705d9c44bc$export$80abf1cbcc3918e4 as getMapPositionForHash};
61
- //# sourceMappingURL=hash-string.836601b2.js.map
61
+ //# sourceMappingURL=map-interface.e50c290f.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;AAgBO,SAAS,0CACd,IAAwB,EACxB,WAA+B;IAE/B,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM;IACjB,MAAM,OAAO,YAAY,MAAM,EAAE;IAEjC,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAC1C,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAE1C,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,MAChD,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE,IAAI,QAAQ,IAAI;;IAGpC,IAAI,IAAI,OAAO,IAAI,GAAG;QACpB,IAAI,KAAK,IAAI,OAAO;QACpB,IAAI,KAAK,GAAG,MAAM;QAClB,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE,IAAI,KAAK;AAE7B;AAEA,SAAS,2BAAK,CAA6B;IACzC,IAAI,MAAM,OAAO,CAAC,IAChB,IAAI,CAAC,CAAC,EAAE;IAEV,OAAO,WAAW,EAAE,QAAQ;AAC9B;AAEO,SAAS,0CACd,QAA6B,EAC7B,cAA6B;IAE7B,MAAM,KACJ,IAAI,gBAAgB,OAAO,MAC3B,IAAI,gBAAgB,OAAO,MAC3B,mEAAmE;IACnE,IAAI,kBAAkB,OAAO,IAAI,MACjC,IAAI,MACJ,IAAI,GACL,GAAG;IAEJ,MAAM,MAAM,2BAAK;IACjB,MAAM,MAAM,2BAAK;IAEjB,IAAI,WAAW;IACf,IAAI,OAAO;IACX,MAAM,KAAK,EAAE,QAAQ;IACrB,IAAI,GAAG,QAAQ,CAAC,OACd,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;SAC7C,IAAI,GAAG,QAAQ,CAAC,MACrB,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG;SAE5C,OAAO,2BAAK;IAEd,MAAM,UAAU,2BAAK;IACrB,MAAM,QAAQ,2BAAK;IAEnB,IAAI,SAAS;IACb,IAAI,WAAW,KAAK,SAAS,KAAK,QAAQ,MACxC,SAAS;aACP;aACA;cACA;IACF;IAGF,OAAO;QACL,QAAQ;YACN,KAAK,2BAAK;YACV,KAAK,2BAAK;sBACV;YACA,SAAS,2BAAK;YACd,OAAO,2BAAK;QACd;gBACA;IACF;AACF","sources":["packages/map-interface/src/location-info/hash-string.ts"],"sourcesContent":["import {\n LatLng,\n MapPosition,\n formatCoordForZoomLevel,\n} from \"@macrostrat/mapbox-utils\";\nimport { ParsedQuery } from \"query-string\";\nimport { fmt1, fmt2, fmtInt } from \"./utils\";\n\ninterface LocationHashParams {\n x?: string;\n y?: string;\n z?: string;\n a?: string;\n e?: string;\n}\n\nexport function applyMapPositionToHash(\n args: LocationHashParams,\n mapPosition: MapPosition | null\n) {\n const pos = mapPosition?.camera;\n if (pos == null) return;\n const zoom = mapPosition.target?.zoom;\n\n args.x = formatCoordForZoomLevel(pos.lng, zoom);\n args.y = formatCoordForZoomLevel(pos.lat, zoom);\n\n if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) {\n args.z = fmt1(zoom);\n } else if (pos.altitude != null) {\n if (pos.altitude > 5000) {\n args.z = fmt2(pos.altitude / 1000) + \"km\";\n } else {\n args.z = fmtInt(pos.altitude) + \"m\";\n }\n }\n if (pos.bearing != 0) {\n let az = pos.bearing;\n if (az < 0) az += 360;\n args.a = fmtInt(az);\n }\n if (pos.pitch != 0) {\n args.e = fmtInt(pos.pitch);\n }\n}\n\nfunction _fmt(x: string | number | string[]) {\n if (Array.isArray(x)) {\n x = x[0];\n }\n return parseFloat(x.toString());\n}\n\nexport function getMapPositionForHash(\n hashData: ParsedQuery<string>,\n centerPosition: LatLng | null\n): MapPosition {\n const {\n x = centerPosition?.lng ?? 0,\n y = centerPosition?.lat ?? 0,\n // Different default for zoom depending on whether we have a marker\n z = centerPosition != null ? 7 : 2,\n a = 0,\n e = 0,\n } = hashData;\n\n const lng = _fmt(x);\n const lat = _fmt(y);\n\n let altitude = null;\n let zoom = null;\n const _z = z.toString();\n if (_z.endsWith(\"km\")) {\n altitude = _fmt(_z.substring(0, _z.length - 2)) * 1000;\n } else if (_z.endsWith(\"m\")) {\n altitude = _fmt(_z.substring(0, _z.length - 1));\n } else {\n zoom = _fmt(z);\n }\n const bearing = _fmt(a);\n const pitch = _fmt(e);\n\n let target = undefined;\n if (bearing == 0 && pitch == 0 && zoom != null) {\n target = {\n lat,\n lng,\n zoom,\n };\n }\n\n return {\n camera: {\n lng: _fmt(x),\n lat: _fmt(y),\n altitude,\n bearing: _fmt(a),\n pitch: _fmt(e),\n },\n target,\n };\n}\n"],"names":[],"version":3,"file":"hash-string.836601b2.js.map"}
1
+ {"mappings":";;;;;AAgBO,SAAS,0CACd,IAAwB,EACxB,WAA+B;IAE/B,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM;IACjB,MAAM,OAAO,YAAY,MAAM,EAAE;IAEjC,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAC1C,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAsB,EAAE,IAAI,GAAG,EAAE;IAE1C,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,MAChD,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE,IAAI,QAAQ,IAAI;;IAGpC,IAAI,IAAI,OAAO,IAAI,GAAG;QACpB,IAAI,KAAK,IAAI,OAAO;QACpB,IAAI,KAAK,GAAG,MAAM;QAClB,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,CAAA,GAAA,yCAAK,EAAE,IAAI,KAAK;AAE7B;AAEA,SAAS,2BAAK,CAA6B;IACzC,IAAI,MAAM,OAAO,CAAC,IAChB,IAAI,CAAC,CAAC,EAAE;IAEV,OAAO,WAAW,EAAE,QAAQ;AAC9B;AAEO,SAAS,0CACd,QAA6B,EAC7B,cAA6B;IAE7B,MAAM,KACJ,IAAI,gBAAgB,OAAO,MAC3B,IAAI,gBAAgB,OAAO,MAC3B,mEAAmE;IACnE,IAAI,kBAAkB,OAAO,IAAI,MACjC,IAAI,MACJ,IAAI,GACL,GAAG;IAEJ,MAAM,MAAM,2BAAK;IACjB,MAAM,MAAM,2BAAK;IAEjB,IAAI,WAAW;IACf,IAAI,OAAO;IACX,MAAM,KAAK,EAAE,QAAQ;IACrB,IAAI,GAAG,QAAQ,CAAC,OACd,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;SAC7C,IAAI,GAAG,QAAQ,CAAC,MACrB,WAAW,2BAAK,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG;SAE5C,OAAO,2BAAK;IAEd,MAAM,UAAU,2BAAK;IACrB,MAAM,QAAQ,2BAAK;IAEnB,IAAI,SAAS;IACb,IAAI,WAAW,KAAK,SAAS,KAAK,QAAQ,MACxC,SAAS;aACP;aACA;cACA;IACF;IAGF,OAAO;QACL,QAAQ;YACN,KAAK,2BAAK;YACV,KAAK,2BAAK;sBACV;YACA,SAAS,2BAAK;YACd,OAAO,2BAAK;QACd;gBACA;IACF;AACF","sources":["packages/map-interface/src/location-info/hash-string.ts"],"sourcesContent":["import {\n LatLng,\n MapPosition,\n formatCoordForZoomLevel,\n} from \"@macrostrat/mapbox-utils\";\nimport { ParsedQuery } from \"query-string\";\nimport { fmt1, fmt2, fmtInt } from \"./utils\";\n\ninterface LocationHashParams {\n x?: string;\n y?: string;\n z?: string;\n a?: string;\n e?: string;\n}\n\nexport function applyMapPositionToHash(\n args: LocationHashParams,\n mapPosition: MapPosition | null,\n) {\n const pos = mapPosition?.camera;\n if (pos == null) return;\n const zoom = mapPosition.target?.zoom;\n\n args.x = formatCoordForZoomLevel(pos.lng, zoom);\n args.y = formatCoordForZoomLevel(pos.lat, zoom);\n\n if (pos.bearing == 0 && pos.pitch == 0 && zoom != null) {\n args.z = fmt1(zoom);\n } else if (pos.altitude != null) {\n if (pos.altitude > 5000) {\n args.z = fmt2(pos.altitude / 1000) + \"km\";\n } else {\n args.z = fmtInt(pos.altitude) + \"m\";\n }\n }\n if (pos.bearing != 0) {\n let az = pos.bearing;\n if (az < 0) az += 360;\n args.a = fmtInt(az);\n }\n if (pos.pitch != 0) {\n args.e = fmtInt(pos.pitch);\n }\n}\n\nfunction _fmt(x: string | number | string[]) {\n if (Array.isArray(x)) {\n x = x[0];\n }\n return parseFloat(x.toString());\n}\n\nexport function getMapPositionForHash(\n hashData: ParsedQuery<string>,\n centerPosition: LatLng | null,\n): MapPosition {\n const {\n x = centerPosition?.lng ?? 0,\n y = centerPosition?.lat ?? 0,\n // Different default for zoom depending on whether we have a marker\n z = centerPosition != null ? 7 : 2,\n a = 0,\n e = 0,\n } = hashData;\n\n const lng = _fmt(x);\n const lat = _fmt(y);\n\n let altitude = null;\n let zoom = null;\n const _z = z.toString();\n if (_z.endsWith(\"km\")) {\n altitude = _fmt(_z.substring(0, _z.length - 2)) * 1000;\n } else if (_z.endsWith(\"m\")) {\n altitude = _fmt(_z.substring(0, _z.length - 1));\n } else {\n zoom = _fmt(z);\n }\n const bearing = _fmt(a);\n const pitch = _fmt(e);\n\n let target = undefined;\n if (bearing == 0 && pitch == 0 && zoom != null) {\n target = {\n lat,\n lng,\n zoom,\n };\n }\n\n return {\n camera: {\n lng: _fmt(x),\n lat: _fmt(y),\n altitude,\n bearing: _fmt(a),\n pitch: _fmt(e),\n },\n target,\n };\n}\n"],"names":[],"version":3,"file":"map-interface.e50c290f.js.map"}
@@ -1,7 +1,7 @@
1
- import {InfoDrawerHeader as $427faf94283514d4$export$e9ff14c4822c2e8c} from "./header.a73b6e0a.js";
2
- import "../cjs/main.module.13eb33f8.css";
3
- import $2cJVU$mainmodule303f6d99js from "./main.module.303f6d99.js";
4
- import {PanelCard as $4bdfa9cd8240b2fd$export$ec68dd77edbe678b} from "./container.bba0b16c.js";
1
+ import {InfoDrawerHeader as $427faf94283514d4$export$e9ff14c4822c2e8c} from "./map-interface.e1493866.js";
2
+ import "../cjs/map-interface.1b386e07.css";
3
+ import $2cJVU$mapinterfacec99b53b6js from "./map-interface.c99b53b6.js";
4
+ import {PanelCard as $4bdfa9cd8240b2fd$export$ec68dd77edbe678b} from "./map-interface.27587c50.js";
5
5
  import $2cJVU$macrostrathyper from "@macrostrat/hyper";
6
6
  import $2cJVU$classnames from "classnames";
7
7
  import {ErrorBoundary as $2cJVU$ErrorBoundary} from "@macrostrat/ui-components";
@@ -16,7 +16,7 @@ function $parcel$interopDefault(a) {
16
16
 
17
17
 
18
18
 
19
- const $f50c3537aaff0cff$var$h = (0, $2cJVU$macrostrathyper).styled((0, ($parcel$interopDefault($2cJVU$mainmodule303f6d99js))));
19
+ const $f50c3537aaff0cff$var$h = (0, $2cJVU$macrostrathyper).styled((0, ($parcel$interopDefault($2cJVU$mapinterfacec99b53b6js))));
20
20
  function $f50c3537aaff0cff$export$83f9a19cf91c2d06(props) {
21
21
  const className = (0, $2cJVU$classnames)("infodrawer", props.className);
22
22
  return $f50c3537aaff0cff$var$h((0, $4bdfa9cd8240b2fd$export$ec68dd77edbe678b), {
@@ -55,4 +55,4 @@ function $f50c3537aaff0cff$export$aa4baff5242ea6e1(props) {
55
55
 
56
56
 
57
57
  export {$f50c3537aaff0cff$export$83f9a19cf91c2d06 as InfoDrawerContainer, $f50c3537aaff0cff$export$a5ddcc2a88716895 as BaseInfoDrawer, $f50c3537aaff0cff$export$e54a7f2505304e20 as DetailsPanel, $f50c3537aaff0cff$export$aa4baff5242ea6e1 as LocationPanel};
58
- //# sourceMappingURL=location-panel.c620b13b.js.map
58
+ //# sourceMappingURL=map-interface.e5349e97.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,sEAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,yCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,oBAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"location-panel.c620b13b.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,yCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,oBAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"map-interface.e5349e97.js.map"}
@@ -43,4 +43,4 @@ function $1d4d29ef2725aa16$export$86c09739b12f23cd({ tile: tile, color: color =
43
43
 
44
44
 
45
45
  export {$1d4d29ef2725aa16$export$86c09739b12f23cd as TileExtentLayer};
46
- //# sourceMappingURL=tile-extent.ca526996.js.map
46
+ //# sourceMappingURL=map-interface.f107347b.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;AAMO,SAAS,0CAAgB,QAC9B,IAAI,SACJ,QAAQ,OAIT;IACC,MAAM,gBAAgB,CAAA,GAAA,kBAAU,EAC9B,CAAC,KAAK;QACJ,MAAM,QAAQ,IAAI,QAAQ;QAC1B,IAAI,MAAM,MAAM,IAAI,MAAM;QAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAM,EAAE,EAAE,IAAI;QAClD,IAAI,OAAO,MACT,OAAO,IAAI,QAAQ,CAAC;QAEtB,MAAM,KAAE,CAAC,KAAE,CAAC,KAAE,CAAC,EAAE,GAAG;QACpB,MAAM,SAAS,CAAA,GAAA,oBAAY,EAAE;YAAC;YAAG;YAAG;SAAE;QACtC,MAAM,SAAS;YACb,MAAM;YACN,MAAM;QACR;QACA,MAAM,QAAQ;YACZ,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;gBACd,cAAc;YAChB;QACF;QACA,MAAM,OAAO,CAAC,cAAc,GAAG;QAC/B,MAAM,MAAM,CAAC,IAAI,CAAC;QAClB,IAAI,QAAQ,CAAC;IACf,GACA;QAAC;KAAM;IAET,MAAM,MAAM,CAAA,GAAA,gBAAQ;IACpB,CAAA,GAAA,6BAAqB,EAAE,KAAK,MAAM;IAClC,OAAO;AACT","sources":["packages/map-interface/src/dev/tile-extent.ts"],"sourcesContent":["import { useMapConditionalStyle, useMapRef } from \"@macrostrat/mapbox-react\";\nimport { tileToGeoJSON } from \"@mapbox/tilebelt\";\nimport { useCallback } from \"react\";\n\ntype TileIndex = { x: number; y: number; z: number };\n\nexport function TileExtentLayer({\n tile,\n color = \"red\",\n}: {\n tile: TileIndex | null;\n color?: string;\n}) {\n const styleCallback = useCallback(\n (map, val: TileIndex) => {\n const style = map.getStyle();\n if (style.layers == null) return;\n style.layers = style.layers.filter((l) => l.id != \"tile-extent\");\n if (val == null) {\n return map.setStyle(style);\n }\n const { x, y, z } = val;\n const extent = tileToGeoJSON([x, y, z]);\n const source = {\n type: \"geojson\",\n data: extent,\n };\n const layer = {\n id: \"tile-extent\",\n type: \"line\",\n source: \"tile-extent\",\n paint: {\n \"line-color\": color,\n \"line-width\": 2,\n },\n };\n style.sources[\"tile-extent\"] = source;\n style.layers.push(layer);\n map.setStyle(style);\n },\n [color]\n );\n const map = useMapRef();\n useMapConditionalStyle(map, tile, styleCallback);\n return null;\n}\n"],"names":[],"version":3,"file":"tile-extent.ca526996.js.map"}
1
+ {"mappings":";;;;;;;AAMO,SAAS,0CAAgB,QAC9B,IAAI,SACJ,QAAQ,OAIT;IACC,MAAM,gBAAgB,CAAA,GAAA,kBAAU,EAC9B,CAAC,KAAK;QACJ,MAAM,QAAQ,IAAI,QAAQ;QAC1B,IAAI,MAAM,MAAM,IAAI,MAAM;QAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAM,EAAE,EAAE,IAAI;QAClD,IAAI,OAAO,MACT,OAAO,IAAI,QAAQ,CAAC;QAEtB,MAAM,KAAE,CAAC,KAAE,CAAC,KAAE,CAAC,EAAE,GAAG;QACpB,MAAM,SAAS,CAAA,GAAA,oBAAY,EAAE;YAAC;YAAG;YAAG;SAAE;QACtC,MAAM,SAAS;YACb,MAAM;YACN,MAAM;QACR;QACA,MAAM,QAAQ;YACZ,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;gBACd,cAAc;YAChB;QACF;QACA,MAAM,OAAO,CAAC,cAAc,GAAG;QAC/B,MAAM,MAAM,CAAC,IAAI,CAAC;QAClB,IAAI,QAAQ,CAAC;IACf,GACA;QAAC;KAAM;IAET,MAAM,MAAM,CAAA,GAAA,gBAAQ;IACpB,CAAA,GAAA,6BAAqB,EAAE,KAAK,MAAM;IAClC,OAAO;AACT","sources":["packages/map-interface/src/dev/tile-extent.ts"],"sourcesContent":["import { useMapConditionalStyle, useMapRef } from \"@macrostrat/mapbox-react\";\nimport { tileToGeoJSON } from \"@mapbox/tilebelt\";\nimport { useCallback } from \"react\";\n\ntype TileIndex = { x: number; y: number; z: number };\n\nexport function TileExtentLayer({\n tile,\n color = \"red\",\n}: {\n tile: TileIndex | null;\n color?: string;\n}) {\n const styleCallback = useCallback(\n (map, val: TileIndex) => {\n const style = map.getStyle();\n if (style.layers == null) return;\n style.layers = style.layers.filter((l) => l.id != \"tile-extent\");\n if (val == null) {\n return map.setStyle(style);\n }\n const { x, y, z } = val;\n const extent = tileToGeoJSON([x, y, z]);\n const source = {\n type: \"geojson\",\n data: extent,\n };\n const layer = {\n id: \"tile-extent\",\n type: \"line\",\n source: \"tile-extent\",\n paint: {\n \"line-color\": color,\n \"line-width\": 2,\n },\n };\n style.sources[\"tile-extent\"] = source;\n style.layers.push(layer);\n map.setStyle(style);\n },\n [color],\n );\n const map = useMapRef();\n useMapConditionalStyle(map, tile, styleCallback);\n return null;\n}\n"],"names":[],"version":3,"file":"map-interface.f107347b.js.map"}
@@ -1,2 +1,2 @@
1
- require("./context-panel.0ae29ecf.js"),require("./location-panel.2e422cc0.js"),require("./dev.4640438e.js"),require("./container.053f798f.js"),require("./map-view.9dc96288.js"),require("./controls.6ec8e9ac.js"),require("./helpers.6bda171f.js"),require("./utils.dd92f725.js"),require("./location-info.9f59aad3.js"),require("./expansion-panel.62240ee3.js");var e=globalThis,r={},a={},i=e.parcelRequire94c2;null==i&&((i=function(e){if(e in r)return r[e].exports;if(e in a){var i=a[e];delete a[e];var n={id:e,exports:{}};return r[e]=n,i.call(n.exports,n,n.exports),n.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,r){a[e]=r},e.parcelRequire94c2=i),i.register,new URL("context-panel.0ae29ecf.js","file:"+__filename).toString(),new URL("location-panel.2e422cc0.js","file:"+__filename).toString(),new URL("dev.4640438e.js","file:"+__filename).toString(),i("lw3Ik"),i("3wYIs"),i("cL8YF"),i("7CmOU"),i("R3my3"),i("66CcX"),i("e9x7B");
1
+ function $parcel$exportWildcard(e,r){return Object.keys(r).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return r[a]}})}),e}require("./map-interface.ed6b5586.js"),require("./map-interface.cf540298.js"),require("./map-interface.d16a06b1.js"),require("./map-interface.b14f08e8.js"),require("./map-interface.20c346ba.js"),require("./map-interface.971af4bc.js"),require("./map-interface.eb663cae.js"),require("./map-interface.713361a4.js"),require("./map-interface.d92b296e.js"),require("./map-interface.10f5ef81.js");var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register,$d7LVS=parcelRequire("d7LVS"),$6t6Bb=parcelRequire("6t6Bb"),$jVPp0=parcelRequire("jVPp0"),$lw3Ik=parcelRequire("lw3Ik"),$3wYIs=parcelRequire("3wYIs"),$cL8YF=parcelRequire("cL8YF"),$7CmOU=parcelRequire("7CmOU"),$R3my3=parcelRequire("R3my3"),$66CcX=parcelRequire("66CcX"),$e9x7B=parcelRequire("e9x7B");$parcel$exportWildcard(module.exports,$d7LVS),$parcel$exportWildcard(module.exports,$6t6Bb),$parcel$exportWildcard(module.exports,$jVPp0),$parcel$exportWildcard(module.exports,$lw3Ik),$parcel$exportWildcard(module.exports,$3wYIs),$parcel$exportWildcard(module.exports,$cL8YF),$parcel$exportWildcard(module.exports,$7CmOU),$parcel$exportWildcard(module.exports,$R3my3),$parcel$exportWildcard(module.exports,$66CcX),$parcel$exportWildcard(module.exports,$e9x7B);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"mappings":"A,Q,gD,Q,iD,Q,sC,Q,4C,Q,2C,Q,2C,Q,0C,Q,wC,Q,gD,Q,kD,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,CEAiB,IAAA,IAAoB,6CAAA,QAAA,YAA8C,QAAQ,GCA1E,IAAA,IAAoB,8CAAA,QAAA,YAA+C,QAAQ,GCA3E,IAAA,IAAoB,mCAAA,QAAA,YAAoC,QAAQ,G,E,S,E,S,E,S,E,S,E,S,E,S,E","sources":["<anon>","packages/map-interface/src/index.ts","../../../../.yarn/berry/cache/@parcel-runtime-js-npm-2.13.3-f44fec8492-10c0.zip/node_modules/@parcel/runtime-js/lib/runtime-236b755256a6c7a4.js","../../../../.yarn/berry/cache/@parcel-runtime-js-npm-2.13.3-f44fec8492-10c0.zip/node_modules/@parcel/runtime-js/lib/runtime-6b95ac51dd58ea56.js","../../../../.yarn/berry/cache/@parcel-runtime-js-npm-2.13.3-f44fec8492-10c0.zip/node_modules/@parcel/runtime-js/lib/runtime-d1ee864570c44cc4.js"],"sourcesContent":["require(\"./context-panel.0ae29ecf.js\");\nrequire(\"./location-panel.2e422cc0.js\");\nrequire(\"./dev.4640438e.js\");\nrequire(\"./container.053f798f.js\");\nrequire(\"./map-view.9dc96288.js\");\nrequire(\"./controls.6ec8e9ac.js\");\nrequire(\"./helpers.6bda171f.js\");\nrequire(\"./utils.dd92f725.js\");\nrequire(\"./location-info.9f59aad3.js\");\nrequire(\"./expansion-panel.62240ee3.js\");\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire94c2\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire94c2\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $98cdcb2099c80b13$exports = {};\n$98cdcb2099c80b13$exports = new URL(\"context-panel.0ae29ecf.js\", \"file:\" + __filename).toString();\n\n\nvar $8b2849cf2ef954b4$exports = {};\n$8b2849cf2ef954b4$exports = new URL(\"location-panel.2e422cc0.js\", \"file:\" + __filename).toString();\n\n\nvar $4aea815117692f31$exports = {};\n$4aea815117692f31$exports = new URL(\"dev.4640438e.js\", \"file:\" + __filename).toString();\n\n\nparcelRequire(\"lw3Ik\");\nparcelRequire(\"3wYIs\");\nparcelRequire(\"cL8YF\");\nparcelRequire(\"7CmOU\");\nparcelRequire(\"R3my3\");\nparcelRequire(\"66CcX\");\nparcelRequire(\"e9x7B\");\n\n\n//# sourceMappingURL=index.js.map\n","export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n","module.exports = new __parcel__URL__(\"context-panel.0ae29ecf.js\").toString();","module.exports = new __parcel__URL__(\"location-panel.2e422cc0.js\").toString();","module.exports = new __parcel__URL__(\"dev.4640438e.js\").toString();"],"names":["require","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","URL","__filename","toString"],"version":3,"file":"index.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,S,uB,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C","sources":["<anon>","packages/map-interface/src/index.ts"],"sourcesContent":["require(\"./map-interface.ed6b5586.js\");\nrequire(\"./map-interface.cf540298.js\");\nrequire(\"./map-interface.d16a06b1.js\");\nrequire(\"./map-interface.b14f08e8.js\");\nrequire(\"./map-interface.20c346ba.js\");\nrequire(\"./map-interface.971af4bc.js\");\nrequire(\"./map-interface.eb663cae.js\");\nrequire(\"./map-interface.713361a4.js\");\nrequire(\"./map-interface.d92b296e.js\");\nrequire(\"./map-interface.10f5ef81.js\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\nvar $d7LVS = parcelRequire(\"d7LVS\");\n\nvar $6t6Bb = parcelRequire(\"6t6Bb\");\n\nvar $jVPp0 = parcelRequire(\"jVPp0\");\n\nvar $lw3Ik = parcelRequire(\"lw3Ik\");\n\nvar $3wYIs = parcelRequire(\"3wYIs\");\n\nvar $cL8YF = parcelRequire(\"cL8YF\");\n\nvar $7CmOU = parcelRequire(\"7CmOU\");\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nvar $66CcX = parcelRequire(\"66CcX\");\n\nvar $e9x7B = parcelRequire(\"e9x7B\");\n$parcel$exportWildcard(module.exports, $d7LVS);\n$parcel$exportWildcard(module.exports, $6t6Bb);\n$parcel$exportWildcard(module.exports, $jVPp0);\n$parcel$exportWildcard(module.exports, $lw3Ik);\n$parcel$exportWildcard(module.exports, $3wYIs);\n$parcel$exportWildcard(module.exports, $cL8YF);\n$parcel$exportWildcard(module.exports, $7CmOU);\n$parcel$exportWildcard(module.exports, $R3my3);\n$parcel$exportWildcard(module.exports, $66CcX);\n$parcel$exportWildcard(module.exports, $e9x7B);\n\n\n//# sourceMappingURL=index.js.map\n","export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","require","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","parcelRegister","$d7LVS","$6t6Bb","$jVPp0","$lw3Ik","$3wYIs","$cL8YF","$7CmOU","$R3my3","$66CcX","$e9x7B"],"version":3,"file":"index.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ require("./map-interface.2d12b35c.js"),require("./map-interface.b14f08e8.js"),require("./map-interface.ed6b5586.js"),require("./map-interface.eb663cae.js"),require("./map-interface.cf540298.js"),require("./map-interface.20c346ba.js"),require("./map-interface.83fa8028.js"),require("./map-interface.44d3f3bf.js"),require("./map-interface.62b147ce.js");var $8RvAA$blueprintjscore=require("@blueprintjs/core"),$8RvAA$macrostrathyper=require("@macrostrat/hyper"),$8RvAA$macrostratuicomponents=require("@macrostrat/ui-components"),$8RvAA$mapboxgl=require("mapbox-gl"),$8RvAA$react=require("react");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,r,a,t){Object.defineProperty(e,r,{get:a,set:t,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"h",()=>$0bad82db04876d25$export$dda1d9f60106f0e9),$parcel$export(module.exports,"MapInspectorV2",()=>$0bad82db04876d25$export$eab3034e57b46e26),$parcel$export(module.exports,"DevMapPage",()=>$0bad82db04876d25$export$2391061fbdfb71ef);var $2mAQJ=parcelRequire("2mAQJ"),$lw3Ik=parcelRequire("lw3Ik"),$d7LVS=parcelRequire("d7LVS"),$7CmOU=parcelRequire("7CmOU"),$6t6Bb=parcelRequire("6t6Bb"),$3wYIs=parcelRequire("3wYIs"),$7gWgo=parcelRequire("7gWgo"),$2DICz=parcelRequire("2DICz"),$gnyJS=parcelRequire("gnyJS");let $0bad82db04876d25$export$dda1d9f60106f0e9=$parcel$interopDefault($8RvAA$macrostrathyper).styled($parcel$interopDefault($7gWgo));function $0bad82db04876d25$export$eab3034e57b46e26({title:e="Map inspector",headerElement:r=null,transformRequest:a=null,mapPosition:t=null,mapboxToken:l=null,overlayStyle:d=null,controls:o=null,children:$=null,style:n,bounds:c=null,focusedSource:p=null,focusedSourceTitle:i=null,fitViewport:u=!0,styleType:s="macrostrat"}){let f=(0,$8RvAA$macrostratuicomponents.useDarkMode)(),b=f?.isEnabled;null!=l&&($parcel$interopDefault($8RvAA$mapboxgl).accessToken=l),n??(n=(0,$7CmOU.useBasicMapStyle)({styleType:s}));let[m,x]=(0,$8RvAA$react.useState)(!1),[R,A]=(0,$8RvAA$macrostratuicomponents.useStoredState)("macrostrat:dev-map-page",{showTileExtent:!1,xRay:!1}),{showTileExtent:S,xRay:g}=R,[q,v]=(0,$8RvAA$react.useState)(null);(0,$8RvAA$react.useEffect)(()=>{(0,$2mAQJ.buildInspectorStyle)(n,d,{mapboxToken:l,inDarkMode:b,xRay:g}).then(v)},[n,g,l,b,d]);let[y,_]=(0,$8RvAA$react.useState)(null),[h,E]=(0,$8RvAA$react.useState)(null),w=(0,$8RvAA$react.useCallback)(e=>{_(e)},[]),H=null;null!=y&&(H=$0bad82db04876d25$export$dda1d9f60106f0e9($6t6Bb.LocationPanel,{onClose(){_(null)},position:y},[$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.TileInfo,{feature:h?.[0]??null,showExtent:S,setShowExtent(){A({...R,showTileExtent:!S})}}),$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.FeaturePanel,{features:h,focusedSource:p,focusedSourceTitle:i})]));let I=null;if(S&&h?.[0]!=null){let e=h[0];I={x:e._x,y:e._y,z:e._z}}return $0bad82db04876d25$export$dda1d9f60106f0e9($lw3Ik.MapAreaContainer,{navbar:$0bad82db04876d25$export$dda1d9f60106f0e9($d7LVS.FloatingNavbar,{rightElement:$0bad82db04876d25$export$dda1d9f60106f0e9($d7LVS.MapLoadingButton,{large:!0,active:m,onClick:()=>x(!m),style:{marginRight:"-5px"}}),headerElement:r,title:e}),contextPanel:$0bad82db04876d25$export$dda1d9f60106f0e9($lw3Ik.PanelCard,[o,$0bad82db04876d25$export$dda1d9f60106f0e9($8RvAA$blueprintjscore.Switch,{checked:g,label:"X-ray mode",onChange(){A({...R,xRay:!g})}})]),detailPanel:H,contextPanelOpen:m,fitViewport:u},$0bad82db04876d25$export$dda1d9f60106f0e9($3wYIs.MapView,{style:q,transformRequest:a,mapPosition:t,projection:{name:"globe"},mapboxToken:l,bounds:c},[$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.FeatureSelectionHandler,{selectedLocation:y,setFeatures:E}),$0bad82db04876d25$export$dda1d9f60106f0e9($7CmOU.MapMarker,{position:y,setPosition:w}),$0bad82db04876d25$export$dda1d9f60106f0e9($2DICz.TileExtentLayer,{tile:I,color:b?"white":"black"}),$]))}function $0bad82db04876d25$var$MapInspector(e){let{children:r,controls:a,...t}=e;return console.warn("MapInspector is deprecated. Use MapInspectorV2 instead"),$0bad82db04876d25$export$dda1d9f60106f0e9($0bad82db04876d25$export$eab3034e57b46e26,{...t,controls:[r,a]})}let $0bad82db04876d25$export$2391061fbdfb71ef=$0bad82db04876d25$var$MapInspector;
2
+ //# sourceMappingURL=map-interface.02dd6884.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,I,uB,Q,qB,uB,Q,qB,8B,Q,6B,gB,Q,a,a,Q,S,S,uB,C,E,O,G,E,U,C,E,O,C,C,C,S,e,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,I,I,2C,e,O,O,C,iB,I,2C,e,O,O,C,a,I,2C,I,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,SCqBO,IAAM,0CAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEvB,SAAS,0CAAe,CAAA,MAC7B,EAAQ,eAAA,CAAA,cACR,EAAgB,IAAA,CAAA,iBAChB,EAAmB,IAAA,CAAA,YACnB,EAAc,IAAA,CAAA,YACd,EAAc,IAAA,CAAA,aACd,EAAe,IAAA,CAAA,SACf,EAAW,IAAA,CAAA,SACX,EAAW,IAAA,CAAA,MACX,CAAK,CAAA,OACL,EAAS,IAAA,CAAA,cACT,EAAgB,IAAA,CAAA,mBAChB,EAAqB,IAAA,CAAA,YACrB,EAAc,CAAA,CAAA,CAAA,UACd,EAAY,YAAA,CAiBb,EAQC,IAAM,EAAO,AAAA,CAAA,EAAA,8BAAA,WAAU,AAAV,IACP,EAAY,GAAM,SAEpB,AAAe,OAAf,GACF,CAAA,AAAA,uBAAA,iBAAS,WAAW,CAAG,CADzB,EAIA,GAAA,CAAA,EAAU,AAAA,CAAA,EAAA,OAAA,gBAAe,AAAf,EAAiB,CAAE,UAAA,CAAU,EAAA,EAEvC,GAAM,CAAC,EAAQ,EAAQ,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,CAAA,GAE7B,CAAC,EAAO,EAAS,CAAG,AAAA,CAAA,EAAA,8BAAA,cAAa,AAAb,EAAe,0BAA2B,CAClE,eAAgB,CAAA,EAChB,KAAM,CAAA,CACR,GACM,CAAA,eAAE,CAAc,CAAA,KAAE,CAAI,CAAE,CAAG,EAE3B,CAAC,EAAa,EAAe,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,MAE/C,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KACR,AAAA,CAAA,EAAA,OAAA,mBAAkB,AAAlB,EAAoB,EAAO,EAAc,CACvC,YAAA,EACA,WAAY,EACZ,KAAA,CACF,GAAG,IAAI,CAAC,EACV,EAAG,CAAC,EAAO,EAAM,EAAa,EAAW,EAAa,EAEtD,GAAM,CAAC,EAAiB,EAAmB,CACzC,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAiC,MAE7B,CAAC,EAAM,EAAQ,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,MAE3B,EAAmB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,AAAC,IACpC,EAAmB,EACrB,EAAG,EAAE,EAED,EAAgB,IAChB,AAAmB,OAAnB,GACF,CAAA,EAAgB,0CACd,OAAA,aAAY,CACZ,CACE,UACE,EAAmB,KACrB,EACA,SAAU,CACZ,EACA,CACE,0CAAE,OAAA,QAAO,CAAG,CACV,QAAS,GAAM,CAAC,EAAE,EAAI,KACtB,WAAY,EACZ,gBACE,EAAS,CAAE,GAAG,CAAK,CAAE,eAAgB,CAAC,CAAe,EACvD,CACF,GACA,0CAAE,OAAA,YAAW,CAAG,CAAE,SAAU,EAAM,cAAA,EAAe,mBAAA,CAAmB,GACrE,CAAA,EAIL,IAAI,EAAO,KACX,GAAI,GAAkB,GAAM,CAAC,EAAE,EAAI,KAAM,CACvC,IAAI,EAAI,CAAI,CAAC,EAAE,CACf,EAAO,CAAE,EAAG,EAAE,EAAE,CAAE,EAAG,EAAE,EAAE,CAAE,EAAG,EAAE,EAAE,AAAC,CACrC,CAEA,OAAO,0CACL,OAAA,gBAAe,CACf,CACE,OAAQ,0CAAE,OAAA,cAAa,CAAG,CACxB,aAAc,0CAAE,OAAA,gBAAe,CAAG,CAChC,MAAO,CAAA,EACP,OAAQ,EACR,QAAS,IAAM,EAAQ,CAAC,GACxB,MAAO,CACL,YAAa,MACf,CACF,GACA,cAAA,EACA,MAAA,CACF,GACA,aAAc,0CAAE,OAAA,SAAQ,CAAG,CACzB,EACA,0CAAE,uBAAA,MAAK,CAAG,CACR,QAAS,EACT,MAAO,aACP,WACE,EAAS,CAAE,GAAG,CAAK,CAAE,KAAM,CAAC,CAAK,EACnC,CACF,GACD,EACD,YAAa,EACb,iBAAkB,EAClB,YAAA,CACF,EACA,0CACE,OAAA,OAAM,CACN,CACE,MAAO,EACP,iBAAA,EACA,YAAA,EACA,WAAY,CAAE,KAAM,OAAQ,EAC5B,YAAA,EACA,OAAA,CACF,EACA,CACE,0CAAE,OAAA,uBAAsB,CAAG,CACzB,iBAAkB,EAClB,YAAa,CACf,GACA,0CAAE,OAAA,SAAQ,CAAG,CACX,SAAU,EACV,YAAa,CACf,GACA,0CAAE,OAAA,eAAc,CAAG,CAAE,KAAA,EAAM,MAAO,EAAY,QAAU,OAAQ,GAChE,EACD,EAGP,CAEA,SAAS,mCAAa,CAAK,EACzB,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CAAG,EAKxC,OAFA,QAAQ,IAAI,CAAC,0DAEN,0CAAE,0CAAgB,CACvB,GAAG,CAAI,CACP,SAAU,CAAC,EAAU,EAAS,AAChC,EACF,CAGO,IAAM,0CAAa","sources":["<anon>","packages/map-interface/src/dev/map-page.ts"],"sourcesContent":["require(\"./map-interface.2d12b35c.js\");\nrequire(\"./map-interface.b14f08e8.js\");\nrequire(\"./map-interface.ed6b5586.js\");\nrequire(\"./map-interface.eb663cae.js\");\nrequire(\"./map-interface.cf540298.js\");\nrequire(\"./map-interface.20c346ba.js\");\nrequire(\"./map-interface.83fa8028.js\");\nrequire(\"./map-interface.44d3f3bf.js\");\nrequire(\"./map-interface.62b147ce.js\");\nvar $8RvAA$blueprintjscore = require(\"@blueprintjs/core\");\nvar $8RvAA$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $8RvAA$macrostratuicomponents = require(\"@macrostrat/ui-components\");\nvar $8RvAA$mapboxgl = require(\"mapbox-gl\");\nvar $8RvAA$react = require(\"react\");\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n$parcel$export(module.exports, \"h\", () => $0bad82db04876d25$export$dda1d9f60106f0e9);\n$parcel$export(module.exports, \"MapInspectorV2\", () => $0bad82db04876d25$export$eab3034e57b46e26);\n$parcel$export(module.exports, \"DevMapPage\", () => $0bad82db04876d25$export$2391061fbdfb71ef);\n// Import other components\n\n\n\n\n\n\nvar $2mAQJ = parcelRequire(\"2mAQJ\");\n\nvar $lw3Ik = parcelRequire(\"lw3Ik\");\n\nvar $d7LVS = parcelRequire(\"d7LVS\");\n\nvar $7CmOU = parcelRequire(\"7CmOU\");\n\nvar $6t6Bb = parcelRequire(\"6t6Bb\");\n\nvar $3wYIs = parcelRequire(\"3wYIs\");\n\nvar $7gWgo = parcelRequire(\"7gWgo\");\n\nvar $2DICz = parcelRequire(\"2DICz\");\n\nvar $gnyJS = parcelRequire(\"gnyJS\");\nconst $0bad82db04876d25$export$dda1d9f60106f0e9 = (0, ($parcel$interopDefault($8RvAA$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($7gWgo))));\nfunction $0bad82db04876d25$export$eab3034e57b46e26({ title: title = \"Map inspector\", headerElement: headerElement = null, transformRequest: transformRequest = null, mapPosition: mapPosition = null, mapboxToken: mapboxToken = null, overlayStyle: overlayStyle = null, controls: controls = null, children: children = null, style: style, bounds: bounds = null, focusedSource: focusedSource = null, focusedSourceTitle: focusedSourceTitle = null, fitViewport: fitViewport = true, styleType: styleType = \"macrostrat\" }) {\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 */ const dark = (0, $8RvAA$macrostratuicomponents.useDarkMode)();\n const isEnabled = dark?.isEnabled;\n if (mapboxToken != null) (0, ($parcel$interopDefault($8RvAA$mapboxgl))).accessToken = mapboxToken;\n style ?? (style = (0, $7CmOU.useBasicMapStyle)({\n styleType: styleType\n }));\n const [isOpen, setOpen] = (0, $8RvAA$react.useState)(false);\n const [state, setState] = (0, $8RvAA$macrostratuicomponents.useStoredState)(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false\n });\n const { showTileExtent: showTileExtent, xRay: xRay } = state;\n const [actualStyle, setActualStyle] = (0, $8RvAA$react.useState)(null);\n (0, $8RvAA$react.useEffect)(()=>{\n (0, $2mAQJ.buildInspectorStyle)(style, overlayStyle, {\n mapboxToken: mapboxToken,\n inDarkMode: isEnabled,\n xRay: xRay\n }).then(setActualStyle);\n }, [\n style,\n xRay,\n mapboxToken,\n isEnabled,\n overlayStyle\n ]);\n const [inspectPosition, setInspectPosition] = (0, $8RvAA$react.useState)(null);\n const [data, setData] = (0, $8RvAA$react.useState)(null);\n const onSelectPosition = (0, $8RvAA$react.useCallback)((position)=>{\n setInspectPosition(position);\n }, []);\n let detailElement = null;\n if (inspectPosition != null) detailElement = $0bad82db04876d25$export$dda1d9f60106f0e9((0, $6t6Bb.LocationPanel), {\n onClose () {\n setInspectPosition(null);\n },\n position: inspectPosition\n }, [\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.TileInfo), {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent () {\n setState({\n ...state,\n showTileExtent: !showTileExtent\n });\n }\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.FeaturePanel), {\n features: data,\n focusedSource: focusedSource,\n focusedSourceTitle: focusedSourceTitle\n })\n ]);\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = {\n x: f._x,\n y: f._y,\n z: f._z\n };\n }\n return $0bad82db04876d25$export$dda1d9f60106f0e9((0, $lw3Ik.MapAreaContainer), {\n navbar: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $d7LVS.FloatingNavbar), {\n rightElement: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $d7LVS.MapLoadingButton), {\n large: true,\n active: isOpen,\n onClick: ()=>setOpen(!isOpen),\n style: {\n marginRight: \"-5px\"\n }\n }),\n headerElement: headerElement,\n title: title\n }),\n contextPanel: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $lw3Ik.PanelCard), [\n controls,\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $8RvAA$blueprintjscore.Switch), {\n checked: xRay,\n label: \"X-ray mode\",\n onChange () {\n setState({\n ...state,\n xRay: !xRay\n });\n }\n })\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport: fitViewport\n }, $0bad82db04876d25$export$dda1d9f60106f0e9((0, $3wYIs.MapView), {\n style: actualStyle,\n transformRequest: transformRequest,\n mapPosition: mapPosition,\n projection: {\n name: \"globe\"\n },\n mapboxToken: mapboxToken,\n bounds: bounds\n }, [\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.FeatureSelectionHandler), {\n selectedLocation: inspectPosition,\n setFeatures: setData\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $7CmOU.MapMarker), {\n position: inspectPosition,\n setPosition: onSelectPosition\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $2DICz.TileExtentLayer), {\n tile: tile,\n color: isEnabled ? \"white\" : \"black\"\n }),\n children\n ]));\n}\nfunction $0bad82db04876d25$var$MapInspector(props) {\n const { children: children, controls: controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */ // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n return $0bad82db04876d25$export$dda1d9f60106f0e9($0bad82db04876d25$export$eab3034e57b46e26, {\n ...rest,\n controls: [\n children,\n controls\n ]\n });\n}\nconst $0bad82db04876d25$export$2391061fbdfb71ef = $0bad82db04876d25$var$MapInspector;\n\n\n//# sourceMappingURL=map-interface.02dd6884.js.map\n","// Import other components\nimport { Switch } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport { Spacer, useDarkMode, useStoredState } from \"@macrostrat/ui-components\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { buildInspectorStyle } from \"./xray\";\nimport { MapAreaContainer, PanelCard } from \"../container\";\nimport { FloatingNavbar, MapLoadingButton } from \"../context-panel\";\nimport { MapMarker, useBasicMapStyle } from \"../helpers\";\nimport { LocationPanel } from \"../location-panel\";\nimport { MapView } from \"../map-view\";\nimport styles from \"./main.module.sass\";\nimport { TileExtentLayer } from \"./tile-extent\";\nimport {\n FeaturePanel,\n FeatureSelectionHandler,\n TileInfo,\n} from \"./vector-tile-features\";\nimport { MapPosition } from \"@macrostrat/mapbox-utils\";\n\nexport const h = hyper.styled(styles);\n\nexport function MapInspectorV2({\n title = \"Map inspector\",\n headerElement = null,\n transformRequest = null,\n mapPosition = null,\n mapboxToken = null,\n overlayStyle = null,\n controls = null,\n children = null,\n style,\n bounds = null,\n focusedSource = null,\n focusedSourceTitle = null,\n fitViewport = true,\n styleType = \"macrostrat\",\n}: {\n headerElement?: React.ReactNode;\n transformRequest?: mapboxgl.TransformRequestFunction;\n title?: string;\n style?: mapboxgl.Style | string;\n controls?: React.ReactNode;\n children?: React.ReactNode;\n mapboxToken?: string;\n overlayStyle?: mapboxgl.Style | string;\n focusedSource?: string;\n focusedSourceTitle?: string;\n projection?: string;\n mapPosition?: MapPosition;\n bounds?: [number, number, number, number];\n fitViewport?: boolean;\n styleType?: \"standard\" | \"macrostrat\";\n}) {\n /* We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n */\n\n const dark = useDarkMode();\n const isEnabled = dark?.isEnabled;\n\n if (mapboxToken != null) {\n mapboxgl.accessToken = mapboxToken;\n }\n\n style ??= useBasicMapStyle({ styleType });\n\n const [isOpen, setOpen] = useState(false);\n\n const [state, setState] = useStoredState(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false,\n });\n const { showTileExtent, xRay } = state;\n\n const [actualStyle, setActualStyle] = useState(null);\n\n useEffect(() => {\n buildInspectorStyle(style, overlayStyle, {\n mapboxToken,\n inDarkMode: isEnabled,\n xRay,\n }).then(setActualStyle);\n }, [style, xRay, mapboxToken, isEnabled, overlayStyle]);\n\n const [inspectPosition, setInspectPosition] =\n useState<mapboxgl.LngLat | null>(null);\n\n const [data, setData] = useState(null);\n\n const onSelectPosition = useCallback((position: mapboxgl.LngLat) => {\n setInspectPosition(position);\n }, []);\n\n let detailElement = null;\n if (inspectPosition != null) {\n detailElement = h(\n LocationPanel,\n {\n onClose() {\n setInspectPosition(null);\n },\n position: inspectPosition,\n },\n [\n h(TileInfo, {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent() {\n setState({ ...state, showTileExtent: !showTileExtent });\n },\n }),\n h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),\n ],\n );\n }\n\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = { x: f._x, y: f._y, z: f._z };\n }\n\n return h(\n MapAreaContainer,\n {\n navbar: h(FloatingNavbar, {\n rightElement: h(MapLoadingButton, {\n large: true,\n active: isOpen,\n onClick: () => setOpen(!isOpen),\n style: {\n marginRight: \"-5px\",\n },\n }),\n headerElement,\n title,\n }),\n contextPanel: h(PanelCard, [\n controls,\n h(Switch, {\n checked: xRay,\n label: \"X-ray mode\",\n onChange() {\n setState({ ...state, xRay: !xRay });\n },\n }),\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport,\n },\n h(\n MapView,\n {\n style: actualStyle,\n transformRequest,\n mapPosition,\n projection: { name: \"globe\" },\n mapboxToken,\n bounds,\n },\n [\n h(FeatureSelectionHandler, {\n selectedLocation: inspectPosition,\n setFeatures: setData,\n }),\n h(MapMarker, {\n position: inspectPosition,\n setPosition: onSelectPosition,\n }),\n h(TileExtentLayer, { tile, color: isEnabled ? \"white\" : \"black\" }),\n children,\n ],\n ),\n );\n}\n\nfunction MapInspector(props) {\n const { children, controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */\n // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n\n return h(MapInspectorV2, {\n ...rest,\n controls: [children, controls],\n });\n}\n\n// Legacy export\nexport const DevMapPage = MapInspector;\n"],"names":["require","$8RvAA$blueprintjscore","$8RvAA$macrostrathyper","$8RvAA$macrostratuicomponents","$8RvAA$mapboxgl","$8RvAA$react","$parcel$interopDefault","a","__esModule","default","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$0bad82db04876d25$export$dda1d9f60106f0e9","$0bad82db04876d25$export$eab3034e57b46e26","$0bad82db04876d25$export$2391061fbdfb71ef","$2mAQJ","$lw3Ik","$d7LVS","$7CmOU","$6t6Bb","$3wYIs","$7gWgo","$2DICz","$gnyJS","styled","title","headerElement","transformRequest","mapPosition","mapboxToken","overlayStyle","controls","children","style","bounds","focusedSource","focusedSourceTitle","fitViewport","styleType","dark","useDarkMode","isEnabled","accessToken","useBasicMapStyle","isOpen","setOpen","useState","state","setState","useStoredState","showTileExtent","xRay","actualStyle","setActualStyle","useEffect","buildInspectorStyle","inDarkMode","then","inspectPosition","setInspectPosition","data","setData","onSelectPosition","useCallback","position","detailElement","LocationPanel","onClose","TileInfo","feature","showExtent","setShowExtent","FeaturePanel","features","tile","f","x","_x","y","_y","z","_z","MapAreaContainer","navbar","FloatingNavbar","rightElement","MapLoadingButton","large","active","onClick","marginRight","contextPanel","PanelCard","Switch","checked","label","onChange","detailPanel","contextPanelOpen","MapView","projection","name","FeatureSelectionHandler","selectedLocation","setFeatures","MapMarker","setPosition","TileExtentLayer","color","$0bad82db04876d25$var$MapInspector","props","rest","console","warn"],"version":3,"file":"map-interface.02dd6884.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
1
  .panel-subhead_1340c8{border:1px solid var(--panel-rule-color);border-bottom:1px solid var(--panel-rule-color);background-color:var(--accent-color);z-index:1;align-items:center;gap:var(--panel-header-gap,.5rem);min-height:var(--panel-header-height,40px);flex-direction:row;padding:0 1rem;display:flex;position:sticky;top:-1px}.panel-subhead_1340c8 h1,.panel-subhead_1340c8 h2,.panel-subhead_1340c8 h3,.panel-subhead_1340c8 h4{margin:0;font-family:Montserrat,sans-serif;font-weight:700}.panel-subhead_1340c8 h4{font-weight:600}.panel-subhead_1340c8 .title_1340c8{flex-grow:1}.panel-subhead_1340c8 .expansion-panel-icon_1340c8{margin-right:-.35em}.info-panel-section_1340c8>.panel-subhead_1340c8{margin:-1px calc(var(--panel-padding-h)*-1)0}.expansion-panel_1340c8{flex-wrap:wrap;margin-top:-1px;padding:0}.sub-expansion-panel_1340c8{margin:-1px calc(var(--panel-padding-h)*-.5)0;overflow:hidden}.sub-expansion-panel_1340c8:first-child .expansion-panel-header_1340c8{border-top-width:0}.sub-expansion-panel_1340c8 .panel-subhead_1340c8{border-top:none;border-bottom:none}.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8{background-color:var(--accent-secondary-color);cursor:pointer;padding:0 1rem}.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8:hover{background-color:var(--accent-secondary-hover-color)}.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h2,.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h3,.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h4{border-bottom:1px solid var(--tertiary-border-color);border-top:1px solid var(--tertiary-border-color);align-items:center;font-weight:500}.expansion-summary-title-help_1340c8,.expansion-summary-title-help_1340c8 .bp5-icon{margin-left:5px}.expansion-panel-header_1340c8{cursor:pointer}.expansion-panel-header_1340c8:hover{background-color:var(--accent-hover-color)}.expansion-panel-header_1340c8 .bp5-icon{transform:translateY(3px)}.expansion-children_1340c8{padding:0 1rem}.expansion-children_1340c8 .expansion-panel_1340c8{margin-left:-1rem;margin-right:-1rem}.expansion-children_1340c8 .expansion-panel_1340c8:first-child{margin-top:0}.expansion-children_1340c8>:first-child{margin-top:1rem}.expansion-children_1340c8>:last-child{margin-bottom:1rem}.expansion-panel-subtext_1340c8{font-size:85%;font-weight:400}.expansion-panel-root{padding-left:15px!important}.expansion-panel-detail{padding:0!important;display:block!important}.expansion-panel-detail-sub{display:block!important}.expandable-details-main_1340c8{flex-direction:row;justify-content:space-between;align-items:center;margin:3px 0;display:flex}.expandable-details-header_1340c8{flex-direction:row;flex-grow:1;align-items:baseline;display:inline-flex}.expandable-details-children_1340c8{position:relative}.expandable-details-toggle_1340c8 .bp5-button{font-size:10px}.expandable-details_1340c8.macrostrat-unit_1340c8 .title_1340c8:after{content:none}.expandable-details_1340c8 .title_1340c8{margin-right:1em}.expandable-details_1340c8 .title_1340c8:after{content:":"}.expansion-body_1340c8{background-color:var(--tertiary-background);border-radius:4px;align-items:baseline;width:100%;margin-bottom:6px;padding:2px 6px;display:inline-block;box-shadow:0 1px 2px 1px #0003}.expansion-panel-detail-header_1340c8{color:var(--secondary-color);margin-right:1em;font-size:90%;font-style:italic;display:inline}.expansion-panel-detail-header_1340c8:after{content:":"}.expansion-panel-detail-body_1340c8{display:inline}
2
- /*# sourceMappingURL=main.module.2d51c752.css.map */
2
+ /*# sourceMappingURL=map-interface.07882229.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"ACCA,sUAaE,+JAIA,yCAEA,gDAGA,uE,8F,iEAaA,0FAMA,0FAGE,qFAGA,wIAKA,sHAGA,oUAKE,oG,8C,gFASJ,mEAEE,0CAEA,wFAGF,4EAEE,wDAEA,0DAEF,8DAGE,kDAIJ,oE,oD,8H,0GAoBE,sD,6DAKA,mF,0DAKA,2DAGA,2MASE,mIAOF,wDAGA","sources":["map-interface.07882229.css","packages/map-interface/src/expansion-panel/main.module.sass"],"sourcesContent":[".panel-subhead_1340c8 {\n border: 1px solid var(--panel-rule-color);\n border-bottom: 1px solid var(--panel-rule-color);\n background-color: var(--accent-color);\n z-index: 1;\n align-items: center;\n gap: var(--panel-header-gap, .5rem);\n min-height: var(--panel-header-height, 40px);\n flex-direction: row;\n padding: 0 1rem;\n display: flex;\n position: sticky;\n top: -1px;\n}\n\n.panel-subhead_1340c8 h1, .panel-subhead_1340c8 h2, .panel-subhead_1340c8 h3, .panel-subhead_1340c8 h4 {\n margin: 0;\n font-family: Montserrat, sans-serif;\n font-weight: 700;\n}\n\n.panel-subhead_1340c8 h4 {\n font-weight: 600;\n}\n\n.panel-subhead_1340c8 .title_1340c8 {\n flex-grow: 1;\n}\n\n.panel-subhead_1340c8 .expansion-panel-icon_1340c8 {\n margin-right: -.35em;\n}\n\n.info-panel-section_1340c8 > .panel-subhead_1340c8 {\n margin: -1px calc(var(--panel-padding-h) * -1) 0;\n}\n\n.expansion-panel_1340c8 {\n flex-wrap: wrap;\n margin-top: -1px;\n padding: 0;\n}\n\n.sub-expansion-panel_1340c8 {\n margin: -1px calc(var(--panel-padding-h) * -.5) 0;\n overflow: hidden;\n}\n\n.sub-expansion-panel_1340c8:first-child .expansion-panel-header_1340c8 {\n border-top-width: 0;\n}\n\n.sub-expansion-panel_1340c8 .panel-subhead_1340c8 {\n border-top: none;\n border-bottom: none;\n}\n\n.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 {\n background-color: var(--accent-secondary-color);\n cursor: pointer;\n padding: 0 1rem;\n}\n\n.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8:hover {\n background-color: var(--accent-secondary-hover-color);\n}\n\n.sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h2, .sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h3, .sub-expansion-panel_1340c8 .expansion-panel-header_1340c8 h4 {\n border-bottom: 1px solid var(--tertiary-border-color);\n border-top: 1px solid var(--tertiary-border-color);\n align-items: center;\n font-weight: 500;\n}\n\n.expansion-summary-title-help_1340c8, .expansion-summary-title-help_1340c8 .bp5-icon {\n margin-left: 5px;\n}\n\n.expansion-panel-header_1340c8 {\n cursor: pointer;\n}\n\n.expansion-panel-header_1340c8:hover {\n background-color: var(--accent-hover-color);\n}\n\n.expansion-panel-header_1340c8 .bp5-icon {\n transform: translate(0, 3px);\n}\n\n.expansion-children_1340c8 {\n padding: 0 1rem;\n}\n\n.expansion-children_1340c8 .expansion-panel_1340c8 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n\n.expansion-children_1340c8 .expansion-panel_1340c8:first-child {\n margin-top: 0;\n}\n\n.expansion-children_1340c8 > :first-child {\n margin-top: 1rem;\n}\n\n.expansion-children_1340c8 > :last-child {\n margin-bottom: 1rem;\n}\n\n.expansion-panel-subtext_1340c8 {\n font-size: 85%;\n font-weight: 400;\n}\n\n.expansion-panel-root {\n padding-left: 15px !important;\n}\n\n.expansion-panel-detail {\n padding: 0 !important;\n display: block !important;\n}\n\n.expansion-panel-detail-sub {\n display: block !important;\n}\n\n.expandable-details-main_1340c8 {\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin: 3px 0;\n display: flex;\n}\n\n.expandable-details-header_1340c8 {\n flex-direction: row;\n flex-grow: 1;\n align-items: baseline;\n display: inline-flex;\n}\n\n.expandable-details-children_1340c8 {\n position: relative;\n}\n\n.expandable-details-toggle_1340c8 .bp5-button {\n font-size: 10px;\n}\n\n.expandable-details_1340c8.macrostrat-unit_1340c8 .title_1340c8:after {\n content: none;\n}\n\n.expandable-details_1340c8 .title_1340c8 {\n margin-right: 1em;\n}\n\n.expandable-details_1340c8 .title_1340c8:after {\n content: \":\";\n}\n\n.expansion-body_1340c8 {\n background-color: var(--tertiary-background);\n border-radius: 4px;\n align-items: baseline;\n width: 100%;\n margin-bottom: 6px;\n padding: 2px 6px;\n display: inline-block;\n box-shadow: 0 1px 2px 1px #0003;\n}\n\n.expansion-panel-detail-header_1340c8 {\n color: var(--secondary-color);\n margin-right: 1em;\n font-size: 90%;\n font-style: italic;\n display: inline;\n}\n\n.expansion-panel-detail-header_1340c8:after {\n content: \":\";\n}\n\n.expansion-panel-detail-body_1340c8 {\n display: inline;\n}\n/*# sourceMappingURL=map-interface.07882229.css.map */\n","\n.panel-subhead\n padding: 0 1rem\n border: 1px solid var(--panel-rule-color)\n border-bottom: 1px solid var(--panel-rule-color)\n background-color: var(--accent-color)\n display: flex\n flex-direction: row\n align-items: center\n z-index: 1\n gap: var(--panel-header-gap, 0.5rem)\n top: -1px\n position: sticky\n min-height: var(--panel-header-height, 40px)\n h1, h2, h3, h4\n font-family: Montserrat,sans-serif\n font-weight: 700\n margin: 0\n h4\n font-weight: 600\n .title\n flex-grow: 1\n\n .expansion-panel-icon\n margin-right: -0.35em\n\n// :global(.bp5-dark) .panel-subhead\n// margin 0 1px\n\n.info-panel-section\n &>.panel-subhead\n margin: -1px calc(var(--panel-padding-h) * -1) 0\n\n.expansion-panel\n padding: 0\n flex-wrap: wrap\n margin-top: -1px\n // &.collapsed\n // .expansion-panel-header\n // border-bottom-width: 0;\n\n.sub-expansion-panel\n margin: -1px calc(var(--panel-padding-h) * -0.5) 0\n overflow: hidden\n &:first-child\n .expansion-panel-header\n border-top-width: 0\n .panel-subhead\n border-top: none\n border-bottom: none\n\n .expansion-panel-header\n background-color: var(--accent-secondary-color)\n cursor: pointer\n padding: 0 1rem\n\n &:hover\n background-color: var(--accent-secondary-hover-color)\n h2, h3, h4\n font-weight: 500\n border-bottom: 1px solid var(--tertiary-border-color)\n border-top: 1px solid var(--tertiary-border-color)\n align-items: center\n\n.expansion-summary-title-help\n margin-left: 5px\n :global(.bp5-icon)\n margin-left: 5px\n\n.expansion-panel-header\n cursor: pointer\n &:hover\n background-color: var(--accent-hover-color)\n :global(.bp5-icon)\n transform: translate(0,3px)\n\n.expansion-children\n padding: 0 1rem\n .expansion-panel\n margin-left: -1rem\n margin-right: -1rem\n &:first-child\n margin-top: 0\n &>:first-child\n margin-top: 1rem\n &>:last-child\n margin-bottom: 1rem\n\n\n\n.expansion-panel-subtext\n font-size: 85%\n font-weight: 400\n\n:global\n .expansion-panel-root\n padding-left: 15px !important\n\n .expansion-panel-detail\n display: block !important\n padding: 0 !important\n\n .expansion-panel-detail-sub\n display: block !important\n\n// New expandable panel for details\n.expandable-details-main\n display: flex\n flex-direction: row\n align-items: center\n justify-content: space-between\n margin: 3px 0\n\n.expandable-details-header\n display: inline-flex\n flex-direction: row\n align-items: baseline\n flex-grow: 1\n\n.expandable-details-children\n position: relative\n\n.expandable-details-toggle\n :global(.bp5-button)\n font-size: 10px\n\n.expandable-details\n &.macrostrat-unit\n .title:after\n content: none\n .title\n margin-right: 1em\n &:after\n content: \":\"\n\n.expansion-body\n display: inline-block\n //flex-direction row\n align-items: baseline\n background-color: var(--tertiary-background)\n padding: 2px 6px\n border-radius: 4px\n width: 100%\n box-shadow: 0px 1px 2px 1px rgba(0,0,0,0.2)\n margin-bottom: 6px\n\n.expansion-panel-detail-header\n font-size: 90%\n font-style: italic\n margin-right: 1em\n display: inline\n color: var(--secondary-color)\n &:after\n content: \":\"\n\n.expansion-panel-detail-body\n display: inline\n"],"names":[],"version":3,"file":"map-interface.07882229.css.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ require("./map-interface.47b81f95.js"),require("./map-interface.722387fb.js");var $i8XZZ$react=require("react"),$i8XZZ$blueprintjscore=require("@blueprintjs/core"),$i8XZZ$macrostrathyper=require("@macrostrat/hyper"),$i8XZZ$classnames=require("classnames");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,a,r,$){Object.defineProperty(e,a,{get:r,set:$,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var a=$parcel$inits[e];delete $parcel$inits[e];var r={id:e,exports:{}};return $parcel$modules[e]=r,a.call(r.exports,r,r.exports),r.exports}var $=Error("Cannot find module '"+e+"'");throw $.code="MODULE_NOT_FOUND",$}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"ExpansionPanelSummary",()=>$15797e7a878e886f$export$cea00a9d724d5a32),$parcel$export(module.exports,"InfoPanelSection",()=>$15797e7a878e886f$export$39c134eb0b07cf0e),$parcel$export(module.exports,"ExpansionPanel",()=>$15797e7a878e886f$export$40e646e38e6ed100),$parcel$export(module.exports,"SubExpansionPanel",()=>$15797e7a878e886f$export$d7160281aff7c3b8),$parcel$export(module.exports,"ExpandableDetailsPanel",()=>$15797e7a878e886f$export$44ad9ff780615135),$parcel$export(module.exports,"ExpansionBody",()=>$15797e7a878e886f$export$263416b670b3f129),$parcel$export(module.exports,"PanelSubhead",()=>parcelRequire("03Ypm").PanelSubhead);var $cqd1X=parcelRequire("cqd1X"),$03Ypm=parcelRequire("03Ypm");let $15797e7a878e886f$var$h=$parcel$interopDefault($i8XZZ$macrostrathyper).styled($parcel$interopDefault($cqd1X));function $15797e7a878e886f$export$cea00a9d724d5a32(e){let{expanded:a,children:r,onChange:$,className:n,title:l,titleComponent:t}=e;return $15797e7a878e886f$var$h($03Ypm.PanelSubhead,{className:$parcel$interopDefault($i8XZZ$classnames)("expansion-panel-header",n),onClick:$,title:l,component:t},[r,$15797e7a878e886f$var$h($i8XZZ$blueprintjscore.Icon,{icon:a?"chevron-up":"chevron-down",className:"expansion-panel-icon"})])}function $15797e7a878e886f$var$ExpansionPanelBase(e){let{title:a,titleComponent:r="h3",children:$,expanded:n,helpText:l,onChange:t=()=>{},sideComponent:i=null,className:p}=e,[o,s]=(0,$i8XZZ$react.useState)(n||!1);return $15797e7a878e886f$var$h("div.expansion-panel-base",{className:$parcel$interopDefault($i8XZZ$classnames)(p,{expanded:o,collapsed:!o})},[$15797e7a878e886f$var$h($15797e7a878e886f$export$cea00a9d724d5a32,{onChange:()=>{t(),s(!o)},expanded:o,title:a,titleComponent:r},$15797e7a878e886f$var$h("div.expansion-summary-title-help",[$15797e7a878e886f$var$h("span.expansion-panel-subtext",l)," ",i])),$15797e7a878e886f$var$h($i8XZZ$blueprintjscore.Collapse,{isOpen:o},$15797e7a878e886f$var$h("div.expansion-children",null,$))])}function $15797e7a878e886f$export$39c134eb0b07cf0e(e){let{title:a,children:r,className:$,headerElement:n=null}=e;return $15797e7a878e886f$var$h("div.info-panel-section",{className:$},[$15797e7a878e886f$var$h("div.panel-subhead",null,n??$15797e7a878e886f$var$h("h3",a)),$15797e7a878e886f$var$h("div.panel-content",null,r)])}function $15797e7a878e886f$export$40e646e38e6ed100(e){return $15797e7a878e886f$var$h($15797e7a878e886f$var$ExpansionPanelBase,{...e,className:"expansion-panel"})}function $15797e7a878e886f$export$d7160281aff7c3b8(e){return $15797e7a878e886f$var$h($15797e7a878e886f$var$ExpansionPanelBase,{...e,className:"expansion-panel sub-expansion-panel",titleComponent:"h4"})}function $15797e7a878e886f$export$44ad9ff780615135(e){let{title:a,children:r,value:$,headerElement:n,className:l}=e,[t,i]=(0,$i8XZZ$react.useState)(!1);return n??(n=$15797e7a878e886f$var$h([$15797e7a878e886f$var$h("div.title",a),$])),$15797e7a878e886f$var$h("div.expandable-details",{className:l},[$15797e7a878e886f$var$h("div.expandable-details-main",[$15797e7a878e886f$var$h("div.expandable-details-header",n),$15797e7a878e886f$var$h("div.expandable-details-toggle",[$15797e7a878e886f$var$h($i8XZZ$blueprintjscore.Button,{small:!0,minimal:!0,active:t,onClick:()=>i(!t),icon:"more"})])]),$15797e7a878e886f$var$h($i8XZZ$blueprintjscore.Collapse,{isOpen:t},$15797e7a878e886f$var$h("div.expandable-details-children",null,r))])}function $15797e7a878e886f$export$263416b670b3f129({title:e,className:a,children:r}){return $15797e7a878e886f$var$h("div.expansion-body",{className:a},[$15797e7a878e886f$var$h("div.expansion-panel-detail-header",e),$15797e7a878e886f$var$h("div.expansion-panel-detail-body",null,r)])}
2
+ //# sourceMappingURL=map-interface.10f5ef81.js.map