@macrostrat/map-interface 1.3.0 → 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 (242) hide show
  1. package/CHANGELOG.md +4 -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.3c65558b.js → map-interface.17e81e8a.js} +11 -11
  8. package/dist/cjs/{map-page.3c65558b.js.map → map-interface.17e81e8a.js.map} +1 -1
  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.356d9f4c.js → map-interface.1d19056e.js} +4 -4
  12. package/dist/cjs/{header.356d9f4c.js.map → map-interface.1d19056e.js.map} +1 -1
  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.c5a55484.js → map-interface.3934d6d6.js} +5 -5
  20. package/dist/cjs/{location-panel.c5a55484.js.map → map-interface.3934d6d6.js.map} +1 -1
  21. package/dist/cjs/{main.module.16d04f5b.css → map-interface.4a401c1f.css} +1 -1
  22. package/dist/cjs/{main.module.16d04f5b.css.map → map-interface.4a401c1f.css.map} +1 -1
  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.5a745a3a.js → map-interface.5813e876.js} +2 -2
  26. package/dist/cjs/map-interface.5813e876.js.map +1 -0
  27. package/dist/cjs/{dev.079a11ee.js → map-interface.5cea0ff4.js} +5 -5
  28. package/dist/cjs/{dev.079a11ee.js.map → map-interface.5cea0ff4.js.map} +1 -1
  29. package/dist/cjs/{location-info.99003993.js → map-interface.64823b7c.js} +3 -3
  30. package/dist/cjs/{location-info.99003993.js.map → map-interface.64823b7c.js.map} +1 -1
  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.9d7ddc44.js → map-interface.99a048dc.js} +3 -3
  38. package/dist/cjs/{controls.9d7ddc44.js.map → map-interface.99a048dc.js.map} +1 -1
  39. package/dist/cjs/{main.module.e392b038.js → map-interface.a9fe0f5d.js} +1 -1
  40. package/dist/cjs/{main.module.e392b038.js.map → map-interface.a9fe0f5d.js.map} +1 -1
  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.fc5b1a23.js → map-interface.bda26b27.js} +4 -4
  48. package/dist/cjs/{container.fc5b1a23.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.e031052e.js → map-interface.e7194f92.js} +7 -5
  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 +43 -28
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +10 -10
  62. package/dist/esm/{map-page.660a1723.js → map-interface.00058d23.js} +12 -12
  63. package/dist/esm/{map-page.660a1723.js.map → map-interface.00058d23.js.map} +1 -1
  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.504d756b.js → map-interface.065737fe.js} +1 -1
  67. package/dist/esm/{main.module.504d756b.js.map → map-interface.065737fe.js.map} +1 -1
  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.1c2aa81d.js → map-interface.27587c50.js} +5 -5
  75. package/dist/esm/{container.1c2aa81d.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.3d88888b.js → map-interface.3248abc7.js} +5 -5
  79. package/dist/esm/{dev.3d88888b.js.map → map-interface.3248abc7.js.map} +1 -1
  80. package/dist/esm/{location-info.4b39fdfc.js → map-interface.3ef9d0ae.js} +3 -3
  81. package/dist/esm/{location-info.4b39fdfc.js.map → map-interface.3ef9d0ae.js.map} +1 -1
  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.d32a342a.js → map-interface.45814073.js} +2 -2
  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.8efb9074.js → map-interface.50edfdfd.js} +4 -4
  89. package/dist/esm/{controls.8efb9074.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.d1c5b113.js → map-interface.9ce3d553.js} +8 -6
  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.a3da6906.js → map-interface.e1493866.js} +5 -5
  101. package/dist/esm/{header.a3da6906.js.map → map-interface.e1493866.js.map} +1 -1
  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.c9942d88.js → map-interface.e5349e97.js} +6 -6
  105. package/dist/esm/{location-panel.c9942d88.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/{main.module.91a06e96.css → map-interface.d2fce135.css} +1 -1
  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 +3 -3
  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 +12 -5
  176. package/src/location-info/hash-string.ts +2 -2
  177. package/src/location-panel/header.ts +3 -3
  178. package/src/map-view.ts +5 -3
  179. package/dist/cjs/context-panel.3061a63e.js.map +0 -1
  180. package/dist/cjs/expansion-panel.ef757efe.js.map +0 -1
  181. package/dist/cjs/hash-string.62e84f08.js.map +0 -1
  182. package/dist/cjs/helpers.5a745a3a.js.map +0 -1
  183. package/dist/cjs/map-view.e031052e.js.map +0 -1
  184. package/dist/cjs/vector-tile-features.77121785.js.map +0 -1
  185. package/dist/cjs/xray.a23f8660.js.map +0 -1
  186. package/dist/esm/context-panel.5dae1a8c.js.map +0 -1
  187. package/dist/esm/expansion-panel.465b822f.js.map +0 -1
  188. package/dist/esm/helpers.d32a342a.js.map +0 -1
  189. package/dist/esm/map-view.d1c5b113.js.map +0 -1
  190. package/dist/esm/vector-tile-features.53b48d66.js.map +0 -1
  191. package/dist/esm/xray.c0663c25.js.map +0 -1
  192. package/dist/node/container.ab523076.js +0 -2
  193. package/dist/node/container.ab523076.js.map +0 -1
  194. package/dist/node/context-panel.0ae29ecf.js +0 -2
  195. package/dist/node/context-panel.0ae29ecf.js.map +0 -1
  196. package/dist/node/controls.511f309b.js +0 -2
  197. package/dist/node/controls.511f309b.js.map +0 -1
  198. package/dist/node/dev.709287ba.js +0 -2
  199. package/dist/node/dev.709287ba.js.map +0 -1
  200. package/dist/node/expansion-panel.62240ee3.js +0 -2
  201. package/dist/node/expansion-panel.62240ee3.js.map +0 -1
  202. package/dist/node/hash-string.3fc8ceb0.js +0 -2
  203. package/dist/node/hash-string.3fc8ceb0.js.map +0 -1
  204. package/dist/node/header.98a4cf12.js +0 -2
  205. package/dist/node/header.98a4cf12.js.map +0 -1
  206. package/dist/node/headers.2581f6d9.js +0 -2
  207. package/dist/node/headers.2581f6d9.js.map +0 -1
  208. package/dist/node/helpers.6bda171f.js +0 -2
  209. package/dist/node/helpers.6bda171f.js.map +0 -1
  210. package/dist/node/location-info.db66c3fb.js +0 -2
  211. package/dist/node/location-info.db66c3fb.js.map +0 -1
  212. package/dist/node/location-panel.dd1d2b37.js +0 -2
  213. package/dist/node/location-panel.dd1d2b37.js.map +0 -1
  214. package/dist/node/main.module.29a15f3d.css.map +0 -1
  215. package/dist/node/main.module.2d51c752.css.map +0 -1
  216. package/dist/node/main.module.3943144e.css.map +0 -1
  217. package/dist/node/main.module.3a8fef67.js +0 -2
  218. package/dist/node/main.module.3a8fef67.js.map +0 -1
  219. package/dist/node/main.module.434acaf9.js +0 -2
  220. package/dist/node/main.module.434acaf9.js.map +0 -1
  221. package/dist/node/main.module.5d5ab665.js +0 -2
  222. package/dist/node/main.module.5d5ab665.js.map +0 -1
  223. package/dist/node/main.module.7c928a6f.js +0 -2
  224. package/dist/node/main.module.7c928a6f.js.map +0 -1
  225. package/dist/node/main.module.8a9943af.css.map +0 -1
  226. package/dist/node/main.module.91a06e96.css.map +0 -1
  227. package/dist/node/main.module.e200d631.js +0 -2
  228. package/dist/node/main.module.e200d631.js.map +0 -1
  229. package/dist/node/map-page.a9602658.js +0 -2
  230. package/dist/node/map-page.a9602658.js.map +0 -1
  231. package/dist/node/map-view.663640da.js +0 -2
  232. package/dist/node/map-view.663640da.js.map +0 -1
  233. package/dist/node/tile-extent.28db5d2c.js +0 -2
  234. package/dist/node/tile-extent.28db5d2c.js.map +0 -1
  235. package/dist/node/utils.274d0452.js +0 -2
  236. package/dist/node/utils.274d0452.js.map +0 -1
  237. package/dist/node/utils.dd92f725.js +0 -2
  238. package/dist/node/utils.dd92f725.js.map +0 -1
  239. package/dist/node/vector-tile-features.b5a23b71.js +0 -2
  240. package/dist/node/vector-tile-features.b5a23b71.js.map +0 -1
  241. package/dist/node/xray.bce11e7b.js +0 -2
  242. package/dist/node/xray.bce11e7b.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"mappings":"A,Q,gD,I,6B,Q,4B,a,Q,S,kB,Q,c,yB,Q,uB,6B,Q,4B,8B,Q,6B,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,mB,I,2C,e,O,O,C,oB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,qB,I,2C,e,O,O,C,Y,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,oB,I,2C,I,O,c,SCiBO,SAAS,0CAAiB,CAAA,aAAE,CAAY,CAAE,EAC/C,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,EAAkB,AAAA,CAAA,EAAA,aAAA,MAAK,AAAL,EACtB,AAAA,CAAA,EAAA,kBAAA,QAAO,AAAP,EAAS,KACP,EAAO,OAAO,EAAE,QAClB,EAAG,MAQL,OALA,AAAA,uBAAA,0BAAkB,CAChB,IAAK,EACL,SAAU,EAAgB,OAAO,AACnC,GAEO,IACT,CASO,SAAS,0CAAkB,CAAA,aAChC,CAAY,CAAA,UACZ,CAAS,CAAA,mBACT,CAAkB,CAAA,aAClB,EAAe,GAAA,CACQ,EACvB,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,CAAC,EAAS,EAAW,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAC5B,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,IAGxB,EAAoB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,KAEpC,EADmB,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,GAEjD,EAAG,CAAC,EAAa,OAAO,CAAE,EAAU,OAAO,CAAC,EAEtC,EAAmB,AAAA,CAAA,EAAA,aAAA,OAAM,AAAN,EACvB,IAAM,AAAA,CAAA,EAAA,kBAAA,QAAO,AAAP,EAAS,EAAmB,GAClC,CAAC,EAAmB,EAAa,EAuBnC,MApBA,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KAEG,MADC,EAAO,OAAO,EAG1B,GACF,EAAG,CAAC,EAAO,OAAO,CAAC,EAEnB,AAAA,uBAAA,0BAAkB,CAChB,IAAK,EACL,SAAS,CAAE,EACT,GACF,EACA,MAAA,AAAM,GACG,KAAK,KAAK,CAAC,EAEtB,GAGA,AAAA,CAAA,EAAA,6BAAA,YAAW,AAAX,EAAa,CAAE,OAAQ,EAAoB,QAAA,CAAQ,GAE5C,IACT,CAEO,SAAS,0CAAiB,CAAA,WAAE,EAAa,IAAA,CAAM,EACpD,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IACT,EAAW,AAAA,CAAA,EAAA,6BAAA,cAAa,AAAb,IACX,EAAgB,AAAA,CAAA,EAAA,6BAAA,iBAAgB,AAAhB,IAEhB,EAAmB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,KACnC,IAAM,EAAM,EAAO,OAAO,CAC1B,GAAI,AAAO,MAAP,EAAa,OACjB,IAAM,EAAc,AAAA,CAAA,EAAA,6BAAA,cAAa,AAAb,EAAe,GACnC,EAAS,CAAE,KAAM,YAAa,QAAS,CAAY,GACnD,IAAa,EAAa,EAC5B,EAAG,CAAC,EAAY,EAAU,EAAc,EAexC,MAbA,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KAGR,IAAM,EAAM,EAAO,OAAO,CAC1B,GAAI,AAAO,MAAP,EAAa,OAEjB,IACA,IAAM,EAAK,AAAA,CAAA,EAAA,kBAAA,QAAO,AAAP,EAAS,EAAkB,KAEtC,OADA,EAAI,EAAE,CAAC,UAAW,GACX,KACL,GAAK,IAAI,UAAW,EACtB,CACF,EAAG,CAAC,EAAiB,EACd,IACT,CASO,SAAS,0CAAmB,CAAA,eACjC,CAAc,CAAA,aACd,EAAe,IAAA,CAAA,UACf,EAAY,IAAA,CAAA,aACZ,CAAY,CACY,EACxB,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IACT,EAAa,AAAA,CAAA,EAAA,aAAA,MAAK,AAAL,EAAO,CAAA,GACpB,EAAW,AAAA,CAAA,EAAA,6BAAA,cAAa,AAAb,IACX,EAAgB,AAAA,CAAA,EAAA,6BAAA,iBAAgB,AAAhB,IA8BtB,MA5BA,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KACR,IAAM,EAAM,EAAO,OAAO,CACpB,EAAe,EAAW,OAAO,CACvC,GAAI,AAAO,MAAP,EAAa,OAEjB,IAAI,EAAiB,CAAA,EAEf,EAAkB,AAAC,IACnB,EAAe,QAAQ,CAAC,EAAI,QAAQ,GAAK,GACzC,IACJ,IAAe,GACf,EAAS,CAAE,KAAM,cAAe,QAAS,CAAA,CAAK,GAC9C,EAAW,OAAO,CAAG,CAAA,EACrB,EAAiB,CAAA,EACnB,EACM,EAAe,AAAC,IACf,IACL,EAAS,CAAE,KAAM,cAAe,QAAS,CAAA,CAAM,GAC/C,EAAW,OAAO,CAAG,CAAA,EACrB,IAAY,GACd,EAGA,OAFA,EAAI,EAAE,CAAC,oBAAqB,GAC5B,EAAI,EAAE,CAAC,OAAQ,GACR,KACL,GAAK,IAAI,oBAAqB,GAC9B,GAAK,IAAI,OAAQ,EACnB,CACF,EAAG,CAAC,EAAgB,EAAc,EAAc,EACzC,IACT,CAEO,SAAS,0CAAU,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,EACtE,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IACT,EAAY,AAAA,CAAA,EAAA,aAAA,MAAK,AAAL,EAAO,MACnB,EAAgB,AAAA,CAAA,EAAA,6BAAA,iBAAgB,AAAhB,IAuBtB,MArBA,AAAA,CAAA,EAAA,OAAA,YAAW,AAAX,EAAa,EAAQ,EAAW,GAEhC,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KACR,IAAM,EAAM,EAAO,OAAO,CAC1B,GAAI,AAAO,MAAP,GAAe,AAAe,MAAf,EAAqB,OAExC,IAAM,EAAiB,AAAC,IACtB,EAAY,EAAM,MAAM,CAAE,EAAO,EAAO,OAAO,EAE3C,GACF,EAAO,OAAO,EAAE,MAAM,CAAE,OAAQ,EAAM,MAAM,CAAE,SAAU,GAAI,EAEhE,EAIA,OAFA,EAAI,EAAE,CAAC,QAAS,GAET,KACL,GAAK,IAAI,QAAS,EACpB,CACF,EAAG,CAAC,EAAa,EAAc,EAExB,IACT,CAEO,SAAS,0CACd,EAEI,CAAC,CAAC,EAEN,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EAChB,EAAa,AAAA,CAAA,EAAA,8BAAA,aAAY,AAAZ,IAMnB,OAAO,0CAJO,AAAA,CAAA,EAAA,aAAA,OAAM,AAAN,EAAQ,IACb,CAAA,CAAE,UAAA,EAAW,WAAA,CAAW,CAAA,EAC9B,CAAC,EAAW,EAAW,EAG5B,CAEO,SAAS,0CAAiB,CAGhC,EACC,GAAM,CAAA,UAAE,EAAY,YAAA,CAAA,WAAc,EAAa,CAAA,CAAA,CAAO,CAAG,GAAQ,CAAC,QAElE,AAAI,AAAa,cAAb,EACK,EACH,sEACA,sEAEG,EACH,kCACA,kCAER,CAEO,IAAM,0CAAoB","sources":["<anon>","packages/map-interface/src/helpers.ts"],"sourcesContent":["require(\"./map-interface.713361a4.js\");\nvar $2crMj$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $2crMj$react = require(\"react\");\nvar $2crMj$underscore = require(\"underscore\");\nvar $2crMj$useresizeobserver = require(\"use-resize-observer\");\nvar $2crMj$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\nvar $2crMj$macrostratuicomponents = require(\"@macrostrat/ui-components\");\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, \"MapResizeManager\", () => $f6c715b8ad8cb91a$export$31b2e088aff2dc5d);\n$parcel$export(module.exports, \"MapPaddingManager\", () => $f6c715b8ad8cb91a$export$2ab96428dea558d6);\n$parcel$export(module.exports, \"MapMovedReporter\", () => $f6c715b8ad8cb91a$export$f6eeee399afc4e9a);\n$parcel$export(module.exports, \"MapLoadingReporter\", () => $f6c715b8ad8cb91a$export$e57f9eaa51773f82);\n$parcel$export(module.exports, \"MapMarker\", () => $f6c715b8ad8cb91a$export$5c90a91c7455938c);\n$parcel$export(module.exports, \"useBasicMapStyle\", () => $f6c715b8ad8cb91a$export$6daf1520df36ae21);\n$parcel$export(module.exports, \"getBasicMapStyle\", () => $f6c715b8ad8cb91a$export$3503bf0b3851527b);\n$parcel$export(module.exports, \"useBasicStylePair\", () => $f6c715b8ad8cb91a$export$566518253d2584f8);\n\n\n\n\n\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nfunction $f6c715b8ad8cb91a$export$31b2e088aff2dc5d({ containerRef: containerRef }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const debouncedResize = (0, $2crMj$react.useRef)((0, $2crMj$underscore.debounce)(()=>{\n mapRef.current?.resize();\n }, 100));\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: containerRef,\n onResize: debouncedResize.current\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$2ab96428dea558d6({ containerRef: containerRef, parentRef: parentRef, infoMarkerPosition: infoMarkerPosition, debounceTime: debounceTime = 200 }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const [padding, setPadding] = (0, $2crMj$react.useState)((0, $R3my3.getMapPadding)(containerRef, parentRef));\n const _updateMapPadding = (0, $2crMj$react.useCallback)(()=>{\n const newPadding = (0, $R3my3.getMapPadding)(containerRef, parentRef);\n setPadding(newPadding);\n }, [\n containerRef.current,\n parentRef.current\n ]);\n const updateMapPadding = (0, $2crMj$react.useMemo)(()=>(0, $2crMj$underscore.debounce)(_updateMapPadding, debounceTime), [\n _updateMapPadding,\n debounceTime\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [\n mapRef.current\n ]);\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: parentRef,\n onResize (sz) {\n updateMapPadding();\n },\n round (n) {\n return Math.round(n);\n }\n });\n // Ideally, we would not have to do this when we know the infobox is loaded\n (0, $2crMj$macrostratmapboxreact.useMapEaseTo)({\n center: infoMarkerPosition,\n padding: padding\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$f6eeee399afc4e9a({ onMapMoved: onMapMoved = null }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n const mapMovedCallback = (0, $2crMj$react.useCallback)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = (0, $2crMj$macrostratmapboxutils.getMapPosition)(map);\n dispatch({\n type: \"map-moved\",\n payload: mapPosition\n });\n onMapMoved?.(mapPosition, map);\n }, [\n onMapMoved,\n dispatch,\n isInitialized\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = (0, $2crMj$underscore.debounce)(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return ()=>{\n map?.off(\"moveend\", cb);\n };\n }, [\n mapMovedCallback\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$e57f9eaa51773f82({ ignoredSources: ignoredSources, onMapLoading: onMapLoading = null, onMapIdle: onMapIdle = null, mapIsLoading: mapIsLoading }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const loadingRef = (0, $2crMj$react.useRef)(false);\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n let didSendLoading = false;\n const loadingCallback = (evt)=>{\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({\n type: \"set-loading\",\n payload: true\n });\n loadingRef.current = true;\n didSendLoading = true;\n };\n const idleCallback = (evt)=>{\n if (!mapIsLoading) return;\n dispatch({\n type: \"set-loading\",\n payload: false\n });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return ()=>{\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [\n ignoredSources,\n mapIsLoading,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$5c90a91c7455938c({ position: position, setPosition: setPosition, centerMarker: centerMarker = true }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const markerRef = (0, $2crMj$react.useRef)(null);\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $R3my3.useMapMarker)(mapRef, markerRef, position);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n const handleMapClick = (event)=>{\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) mapRef.current?.flyTo({\n center: event.lngLat,\n duration: 800\n });\n };\n map.on(\"click\", handleMapClick);\n return ()=>{\n map?.off(\"click\", handleMapClick);\n };\n }, [\n setPosition,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$6daf1520df36ae21(opts = {}) {\n const { styleType: styleType } = opts;\n const inDarkMode = (0, $2crMj$macrostratuicomponents.useInDarkMode)();\n const props = (0, $2crMj$react.useMemo)(()=>{\n return {\n styleType: styleType,\n inDarkMode: inDarkMode\n };\n }, [\n styleType,\n inDarkMode\n ]);\n return $f6c715b8ad8cb91a$export$3503bf0b3851527b(props);\n}\nfunction $f6c715b8ad8cb91a$export$3503bf0b3851527b(opts) {\n const { styleType: styleType = \"macrostrat\", inDarkMode: inDarkMode = false } = opts ?? {};\n if (styleType == \"macrostrat\") return inDarkMode ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\" : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n else return inDarkMode ? \"mapbox://styles/mapbox/dark-v10\" : \"mapbox://styles/mapbox/light-v10\";\n}\nconst $f6c715b8ad8cb91a$export$566518253d2584f8 = $f6c715b8ad8cb91a$export$6daf1520df36ae21;\n\n\n//# sourceMappingURL=map-interface.eb663cae.js.map\n","import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapStatus,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!mapIsLoading) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":["require","$2crMj$macrostratmapboxreact","$2crMj$react","$2crMj$underscore","$2crMj$useresizeobserver","$2crMj$macrostratmapboxutils","$2crMj$macrostratuicomponents","$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","$f6c715b8ad8cb91a$export$31b2e088aff2dc5d","$f6c715b8ad8cb91a$export$2ab96428dea558d6","$f6c715b8ad8cb91a$export$f6eeee399afc4e9a","$f6c715b8ad8cb91a$export$e57f9eaa51773f82","$f6c715b8ad8cb91a$export$5c90a91c7455938c","$f6c715b8ad8cb91a$export$6daf1520df36ae21","$f6c715b8ad8cb91a$export$3503bf0b3851527b","$f6c715b8ad8cb91a$export$566518253d2584f8","$R3my3","containerRef","mapRef","useMapRef","debouncedResize","useRef","debounce","current","resize","ref","onResize","parentRef","infoMarkerPosition","debounceTime","padding","setPadding","useState","getMapPadding","_updateMapPadding","useCallback","updateMapPadding","useMemo","useEffect","sz","round","Math","useMapEaseTo","center","onMapMoved","dispatch","useMapDispatch","isInitialized","useMapInitialized","mapMovedCallback","map","mapPosition","getMapPosition","type","payload","cb","on","off","ignoredSources","onMapLoading","onMapIdle","mapIsLoading","loadingRef","didSendLoading","loadingCallback","evt","includes","sourceId","idleCallback","position","setPosition","centerMarker","markerRef","useMapMarker","handleMapClick","event","lngLat","flyTo","duration","opts","styleType","inDarkMode","useInDarkMode"],"version":3,"file":"map-interface.eb663cae.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ require("./map-interface.f4d2a5eb.js");var $14Taq$blueprintjscore=require("@blueprintjs/core"),$14Taq$macrostrathyper=require("@macrostrat/hyper"),$14Taq$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$14Taq$macrostratuicomponents=require("@macrostrat/ui-components");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,a,r,c){Object.defineProperty(e,a,{get:r,set:c,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 c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"LoadingButton",()=>$8c3698ca3fcf939f$export$4ec83e90d030b2f3),$parcel$export(module.exports,"MapLoadingButton",()=>$8c3698ca3fcf939f$export$9e3bae3c08bde368),$parcel$export(module.exports,"FloatingNavbar",()=>$8c3698ca3fcf939f$export$a8cc0062d02a3841);var $5BIs2=parcelRequire("5BIs2");let $8c3698ca3fcf939f$var$h=$parcel$interopDefault($14Taq$macrostrathyper).styled($parcel$interopDefault($5BIs2)),$8c3698ca3fcf939f$var$spinnerElement=$8c3698ca3fcf939f$var$h($14Taq$blueprintjscore.Spinner,{size:16});function $8c3698ca3fcf939f$export$4ec83e90d030b2f3({isLoading:e=!1,onClick:a,active:r=!1,large:c=!0,icon:t="menu",style:$}){return $8c3698ca3fcf939f$var$h($14Taq$blueprintjscore.Button,{className:"loading-button",icon:e?$8c3698ca3fcf939f$var$spinnerElement:t,large:c,minimal:!0,onClick:a,active:r&&!e,style:$})}function $8c3698ca3fcf939f$export$9e3bae3c08bde368(e){let a=(0,$14Taq$macrostratmapboxreact.useMapStatus)(e=>e.isLoading);return $8c3698ca3fcf939f$var$h($8c3698ca3fcf939f$export$4ec83e90d030b2f3,{...e,isLoading:a})}function $8c3698ca3fcf939f$export$a8cc0062d02a3841({className:e,children:a,headerElement:r=null,title:c=null,statusElement:t=null,rightElement:$=null,height:l,width:n,style:i={}}){let o=null;null!=$&&(o=$8c3698ca3fcf939f$var$h("div.right-element",$));let f=r;return null!=c&&null==f&&(f="string"==typeof c?$8c3698ca3fcf939f$var$h($14Taq$blueprintjscore.Text,{tagName:"h2",ellipsize:!0},c):c),null!=f&&(f=$8c3698ca3fcf939f$var$h([f,$8c3698ca3fcf939f$var$h($14Taq$macrostratuicomponents.Spacer)])),$8c3698ca3fcf939f$var$h("div.searchbar-holder",{className:e,style:{width:n}},[$8c3698ca3fcf939f$var$h("div.navbar-holder",[$8c3698ca3fcf939f$var$h($14Taq$blueprintjscore.Navbar,{className:"searchbar navbar panel",style:{height:l,...i}},[f,a,o])]),$8c3698ca3fcf939f$var$h.if(null!=t)($14Taq$blueprintjscore.Card,{className:"status-tongue"},t)])}
2
+ //# sourceMappingURL=map-interface.ed6b5586.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,Q,gD,I,uB,Q,qB,uB,Q,qB,6B,Q,4B,8B,Q,6B,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,gB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,iB,I,2C,I,O,c,SCOA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEjB,qCAAiB,wBAAE,uBAAA,OAAM,CAAG,CAAE,KAAM,EAAG,GAEtC,SAAS,0CAAc,CAAA,UAC5B,EAAY,CAAA,CAAA,CAAA,QACZ,CAAO,CAAA,OACP,EAAS,CAAA,CAAA,CAAA,MACT,EAAQ,CAAA,CAAA,CAAA,KACR,EAAO,MAAA,CAAA,MACP,CAAK,CACN,EACC,OAAO,wBAAE,uBAAA,MAAK,CAAG,CACf,UAAW,iBACX,KAAO,EAAY,qCAAiB,EACpC,MAAA,EACA,QAAS,CAAA,EACT,QAAA,EACA,OAAQ,GAAU,CAAC,EACnB,MAAA,CACF,EACF,CAEO,SAAS,0CAAiB,CAAU,EACzC,IAAM,EAAY,AAAA,CAAA,EAAA,6BAAA,YAAW,AAAX,EAAa,AAAC,GAAM,EAAE,SAAS,EACjD,OAAO,wBAAE,0CAAe,CAAE,GAAG,CAAK,CAAE,UAAA,CAAU,EAChD,CAgBO,SAAS,0CAAe,CAAA,UAC7B,CAAS,CAAA,SACT,CAAQ,CAAA,cACR,EAAgB,IAAA,CAAA,MAChB,EAAQ,IAAA,CAAA,cACR,EAAgB,IAAA,CAAA,aAChB,EAAe,IAAA,CAAA,OACf,CAAM,CAAA,MACN,CAAK,CAAA,MACL,EAAQ,CAAC,CAAA,CACW,EACpB,IAAI,EAAkC,IAClC,AAAgB,OAAhB,GACF,CAAA,EAAgB,wBAAE,oBAAqB,EADzC,EAIA,IAAI,EAAmC,EAavC,OAZa,MAAT,GAAiB,AAAkB,MAAlB,IAEjB,EADE,AAAiB,UAAjB,OAAO,EACQ,wBAAE,uBAAA,IAAG,CAAG,CAAE,QAAS,KAAM,UAAW,CAAA,CAAK,EAAG,GAE5C,GAIjB,AAAkB,MAAlB,GACF,CAAA,EAAiB,wBAAE,CAAC,EAAgB,wBAAE,8BAAA,MAAK,EAAG,CAAA,EAGzC,wBAAE,uBAAwB,CAAE,UAAA,EAAW,MAAO,CAAE,MAAA,CAAM,CAAE,EAAG,CAChE,wBAAE,oBAAqB,CACrB,wBACE,uBAAA,MAAK,CACL,CACE,UAAW,yBACX,MAAO,CAAE,OAAA,EAAQ,GAAG,CAAK,AAAC,CAC5B,EACA,CAAC,EAAgB,EAAU,EAAc,EAE5C,EACD,wBAAE,EAAE,CAAC,AAAiB,MAAjB,GACH,uBAAA,IAAG,CACH,CAAE,UAAW,eAAgB,EAC7B,GAEH,CACH","sources":["<anon>","packages/map-interface/src/context-panel/index.ts"],"sourcesContent":["require(\"./map-interface.f4d2a5eb.js\");\nvar $14Taq$blueprintjscore = require(\"@blueprintjs/core\");\nvar $14Taq$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $14Taq$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $14Taq$macrostratuicomponents = require(\"@macrostrat/ui-components\");\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, \"LoadingButton\", () => $8c3698ca3fcf939f$export$4ec83e90d030b2f3);\n$parcel$export(module.exports, \"MapLoadingButton\", () => $8c3698ca3fcf939f$export$9e3bae3c08bde368);\n$parcel$export(module.exports, \"FloatingNavbar\", () => $8c3698ca3fcf939f$export$a8cc0062d02a3841);\n\n\n\nvar $5BIs2 = parcelRequire(\"5BIs2\");\n\n\nconst $8c3698ca3fcf939f$var$h = (0, ($parcel$interopDefault($14Taq$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($5BIs2))));\nconst $8c3698ca3fcf939f$var$spinnerElement = $8c3698ca3fcf939f$var$h((0, $14Taq$blueprintjscore.Spinner), {\n size: 16\n});\nfunction $8c3698ca3fcf939f$export$4ec83e90d030b2f3({ isLoading: isLoading = false, onClick: onClick, active: active = false, large: large = true, icon: icon = \"menu\", style: style }) {\n return $8c3698ca3fcf939f$var$h((0, $14Taq$blueprintjscore.Button), {\n className: \"loading-button\",\n icon: isLoading ? $8c3698ca3fcf939f$var$spinnerElement : icon,\n large: large,\n minimal: true,\n onClick: onClick,\n active: active && !isLoading,\n style: style\n });\n}\nfunction $8c3698ca3fcf939f$export$9e3bae3c08bde368(props) {\n const isLoading = (0, $14Taq$macrostratmapboxreact.useMapStatus)((s)=>s.isLoading);\n return $8c3698ca3fcf939f$var$h($8c3698ca3fcf939f$export$4ec83e90d030b2f3, {\n ...props,\n isLoading: isLoading\n });\n}\nfunction $8c3698ca3fcf939f$export$a8cc0062d02a3841({ className: className, children: children, headerElement: headerElement = null, title: title = null, statusElement: statusElement = null, rightElement: rightElement = null, height: height, width: width, style: style = {} }) {\n let _rightElement = null;\n if (rightElement != null) _rightElement = $8c3698ca3fcf939f$var$h(\"div.right-element\", rightElement);\n let _headerElement = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") _headerElement = $8c3698ca3fcf939f$var$h((0, $14Taq$blueprintjscore.Text), {\n tagName: \"h2\",\n ellipsize: true\n }, title);\n else _headerElement = title;\n }\n if (_headerElement != null) _headerElement = $8c3698ca3fcf939f$var$h([\n _headerElement,\n $8c3698ca3fcf939f$var$h((0, $14Taq$macrostratuicomponents.Spacer))\n ]);\n return $8c3698ca3fcf939f$var$h(\"div.searchbar-holder\", {\n className: className,\n style: {\n width: width\n }\n }, [\n $8c3698ca3fcf939f$var$h(\"div.navbar-holder\", [\n $8c3698ca3fcf939f$var$h((0, $14Taq$blueprintjscore.Navbar), {\n className: \"searchbar navbar panel\",\n style: {\n height: height,\n ...style\n }\n }, [\n _headerElement,\n children,\n _rightElement\n ])\n ]),\n $8c3698ca3fcf939f$var$h.if(statusElement != null)((0, $14Taq$blueprintjscore.Card), {\n className: \"status-tongue\"\n }, statusElement)\n ]);\n}\n\n\n//# sourceMappingURL=map-interface.ed6b5586.js.map\n","import { Navbar, Button, Spinner, Card, Text } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMapStatus } from \"@macrostrat/mapbox-react\";\nimport { Spacer } from \"@macrostrat/ui-components\";\nimport type { ReactNode } from \"react\";\n\nconst h = hyper.styled(styles);\n\nconst spinnerElement = h(Spinner, { size: 16 });\n\nexport function LoadingButton({\n isLoading = false,\n onClick,\n active = false,\n large = true,\n icon = \"menu\",\n style,\n}) {\n return h(Button, {\n className: \"loading-button\",\n icon: (isLoading ? spinnerElement : icon) as any,\n large,\n minimal: true,\n onClick,\n active: active && !isLoading,\n style,\n });\n}\n\nexport function MapLoadingButton(props: any) {\n const isLoading = useMapStatus((s) => s.isLoading);\n return h(LoadingButton, { ...props, isLoading });\n}\n\ntype AnyChildren = ReactNode;\n\nexport interface FloatingNavbarProps {\n className?: string;\n children?: AnyChildren;\n headerElement?: AnyChildren;\n title?: AnyChildren;\n statusElement?: AnyChildren;\n rightElement?: AnyChildren;\n height?: number | string;\n width?: number | string;\n style?: object;\n}\n\nexport function FloatingNavbar({\n className,\n children,\n headerElement = null,\n title = null,\n statusElement = null,\n rightElement = null,\n height,\n width,\n style = {},\n}: FloatingNavbarProps) {\n let _rightElement: ReactNode | null = null;\n if (rightElement != null) {\n _rightElement = h(\"div.right-element\", rightElement);\n }\n\n let _headerElement: ReactNode | null = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") {\n _headerElement = h(Text, { tagName: \"h2\", ellipsize: true }, title);\n } else {\n _headerElement = title;\n }\n }\n\n if (_headerElement != null) {\n _headerElement = h([_headerElement, h(Spacer)]);\n }\n\n return h(\"div.searchbar-holder\", { className, style: { width } }, [\n h(\"div.navbar-holder\", [\n h(\n Navbar,\n {\n className: \"searchbar navbar panel\",\n style: { height, ...style },\n },\n [_headerElement, children, _rightElement],\n ),\n ]),\n h.if(statusElement != null)(\n Card,\n { className: \"status-tongue\" },\n statusElement,\n ),\n ]);\n}\n"],"names":["require","$14Taq$blueprintjscore","$14Taq$macrostrathyper","$14Taq$macrostratmapboxreact","$14Taq$macrostratuicomponents","$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","$8c3698ca3fcf939f$export$4ec83e90d030b2f3","$8c3698ca3fcf939f$export$9e3bae3c08bde368","$8c3698ca3fcf939f$export$a8cc0062d02a3841","$5BIs2","$8c3698ca3fcf939f$var$h","styled","$8c3698ca3fcf939f$var$spinnerElement","Spinner","size","isLoading","onClick","active","large","icon","style","Button","className","minimal","props","useMapStatus","children","headerElement","title","statusElement","rightElement","height","width","_rightElement","_headerElement","Text","tagName","ellipsize","Spacer","Navbar","if","Card"],"version":3,"file":"map-interface.ed6b5586.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ var $4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e,$4152e38d80d28cfa$export$58733aaf927c3bbe,$4152e38d80d28cfa$export$d8779dd86528d602,$4152e38d80d28cfa$export$2ac23befe9d406ee,$4152e38d80d28cfa$export$3a39e67bbbcbd4ae,$4152e38d80d28cfa$export$764ade2d69041360;function $parcel$export(e,d,a,$){Object.defineProperty(e,d,{get:a,set:$,enumerable:!0,configurable:!0})}$parcel$export(module.exports,"loading-button",()=>$4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e,e=>$4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e=e),$parcel$export(module.exports,"navbar",()=>$4152e38d80d28cfa$export$58733aaf927c3bbe,e=>$4152e38d80d28cfa$export$58733aaf927c3bbe=e),$parcel$export(module.exports,"navbar-holder",()=>$4152e38d80d28cfa$export$d8779dd86528d602,e=>$4152e38d80d28cfa$export$d8779dd86528d602=e),$parcel$export(module.exports,"searchbar",()=>$4152e38d80d28cfa$export$2ac23befe9d406ee,e=>$4152e38d80d28cfa$export$2ac23befe9d406ee=e),$parcel$export(module.exports,"searchbar-holder",()=>$4152e38d80d28cfa$export$3a39e67bbbcbd4ae,e=>$4152e38d80d28cfa$export$3a39e67bbbcbd4ae=e),$parcel$export(module.exports,"status-tongue",()=>$4152e38d80d28cfa$export$764ade2d69041360,e=>$4152e38d80d28cfa$export$764ade2d69041360=e),$4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e="_8hZKsW_loading-button",$4152e38d80d28cfa$export$58733aaf927c3bbe="_8hZKsW_navbar",$4152e38d80d28cfa$export$d8779dd86528d602="_8hZKsW_navbar-holder",$4152e38d80d28cfa$export$2ac23befe9d406ee="_8hZKsW_searchbar",$4152e38d80d28cfa$export$3a39e67bbbcbd4ae="_8hZKsW_searchbar-holder",$4152e38d80d28cfa$export$764ade2d69041360="_8hZKsW_status-tongue";
2
+ //# sourceMappingURL=map-interface.f4d2a5eb.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"ICAA,0CACA,0CACA,0CACA,0CACA,0CACA,0C,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,e,O,O,C,iB,I,0C,A,G,0C,G,e,O,O,C,S,I,0C,A,G,0C,G,e,O,O,C,gB,I,0C,A,G,0C,G,e,O,O,C,Y,I,0C,A,G,0C,G,e,O,O,C,mB,I,0C,A,G,0C,G,e,O,O,C,gB,I,0C,A,G,0C,GALA,0CAAmC,yBACnC,0CAA2B,iBAC3B,0CAAkC,wBAClC,0CAA8B,oBAC9B,0CAAqC,2BACrC,0CAAkC","sources":["<anon>","packages/map-interface/src/context-panel/main.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n$parcel$export(module.exports, \"loading-button\", () => $4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e, (v) => $4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e = v);\n$parcel$export(module.exports, \"navbar\", () => $4152e38d80d28cfa$export$58733aaf927c3bbe, (v) => $4152e38d80d28cfa$export$58733aaf927c3bbe = v);\n$parcel$export(module.exports, \"navbar-holder\", () => $4152e38d80d28cfa$export$d8779dd86528d602, (v) => $4152e38d80d28cfa$export$d8779dd86528d602 = v);\n$parcel$export(module.exports, \"searchbar\", () => $4152e38d80d28cfa$export$2ac23befe9d406ee, (v) => $4152e38d80d28cfa$export$2ac23befe9d406ee = v);\n$parcel$export(module.exports, \"searchbar-holder\", () => $4152e38d80d28cfa$export$3a39e67bbbcbd4ae, (v) => $4152e38d80d28cfa$export$3a39e67bbbcbd4ae = v);\n$parcel$export(module.exports, \"status-tongue\", () => $4152e38d80d28cfa$export$764ade2d69041360, (v) => $4152e38d80d28cfa$export$764ade2d69041360 = v);\nvar $4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e;\nvar $4152e38d80d28cfa$export$58733aaf927c3bbe;\nvar $4152e38d80d28cfa$export$d8779dd86528d602;\nvar $4152e38d80d28cfa$export$2ac23befe9d406ee;\nvar $4152e38d80d28cfa$export$3a39e67bbbcbd4ae;\nvar $4152e38d80d28cfa$export$764ade2d69041360;\n$4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e = `_8hZKsW_loading-button`;\n$4152e38d80d28cfa$export$58733aaf927c3bbe = `_8hZKsW_navbar`;\n$4152e38d80d28cfa$export$d8779dd86528d602 = `_8hZKsW_navbar-holder`;\n$4152e38d80d28cfa$export$2ac23befe9d406ee = `_8hZKsW_searchbar`;\n$4152e38d80d28cfa$export$3a39e67bbbcbd4ae = `_8hZKsW_searchbar-holder`;\n$4152e38d80d28cfa$export$764ade2d69041360 = `_8hZKsW_status-tongue`;\n\n\n//# sourceMappingURL=map-interface.f4d2a5eb.js.map\n",null],"names":["$4152e38d80d28cfa$export$fcaa8d3bc8e9cf1e","$4152e38d80d28cfa$export$58733aaf927c3bbe","$4152e38d80d28cfa$export$d8779dd86528d602","$4152e38d80d28cfa$export$2ac23befe9d406ee","$4152e38d80d28cfa$export$3a39e67bbbcbd4ae","$4152e38d80d28cfa$export$764ade2d69041360","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","module","exports"],"version":3,"file":"map-interface.f4d2a5eb.js.map","sourceRoot":"../../../../"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@macrostrat/map-interface",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Map interface for Macrostrat",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -9,28 +9,28 @@
9
9
  "node": "dist/node/index.js",
10
10
  "dependencies": {
11
11
  "@blueprintjs/core": "^5.0.0",
12
- "@macrostrat/color-utils": "^1.1.0",
12
+ "@macrostrat/color-utils": "^1.1.1",
13
13
  "@macrostrat/hyper": "^3.0.6",
14
- "@macrostrat/mapbox-react": "^2.6.0",
15
- "@macrostrat/mapbox-utils": "^1.5.0",
16
- "@macrostrat/ui-components": "^4.2.0",
14
+ "@macrostrat/mapbox-react": "^2.6.1",
15
+ "@macrostrat/mapbox-utils": "^1.5.1",
16
+ "@macrostrat/ui-components": "^4.3.0",
17
17
  "@mapbox/tilebelt": "^2.0.0",
18
18
  "classnames": "^2.5.1",
19
19
  "d3-array": "^3.2.4",
20
20
  "d3-format": "^3.1.0",
21
- "mapbox-gl": "^2.15.0",
21
+ "mapbox-gl": "^2.15.0||^3.0.0",
22
22
  "query-string": "^9.0.0",
23
23
  "transition-hook": "^1.5.2",
24
24
  "underscore": "^1.13.6",
25
25
  "use-resize-observer": "^9.1.0"
26
26
  },
27
27
  "devDependencies": {
28
- "parcel": "^2.13.3",
28
+ "parcel": "^2.15.4",
29
29
  "ui-box": "^5.4.1"
30
30
  },
31
31
  "peerDependencies": {
32
- "react": "^16.8.6||^17.0.0||^18.0.0",
33
- "react-dom": "^16.8.6||^17.0.0||^18.0.0"
32
+ "react": "^16.8.6||^17.0.0||^18.0.0||^19.0.0",
33
+ "react-dom": "^16.8.6||^17.0.0||^18.0.0||^19.0.0"
34
34
  },
35
35
  "scripts": {
36
36
  "dev": "parcel watch",
package/src/container.ts CHANGED
@@ -99,7 +99,7 @@ function _MapAreaContainer({
99
99
  "map-context-open": contextPanelOpen,
100
100
  "show-panel-outlines": showPanelOutlines,
101
101
  "fit-viewport": fitViewport,
102
- }
102
+ },
103
103
  );
104
104
 
105
105
  const mapControlsExt = h([
@@ -114,7 +114,7 @@ function _MapAreaContainer({
114
114
  [
115
115
  h("div.detail-panel-holder", null, detailPanel),
116
116
  h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([mapControlsExt]),
117
- ]
117
+ ],
118
118
  );
119
119
 
120
120
  let contextStack = null;
@@ -133,7 +133,7 @@ function _MapAreaContainer({
133
133
  h.if(detailPanelStyle == DetailPanelStyle.FLOATING)([detailStackExt]),
134
134
  h.if(detailPanelStyle == DetailPanelStyle.FIXED)(
135
135
  "div.map-control-stack",
136
- mapControlsExt
136
+ mapControlsExt,
137
137
  ),
138
138
  ]),
139
139
  h.if(detailPanelStyle == DetailPanelStyle.FIXED)([detailStackExt]),
@@ -1,9 +1,9 @@
1
- import { useMemo } from "react";
2
1
  import { Navbar, Button, Spinner, Card, Text } from "@blueprintjs/core";
3
2
  import hyper from "@macrostrat/hyper";
4
3
  import styles from "./main.module.sass";
5
4
  import { useMapStatus } from "@macrostrat/mapbox-react";
6
5
  import { Spacer } from "@macrostrat/ui-components";
6
+ import type { ReactNode } from "react";
7
7
 
8
8
  const h = hyper.styled(styles);
9
9
 
@@ -19,7 +19,7 @@ export function LoadingButton({
19
19
  }) {
20
20
  return h(Button, {
21
21
  className: "loading-button",
22
- icon: isLoading ? spinnerElement : icon,
22
+ icon: (isLoading ? spinnerElement : icon) as any,
23
23
  large,
24
24
  minimal: true,
25
25
  onClick,
@@ -28,12 +28,12 @@ export function LoadingButton({
28
28
  });
29
29
  }
30
30
 
31
- export function MapLoadingButton(props) {
31
+ export function MapLoadingButton(props: any) {
32
32
  const isLoading = useMapStatus((s) => s.isLoading);
33
33
  return h(LoadingButton, { ...props, isLoading });
34
34
  }
35
35
 
36
- type AnyChildren = React.ReactNode;
36
+ type AnyChildren = ReactNode;
37
37
 
38
38
  export interface FloatingNavbarProps {
39
39
  className?: string;
@@ -58,12 +58,12 @@ export function FloatingNavbar({
58
58
  width,
59
59
  style = {},
60
60
  }: FloatingNavbarProps) {
61
- let _rightElement: React.ReactNode | null = null;
61
+ let _rightElement: ReactNode | null = null;
62
62
  if (rightElement != null) {
63
63
  _rightElement = h("div.right-element", rightElement);
64
64
  }
65
65
 
66
- let _headerElement: React.ReactNode | null = headerElement;
66
+ let _headerElement: ReactNode | null = headerElement;
67
67
  if (title != null && _headerElement == null) {
68
68
  if (typeof title === "string") {
69
69
  _headerElement = h(Text, { tagName: "h2", ellipsize: true }, title);
@@ -84,13 +84,13 @@ export function FloatingNavbar({
84
84
  className: "searchbar navbar panel",
85
85
  style: { height, ...style },
86
86
  },
87
- [_headerElement, children, _rightElement]
87
+ [_headerElement, children, _rightElement],
88
88
  ),
89
89
  ]),
90
90
  h.if(statusElement != null)(
91
91
  Card,
92
92
  { className: "status-tongue" },
93
- statusElement
93
+ statusElement,
94
94
  ),
95
95
  ]);
96
96
  }
@@ -115,7 +115,7 @@ export function MapInspectorV2({
115
115
  },
116
116
  }),
117
117
  h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),
118
- ]
118
+ ],
119
119
  );
120
120
  }
121
121
 
@@ -175,8 +175,8 @@ export function MapInspectorV2({
175
175
  }),
176
176
  h(TileExtentLayer, { tile, color: isEnabled ? "white" : "black" }),
177
177
  children,
178
- ]
179
- )
178
+ ],
179
+ ),
180
180
  );
181
181
  }
182
182
 
@@ -38,7 +38,7 @@ export function TileExtentLayer({
38
38
  style.layers.push(layer);
39
39
  map.setStyle(style);
40
40
  },
41
- [color]
41
+ [color],
42
42
  );
43
43
  const map = useMapRef();
44
44
  useMapConditionalStyle(map, tile, styleCallback);
@@ -178,7 +178,11 @@ function UnitNumber({ value, unit, precision = 1 }) {
178
178
  ]);
179
179
  }
180
180
 
181
- export function FeaturePanel({ features, focusedSource = null }) {
181
+ export function FeaturePanel({
182
+ features,
183
+ focusedSource = null,
184
+ focusedSourceTitle = null,
185
+ }) {
182
186
  if (features == null) return null;
183
187
 
184
188
  let focusedSourcePanel = null;
@@ -190,7 +194,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
190
194
  focusedSourcePanel = h(
191
195
  ExpansionPanel,
192
196
  {
193
- title: "Macrostrat features",
197
+ title: focusedSourceTitle ?? "Macrostrat features",
194
198
  className: "macrostrat-features",
195
199
  expanded: true,
196
200
  },
@@ -199,7 +203,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
199
203
  features,
200
204
  sourceID: focusedSource,
201
205
  }),
202
- ]
206
+ ],
203
207
  );
204
208
  filteredFeatures = features.filter((d) => d.source != focusedSource);
205
209
  }
@@ -213,7 +217,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
213
217
  h(FeatureGroups, {
214
218
  features: filteredFeatures,
215
219
  }),
216
- ]
220
+ ],
217
221
  ),
218
222
  ]);
219
223
  }
@@ -222,7 +226,7 @@ function FeatureGroups({ features }) {
222
226
  /** Group features by source and sourceLayer */
223
227
  if (features == null) return null;
224
228
 
225
- const groups = group(features, (d) => `${d.source} - ${d.sourceLayer}`);
229
+ const groups = group(features, (d: any) => `${d.source} - ${d.sourceLayer}`);
226
230
 
227
231
  return h(
228
232
  "div.feature-groups",
@@ -231,13 +235,13 @@ function FeatureGroups({ features }) {
231
235
  h(FeatureHeader, { feature: features[0] }),
232
236
  h(Features, { features }),
233
237
  ]);
234
- })
238
+ }),
235
239
  );
236
240
  }
237
241
 
238
242
  export function Features({ features }) {
239
243
  return h(
240
244
  "div.features",
241
- features.map((feature, i) => h(FeatureRecord, { key: i, feature }))
245
+ features.map((feature, i) => h(FeatureRecord, { key: i, feature })),
242
246
  );
243
247
  }
package/src/dev/xray.ts CHANGED
@@ -11,7 +11,7 @@ interface XRayOptions {
11
11
 
12
12
  export async function buildXRayStyle(
13
13
  baseStyle: string | object,
14
- params: XRayOptions = null
14
+ params: XRayOptions = null,
15
15
  ) {
16
16
  const {
17
17
  inDarkMode = false,
@@ -24,7 +24,11 @@ export async function buildXRayStyle(
24
24
 
25
25
  let layers = [];
26
26
  for (let layer of style.layers) {
27
- if (!sources.includes(layer.source)) {
27
+ if (
28
+ "source" in layer &&
29
+ typeof layer.source === "string" &&
30
+ !sources.includes(layer.source)
31
+ ) {
28
32
  layers.push(layer);
29
33
  continue;
30
34
  }
@@ -90,7 +94,7 @@ type InspectorStyleOptions = XRayOptions & {
90
94
  export async function buildInspectorStyle(
91
95
  baseStyle: mapboxgl.Style | string,
92
96
  overlayStyle: mapboxgl.Style | string | null = null,
93
- params: InspectorStyleOptions = {}
97
+ params: InspectorStyleOptions = {},
94
98
  ) {
95
99
  const {
96
100
  mapboxToken,
@@ -11,7 +11,7 @@ export function PanelSubhead(props) {
11
11
  {
12
12
  className: "title",
13
13
  },
14
- title
14
+ title,
15
15
  ),
16
16
  children,
17
17
  ]);
@@ -20,7 +20,7 @@ function ExpansionPanelSummary(props) {
20
20
  title,
21
21
  component: titleComponent,
22
22
  },
23
- [children, h(Icon, { icon, className: "expansion-panel-icon" })]
23
+ [children, h(Icon, { icon, className: "expansion-panel-icon" })],
24
24
  );
25
25
  }
26
26
 
@@ -63,10 +63,10 @@ function ExpansionPanelBase(props) {
63
63
  h("span.expansion-panel-subtext", helpText),
64
64
  " ",
65
65
  sideComponent,
66
- ])
66
+ ]),
67
67
  ),
68
68
  h(Collapse, { isOpen }, h("div.expansion-children", null, children)),
69
- ]
69
+ ],
70
70
  );
71
71
  }
72
72
 
@@ -113,7 +113,7 @@ function ExpandableDetailsPanel(props) {
113
113
  h(
114
114
  Collapse,
115
115
  { isOpen },
116
- h("div.expandable-details-children", null, children)
116
+ h("div.expandable-details-children", null, children),
117
117
  ),
118
118
  ]);
119
119
  }
package/src/helpers.ts CHANGED
@@ -21,7 +21,7 @@ export function MapResizeManager({ containerRef }) {
21
21
  const debouncedResize = useRef(
22
22
  debounce(() => {
23
23
  mapRef.current?.resize();
24
- }, 100)
24
+ }, 100),
25
25
  );
26
26
 
27
27
  useResizeObserver({
@@ -48,7 +48,7 @@ export function MapPaddingManager({
48
48
  const mapRef = useMapRef();
49
49
 
50
50
  const [padding, setPadding] = useState(
51
- getMapPadding(containerRef, parentRef)
51
+ getMapPadding(containerRef, parentRef),
52
52
  );
53
53
 
54
54
  const _updateMapPadding = useCallback(() => {
@@ -58,7 +58,7 @@ export function MapPaddingManager({
58
58
 
59
59
  const updateMapPadding = useMemo(
60
60
  () => debounce(_updateMapPadding, debounceTime),
61
- [_updateMapPadding, debounceTime]
61
+ [_updateMapPadding, debounceTime],
62
62
  );
63
63
 
64
64
  useEffect(() => {
@@ -113,12 +113,19 @@ export function MapMovedReporter({ onMapMoved = null }) {
113
113
  return null;
114
114
  }
115
115
 
116
+ interface MapLoadingReporterProps {
117
+ ignoredSources?: string[];
118
+ onMapLoading?: (evt: mapboxgl.MapEvent) => void;
119
+ onMapIdle?: (evt: mapboxgl.MapEvent) => void;
120
+ mapIsLoading?: boolean;
121
+ }
122
+
116
123
  export function MapLoadingReporter({
117
124
  ignoredSources,
118
125
  onMapLoading = null,
119
126
  onMapIdle = null,
120
127
  mapIsLoading,
121
- }) {
128
+ }: MapLoadingReporterProps) {
122
129
  const mapRef = useMapRef();
123
130
  const loadingRef = useRef(false);
124
131
  const dispatch = useMapDispatch();
@@ -187,7 +194,7 @@ export function MapMarker({ position, setPosition, centerMarker = true }) {
187
194
  export function useBasicMapStyle(
188
195
  opts: {
189
196
  styleType?: "macrostrat" | "standard";
190
- } = {}
197
+ } = {},
191
198
  ) {
192
199
  const { styleType } = opts;
193
200
  const inDarkMode = useInDarkMode();
@@ -16,7 +16,7 @@ interface LocationHashParams {
16
16
 
17
17
  export function applyMapPositionToHash(
18
18
  args: LocationHashParams,
19
- mapPosition: MapPosition | null
19
+ mapPosition: MapPosition | null,
20
20
  ) {
21
21
  const pos = mapPosition?.camera;
22
22
  if (pos == null) return;
@@ -53,7 +53,7 @@ function _fmt(x: string | number | string[]) {
53
53
 
54
54
  export function getMapPositionForHash(
55
55
  hashData: ParsedQuery<string>,
56
- centerPosition: LatLng | null
56
+ centerPosition: LatLng | null,
57
57
  ): MapPosition {
58
58
  const {
59
59
  x = centerPosition?.lng ?? 0,
@@ -61,12 +61,12 @@ function CopyLinkButton({ itemName, children, onClick, ...rest }) {
61
61
  icon: "error",
62
62
  timeout: 1000,
63
63
  });
64
- }
64
+ },
65
65
  );
66
66
  },
67
67
  ...rest,
68
68
  },
69
- children ?? "Copy link"
69
+ children ?? "Copy link",
70
70
  );
71
71
  }
72
72
 
@@ -127,6 +127,6 @@ export function InfoDrawerHeader(props: InfoDrawerHeaderProps) {
127
127
  icon: "cross",
128
128
  onClick: onClose,
129
129
  }),
130
- ]
130
+ ],
131
131
  );
132
132
  }
package/src/map-view.ts CHANGED
@@ -45,7 +45,7 @@ export interface MapViewProps extends MapboxCoreOptions {
45
45
  mapPosition?: MapPosition;
46
46
  initializeMap?: (
47
47
  container: HTMLElement,
48
- args: MapboxOptionsExt
48
+ args: MapboxOptionsExt,
49
49
  ) => mapboxgl.Map;
50
50
  onMapLoaded?: (map: mapboxgl.Map) => void;
51
51
  onStyleLoaded?: (map: mapboxgl.Map) => void;
@@ -73,6 +73,8 @@ function defaultInitializeMap(container, args: MapboxOptionsExt = {}) {
73
73
  logoPosition: "bottom-left",
74
74
  trackResize: true,
75
75
  antialias: true,
76
+ // This is a legacy option for Mapbox GL v2
77
+ // @ts-ignore
76
78
  optimizeForTerrain: true,
77
79
  ...rest,
78
80
  });
@@ -234,7 +236,7 @@ export function MapView(props: MapViewProps) {
234
236
  "is-rotated": mapIsRotated ?? false,
235
237
  "is-3d-available": mapUse3D ?? false,
236
238
  },
237
- `${_projection}-projection`
239
+ `${_projection}-projection`,
238
240
  );
239
241
 
240
242
  const parentClassName = classNames({
@@ -258,7 +260,7 @@ export function MapView(props: MapViewProps) {
258
260
  }),
259
261
  h(MapTerrainManager, { mapUse3D, terrainSourceID, style }),
260
262
  children,
261
- ]
263
+ ],
262
264
  );
263
265
  }
264
266
 
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,MAAM,uCAAiB,wBAAE,CAAA,GAAA,8BAAM,GAAG;IAAE,MAAM;AAAG;AAEtC,SAAS,0CAAc,aAC5B,YAAY,gBACZ,OAAO,UACP,SAAS,cACT,QAAQ,YACR,OAAO,eACP,KAAK,EACN;IACC,OAAO,wBAAE,CAAA,GAAA,6BAAK,GAAG;QACf,WAAW;QACX,MAAM,YAAY,uCAAiB;eACnC;QACA,SAAS;iBACT;QACA,QAAQ,UAAU,CAAC;eACnB;IACF;AACF;AAEO,SAAS,0CAAiB,KAAK;IACpC,MAAM,YAAY,CAAA,GAAA,yCAAW,EAAE,CAAC,IAAM,EAAE,SAAS;IACjD,OAAO,wBAAE,2CAAe;QAAE,GAAG,KAAK;mBAAE;IAAU;AAChD;AAgBO,SAAS,0CAAe,aAC7B,SAAS,YACT,QAAQ,iBACR,gBAAgB,aAChB,QAAQ,qBACR,gBAAgB,oBAChB,eAAe,cACf,MAAM,SACN,KAAK,SACL,QAAQ,CAAC,GACW;IACpB,IAAI,gBAAwC;IAC5C,IAAI,gBAAgB,MAClB,gBAAgB,wBAAE,qBAAqB;IAGzC,IAAI,iBAAyC;IAC7C,IAAI,SAAS,QAAQ,kBAAkB;QACrC,IAAI,OAAO,UAAU,UACnB,iBAAiB,wBAAE,CAAA,GAAA,2BAAG,GAAG;YAAE,SAAS;YAAM,WAAW;QAAK,GAAG;aAE7D,iBAAiB;;IAIrB,IAAI,kBAAkB,MACpB,iBAAiB,wBAAE;QAAC;QAAgB,wBAAE,CAAA,GAAA,oCAAK;KAAG;IAGhD,OAAO,wBAAE,wBAAwB;mBAAE;QAAW,OAAO;mBAAE;QAAM;IAAE,GAAG;QAChE,wBAAE,qBAAqB;YACrB,wBACE,CAAA,GAAA,6BAAK,GACL;gBACE,WAAW;gBACX,OAAO;4BAAE;oBAAQ,GAAG,KAAK;gBAAC;YAC5B,GACA;gBAAC;gBAAgB;gBAAU;aAAc;SAE5C;QACD,wBAAE,EAAE,CAAC,iBAAiB,MACpB,CAAA,GAAA,2BAAG,GACH;YAAE,WAAW;QAAgB,GAC7B;KAEH;AACH","sources":["packages/map-interface/src/context-panel/index.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { Navbar, Button, Spinner, Card, Text } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMapStatus } from \"@macrostrat/mapbox-react\";\nimport { Spacer } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\nconst spinnerElement = h(Spinner, { size: 16 });\n\nexport function LoadingButton({\n isLoading = false,\n onClick,\n active = false,\n large = true,\n icon = \"menu\",\n style,\n}) {\n return h(Button, {\n className: \"loading-button\",\n icon: isLoading ? spinnerElement : icon,\n large,\n minimal: true,\n onClick,\n active: active && !isLoading,\n style,\n });\n}\n\nexport function MapLoadingButton(props) {\n const isLoading = useMapStatus((s) => s.isLoading);\n return h(LoadingButton, { ...props, isLoading });\n}\n\ntype AnyChildren = React.ReactNode;\n\nexport interface FloatingNavbarProps {\n className?: string;\n children?: AnyChildren;\n headerElement?: AnyChildren;\n title?: AnyChildren;\n statusElement?: AnyChildren;\n rightElement?: AnyChildren;\n height?: number | string;\n width?: number | string;\n style?: object;\n}\n\nexport function FloatingNavbar({\n className,\n children,\n headerElement = null,\n title = null,\n statusElement = null,\n rightElement = null,\n height,\n width,\n style = {},\n}: FloatingNavbarProps) {\n let _rightElement: React.ReactNode | null = null;\n if (rightElement != null) {\n _rightElement = h(\"div.right-element\", rightElement);\n }\n\n let _headerElement: React.ReactNode | null = headerElement;\n if (title != null && _headerElement == null) {\n if (typeof title === \"string\") {\n _headerElement = h(Text, { tagName: \"h2\", ellipsize: true }, title);\n } else {\n _headerElement = title;\n }\n }\n\n if (_headerElement != null) {\n _headerElement = h([_headerElement, h(Spacer)]);\n }\n\n return h(\"div.searchbar-holder\", { className, style: { width } }, [\n h(\"div.navbar-holder\", [\n h(\n Navbar,\n {\n className: \"searchbar navbar panel\",\n style: { height, ...style },\n },\n [_headerElement, children, _rightElement]\n ),\n ]),\n h.if(statusElement != null)(\n Card,\n { className: \"status-tongue\" },\n statusElement\n ),\n ]);\n}\n"],"names":[],"version":3,"file":"context-panel.3061a63e.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,gDAAI,EAAE,MAAM,CAAC,CAAA,GAAA,mDAAK;AAE5B,SAAS,0CAAsB,KAAK;IAClC,MAAM,YAAE,QAAQ,YAAE,QAAQ,YAAE,QAAQ,aAAE,SAAS,SAAE,KAAK,kBAAE,cAAc,EAAE,GACtE;IACF,MAAM,OAAO,WAAW,eAAe;IACvC,OAAO,wBACL,CAAA,GAAA,sCAAW,GACX;QACE,WAAW,CAAA,GAAA,2CAAS,EAAE,0BAA0B;QAChD,SAAS;eACT;QACA,WAAW;IACb,GACA;QAAC;QAAU,wBAAE,CAAA,GAAA,2BAAG,GAAG;kBAAE;YAAM,WAAW;QAAuB;KAAG;AAEpE;AAEA,SAAS,yCAAmB,KAAK;IAC/B,IAAI,SACF,KAAK,kBACL,iBAAiB,gBACjB,QAAQ,YACR,QAAQ,YACR,QAAQ,YACR,WAAW,KAAO,kBAClB,gBAAgB,iBAChB,SAAS,EACV,GAAG;IACJ,MAAM,CAAC,QAAQ,QAAQ,GAAG,CAAA,GAAA,qBAAO,EAAE,YAAY;IAE/C,MAAM,YAAY;QAChB;QACA,QAAQ,CAAC;IACX;IAEA,OAAO,wBACL,4BACA;QACE,WAAW,CAAA,GAAA,2CAAS,EAAE,WAAW;YAC/B,UAAU;YACV,WAAW,CAAC;QACd;IACF,GACA;QACE,wBACE,2CACA;YACE,UAAU;YACV,UAAU;mBACV;4BACA;QACF,GACA,wBAAE,oCAAoC;YACpC,wBAAE,gCAAgC;YAClC;YACA;SACD;QAEH,wBAAE,CAAA,GAAA,+BAAO,GAAG;oBAAE;QAAO,GAAG,wBAAE,0BAA0B,MAAM;KAC3D;AAEL;AAEO,SAAS,0CAAiB,KAAK;IACpC,IAAI,SAAE,KAAK,YAAE,QAAQ,aAAE,SAAS,iBAAE,gBAAgB,MAAM,GAAG;IAC3D,OAAO,wBAAE,0BAA0B;mBAAE;IAAU,GAAG;QAChD,wBAAE,qBAAqB,MAAM,iBAAiB,wBAAE,MAAM;QACtD,wBAAE,qBAAqB,MAAM;KAC9B;AACH;AAEA,SAAS,0CAAe,KAAK;IAC3B,OAAO,wBAAE,0CAAoB;QAC3B,GAAG,KAAK;QACR,WAAW;IACb;AACF;AAEA,SAAS,0CAAkB,KAAK;IAC9B,OAAO,wBAAE,0CAAoB;QAC3B,GAAG,KAAK;QACR,WAAW;QACX,gBAAgB;IAClB;AACF;AAEA,SAAS,0CAAuB,KAAK;IACnC,IAAI,SAAE,KAAK,YAAE,QAAQ,SAAE,KAAK,iBAAE,aAAa,aAAE,SAAS,EAAE,GAAG;IAC3D,MAAM,CAAC,QAAQ,UAAU,GAAG,CAAA,GAAA,qBAAO,EAAE;IACrC,kBAAkB,wBAAE;QAAC,wBAAE,aAAa;QAAQ;KAAM;IAClD,OAAO,wBAAE,0BAA0B;mBAAE;IAAU,GAAG;QAChD,wBAAE,+BAA+B;YAC/B,wBAAE,iCAAiC;YACnC,wBAAE,iCAAiC;gBACjC,wBAAE,CAAA,GAAA,6BAAK,GAAG;oBACR,OAAO;oBACP,SAAS;oBACT,QAAQ;oBACR,SAAS,IAAM,UAAU,CAAC;oBAC1B,MAAM;gBACR;aACD;SACF;QACD,wBACE,CAAA,GAAA,+BAAO,GACP;oBAAE;QAAO,GACT,wBAAE,mCAAmC,MAAM;KAE9C;AACH;AAEA,SAAS,0CAAc,SAAE,KAAK,aAAE,SAAS,YAAE,QAAQ,EAAE;IACnD,OAAO,wBAAE,sBAAsB;mBAAE;IAAU,GAAG;QAC5C,wBAAE,qCAAqC;QACvC,wBAAE,mCAAmC,MAAM;KAC5C;AACH","sources":["packages/map-interface/src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon, className: \"expansion-panel-icon\" })]\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ])\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ]\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children)\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":[],"version":3,"file":"expansion-panel.ef757efe.js.map"}
@@ -1 +0,0 @@
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,oDAAsB,EAAE,IAAI,GAAG,EAAE;IAC1C,KAAK,CAAC,GAAG,CAAA,GAAA,oDAAsB,EAAE,IAAI,GAAG,EAAE;IAE1C,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,MAChD,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAG,EAAE;SACT,IAAI,IAAI,QAAQ,IAAI;QACzB,IAAI,IAAI,QAAQ,GAAG,MACjB,KAAK,CAAC,GAAG,CAAA,GAAA,8BAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ;aAErC,KAAK,CAAC,GAAG,CAAA,GAAA,gCAAK,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,gCAAK,EAAE;IAClB;IACA,IAAI,IAAI,KAAK,IAAI,GACf,KAAK,CAAC,GAAG,CAAA,GAAA,gCAAK,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.62e84f08.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/map-interface/src/helpers.ts"],"sourcesContent":["import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapStatus,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100)\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef)\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime]\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!mapIsLoading) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {}\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":[],"version":3,"file":"helpers.5a745a3a.js.map"}