@macrostrat/column-views 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/{resolvers.36013b49.js → column-views.006d5180.js} +5 -2
  3. package/dist/esm/column-views.006d5180.js.map +1 -0
  4. package/dist/esm/column-views.05586d1f.js +22 -0
  5. package/dist/esm/column-views.05586d1f.js.map +1 -0
  6. package/dist/esm/column-views.0732894f.js +86 -0
  7. package/dist/esm/column-views.0732894f.js.map +1 -0
  8. package/dist/esm/column-views.09f22f45.js +64 -0
  9. package/dist/esm/column-views.09f22f45.js.map +1 -0
  10. package/dist/esm/column-views.10eba967.js +11 -0
  11. package/dist/esm/column-views.10eba967.js.map +1 -0
  12. package/dist/esm/{popover.module.c4d6bfb0.css → column-views.16cc7a58.css} +1 -1
  13. package/dist/esm/{popover.module.c4d6bfb0.css.map → column-views.16cc7a58.css.map} +1 -1
  14. package/dist/esm/{selection.f5b0297e.js → column-views.1af9761e.js} +19 -3
  15. package/dist/esm/column-views.1af9761e.js.map +1 -0
  16. package/dist/esm/column-views.1c92b88f.js +16 -0
  17. package/dist/esm/column-views.1c92b88f.js.map +1 -0
  18. package/dist/esm/{store.c4d7a8a4.js → column-views.1e055ed5.js} +6 -5
  19. package/dist/esm/column-views.1e055ed5.js.map +1 -0
  20. package/dist/esm/column-views.210514ec.js +11 -0
  21. package/dist/esm/column-views.210514ec.js.map +1 -0
  22. package/dist/esm/{column.module.a67a6b4c.css → column-views.217078ab.css} +4 -3
  23. package/dist/esm/column-views.217078ab.css.map +1 -0
  24. package/dist/esm/{panel.module.3d2ea3c6.css → column-views.25471fe0.css} +1 -1
  25. package/dist/esm/{panel.module.3d2ea3c6.css.map → column-views.25471fe0.css.map} +1 -1
  26. package/dist/esm/column-views.2c43c055.js +156 -0
  27. package/dist/esm/column-views.2c43c055.js.map +1 -0
  28. package/dist/esm/column-views.2c45a7b5.js +25 -0
  29. package/dist/esm/column-views.2c45a7b5.js.map +1 -0
  30. package/dist/esm/column-views.2ca34210.js +151 -0
  31. package/dist/esm/column-views.2ca34210.js.map +1 -0
  32. package/dist/esm/{unit-details.071cefed.js → column-views.2cb87813.js} +4 -4
  33. package/dist/esm/{unit-details.071cefed.js.map → column-views.2cb87813.js.map} +1 -1
  34. package/dist/esm/{mapbox.cac42eed.js → column-views.2d8e0e0f.js} +10 -9
  35. package/dist/esm/column-views.2d8e0e0f.js.map +1 -0
  36. package/dist/esm/column-views.3048acc1.js +66 -0
  37. package/dist/esm/column-views.3048acc1.js.map +1 -0
  38. package/dist/esm/column-views.3199d35a.css +61 -0
  39. package/dist/esm/column-views.3199d35a.css.map +1 -0
  40. package/dist/esm/{main.module.3dd9500b.css → column-views.338a7a83.css} +1 -1
  41. package/dist/esm/{main.module.3dd9500b.css.map → column-views.338a7a83.css.map} +1 -1
  42. package/dist/esm/{age-model-overlay.module.cd985dcb.js → column-views.3465c8ad.js} +1 -1
  43. package/dist/esm/{age-model-overlay.module.cd985dcb.js.map → column-views.3465c8ad.js.map} +1 -1
  44. package/dist/esm/column-views.34a52db7.js +31 -0
  45. package/dist/esm/column-views.34a52db7.js.map +1 -0
  46. package/dist/esm/{utils.d7a43a2a.js → column-views.39657bbf.js} +1 -1
  47. package/dist/esm/column-views.39657bbf.js.map +1 -0
  48. package/dist/esm/column-views.3b972a9b.css +4 -0
  49. package/dist/esm/{composite.module.69a38fd1.css.map → column-views.3b972a9b.css.map} +1 -1
  50. package/dist/esm/{base.910b80b4.js → column-views.3ba9213d.js} +16 -5
  51. package/dist/esm/column-views.3ba9213d.js.map +1 -0
  52. package/dist/esm/{inset-map.3c18106d.js → column-views.3de4dc43.js} +1 -1
  53. package/dist/esm/{inset-map.3c18106d.js.map → column-views.3de4dc43.js.map} +1 -1
  54. package/dist/esm/column-views.403a7b48.css +24 -0
  55. package/dist/esm/column-views.403a7b48.css.map +1 -0
  56. package/dist/esm/{composite.module.0638e7ee.js → column-views.40cd59b5.js} +1 -1
  57. package/dist/esm/{composite.module.0638e7ee.js.map → column-views.40cd59b5.js.map} +1 -1
  58. package/dist/esm/{column.module.1b776e15.js → column-views.4637f4ce.js} +1 -1
  59. package/dist/esm/column-views.4637f4ce.js.map +1 -0
  60. package/dist/esm/column-views.494447ef.css +2 -0
  61. package/dist/esm/column-views.494447ef.css.map +1 -0
  62. package/dist/esm/column-views.4950ea28.js +28 -0
  63. package/dist/esm/column-views.4950ea28.js.map +1 -0
  64. package/dist/esm/{composite-scale.577bf64a.js → column-views.4ab0ec82.js} +44 -13
  65. package/dist/esm/column-views.4ab0ec82.js.map +1 -0
  66. package/dist/esm/{age-model-overlay.c7226855.js → column-views.4d22c21c.js} +5 -5
  67. package/dist/esm/{age-model-overlay.c7226855.js.map → column-views.4d22c21c.js.map} +1 -1
  68. package/dist/esm/{boxes.module.4ebc7796.js → column-views.4d374a35.js} +1 -1
  69. package/dist/esm/{boxes.module.4ebc7796.js.map → column-views.4d374a35.js.map} +1 -1
  70. package/dist/esm/{keyboard-navigation.a9fc80dd.js → column-views.52a6eb47.js} +3 -3
  71. package/dist/esm/{keyboard-navigation.a9fc80dd.js.map → column-views.52a6eb47.js.map} +1 -1
  72. package/dist/esm/{popover.a810b7bc.js → column-views.52b03330.js} +6 -6
  73. package/dist/esm/{popover.a810b7bc.js.map → column-views.52b03330.js.map} +1 -1
  74. package/dist/esm/column-views.57636733.css +22 -0
  75. package/dist/esm/column-views.57636733.css.map +1 -0
  76. package/dist/esm/{panel.module.386166cc.js → column-views.58b82432.js} +1 -1
  77. package/dist/esm/{panel.module.386166cc.js.map → column-views.58b82432.js.map} +1 -1
  78. package/dist/esm/{main.2e0375a5.js → column-views.59792b70.js} +21 -18
  79. package/dist/esm/column-views.59792b70.js.map +1 -0
  80. package/dist/esm/{svg.4b9a96c1.js → column-views.59bb0cba.js} +2 -3
  81. package/dist/esm/column-views.59bb0cba.js.map +1 -0
  82. package/dist/esm/{correlation-chart.abd8b346.js → column-views.5ae1d963.js} +3 -3
  83. package/dist/esm/{correlation-chart.abd8b346.js.map → column-views.5ae1d963.js.map} +1 -1
  84. package/dist/esm/{fetch.99aec438.js → column-views.5cc09c1d.js} +1 -1
  85. package/dist/esm/column-views.5cc09c1d.js.map +1 -0
  86. package/dist/esm/column-views.5e2dc19d.js +187 -0
  87. package/dist/esm/column-views.5e2dc19d.js.map +1 -0
  88. package/dist/esm/{styles.7bc776d1.js → column-views.633c42a3.js} +2 -1
  89. package/dist/esm/column-views.633c42a3.js.map +1 -0
  90. package/dist/esm/{layers.033d3fb0.js → column-views.6549388a.js} +5 -6
  91. package/dist/esm/column-views.6549388a.js.map +1 -0
  92. package/dist/esm/{panel.598f76a5.js → column-views.66f823ba.js} +66 -15
  93. package/dist/esm/column-views.66f823ba.js.map +1 -0
  94. package/dist/esm/{age-axis.module.3cc91335.js → column-views.686d21ad.js} +10 -1
  95. package/dist/esm/column-views.686d21ad.js.map +1 -0
  96. package/dist/esm/column-views.68afac63.js +90 -0
  97. package/dist/esm/column-views.68afac63.js.map +1 -0
  98. package/dist/esm/column-views.6992ca88.js +25 -0
  99. package/dist/esm/column-views.6992ca88.js.map +1 -0
  100. package/dist/esm/column-views.69c0e90d.js +5 -0
  101. package/dist/esm/column-views.69c0e90d.js.map +1 -0
  102. package/dist/esm/{main.module.c09154b1.js → column-views.6a954628.js} +1 -1
  103. package/dist/esm/{main.module.c09154b1.js.map → column-views.6a954628.js.map} +1 -1
  104. package/dist/esm/{boxes.module.2b5fb18e.css → column-views.6c670c13.css} +1 -1
  105. package/dist/esm/{boxes.module.2b5fb18e.css.map → column-views.6c670c13.css.map} +1 -1
  106. package/dist/esm/{column-nav.5414677c.js → column-views.6d6b73b4.js} +1 -1
  107. package/dist/esm/{column-nav.5414677c.js.map → column-views.6d6b73b4.js.map} +1 -1
  108. package/dist/esm/column-views.708140ab.css +36 -0
  109. package/dist/esm/column-views.708140ab.css.map +1 -0
  110. package/dist/esm/column-views.7631c221.js +13 -0
  111. package/dist/esm/column-views.7631c221.js.map +1 -0
  112. package/dist/esm/{names.a8f2b452.js → column-views.7715e35e.js} +18 -14
  113. package/dist/esm/column-views.7715e35e.js.map +1 -0
  114. package/dist/esm/column-views.7a414dd1.css +56 -0
  115. package/dist/esm/column-views.7a414dd1.css.map +1 -0
  116. package/dist/esm/column-views.7a726ca9.js +24 -0
  117. package/dist/esm/column-views.7a726ca9.js.map +1 -0
  118. package/dist/esm/column-views.7e21d1ec.js +34 -0
  119. package/dist/esm/column-views.7e21d1ec.js.map +1 -0
  120. package/dist/esm/{column-correlation.c8dcfe98.js → column-views.7e350ae2.js} +3 -3
  121. package/dist/esm/{column-correlation.c8dcfe98.js.map → column-views.7e350ae2.js.map} +1 -1
  122. package/dist/esm/column-views.83a557b3.js +11 -0
  123. package/dist/esm/column-views.83a557b3.js.map +1 -0
  124. package/dist/esm/{state.2952cbca.js → column-views.85c6a716.js} +2 -2
  125. package/dist/esm/column-views.85c6a716.js.map +1 -0
  126. package/dist/esm/column-views.86619334.js +9 -0
  127. package/dist/esm/column-views.86619334.js.map +1 -0
  128. package/dist/esm/{age-axis.4a8cf5e6.js → column-views.8833218c.js} +25 -6
  129. package/dist/esm/column-views.8833218c.js.map +1 -0
  130. package/dist/esm/column-views.88984b34.js +92 -0
  131. package/dist/esm/column-views.88984b34.js.map +1 -0
  132. package/dist/esm/{core.91ede078.js → column-views.89b9e542.js} +12 -19
  133. package/dist/esm/column-views.89b9e542.js.map +1 -0
  134. package/dist/esm/column-views.8a1db14e.js +105 -0
  135. package/dist/esm/column-views.8a1db14e.js.map +1 -0
  136. package/dist/esm/column-views.8e7b01d2.js +43 -0
  137. package/dist/esm/column-views.8e7b01d2.js.map +1 -0
  138. package/dist/esm/column-views.8f108485.js +128 -0
  139. package/dist/esm/column-views.8f108485.js.map +1 -0
  140. package/dist/esm/column-views.904b9365.js +57 -0
  141. package/dist/esm/column-views.904b9365.js.map +1 -0
  142. package/dist/esm/column-views.90a863af.js +11 -0
  143. package/dist/esm/column-views.90a863af.js.map +1 -0
  144. package/dist/esm/{column.01d68dd8.js → column-views.91385fdc.js} +69 -32
  145. package/dist/esm/column-views.91385fdc.js.map +1 -0
  146. package/dist/esm/{helpers.2f0a0cb7.js → column-views.9892f825.js} +55 -4
  147. package/dist/esm/column-views.9892f825.js.map +1 -0
  148. package/dist/esm/{colors.395c6db5.js → column-views.9b77388d.js} +6 -5
  149. package/dist/esm/column-views.9b77388d.js.map +1 -0
  150. package/dist/esm/column-views.a582d4b5.js +7 -0
  151. package/dist/esm/column-views.a582d4b5.js.map +1 -0
  152. package/dist/esm/column-views.a7c5ae16.js +25 -0
  153. package/dist/esm/column-views.a7c5ae16.js.map +1 -0
  154. package/dist/esm/{boxes.8292cff2.js → column-views.a91dde4a.js} +14 -13
  155. package/dist/esm/column-views.a91dde4a.js.map +1 -0
  156. package/dist/esm/{_shared.f7eec55a.js → column-views.a94e99a2.js} +3 -3
  157. package/dist/esm/{_shared.f7eec55a.js.map → column-views.a94e99a2.js.map} +1 -1
  158. package/dist/esm/column-views.ad472a38.css +54 -0
  159. package/dist/esm/column-views.ad472a38.css.map +1 -0
  160. package/dist/esm/{age-axis.module.03773a80.css → column-views.b17f793f.css} +21 -1
  161. package/dist/esm/column-views.b17f793f.css.map +1 -0
  162. package/dist/esm/column-views.b2b5f52c.js +19 -0
  163. package/dist/esm/column-views.b2b5f52c.js.map +1 -0
  164. package/dist/esm/column-views.b324842f.css +57 -0
  165. package/dist/esm/column-views.b324842f.css.map +1 -0
  166. package/dist/esm/{state.178ef364.js → column-views.b9fe5176.js} +14 -8
  167. package/dist/esm/column-views.b9fe5176.js.map +1 -0
  168. package/dist/esm/{section.a34d379a.js → column-views.bb46641f.js} +9 -10
  169. package/dist/esm/column-views.bb46641f.js.map +1 -0
  170. package/dist/esm/column-views.bba13f77.css +54 -0
  171. package/dist/esm/column-views.bba13f77.css.map +1 -0
  172. package/dist/esm/{maps.bcdea9c1.js → column-views.bcffe6e5.js} +4 -4
  173. package/dist/esm/{maps.bcdea9c1.js.map → column-views.bcffe6e5.js.map} +1 -1
  174. package/dist/esm/{hash-string.285b37fb.js → column-views.beb54e95.js} +1 -1
  175. package/dist/esm/{hash-string.285b37fb.js.map → column-views.beb54e95.js.map} +1 -1
  176. package/dist/esm/{column-navigation.37cd3245.js → column-views.c25e8b32.js} +3 -3
  177. package/dist/esm/{column-navigation.37cd3245.js.map → column-views.c25e8b32.js.map} +1 -1
  178. package/dist/esm/column-views.c5e108f9.js +34 -0
  179. package/dist/esm/column-views.c5e108f9.js.map +1 -0
  180. package/dist/esm/{prepare-units.6c890a96.js → column-views.c71c321c.js} +12 -12
  181. package/dist/esm/column-views.c71c321c.js.map +1 -0
  182. package/dist/esm/{data-provider.f10c6d0b.js → column-views.c8e2983a.js} +6 -6
  183. package/dist/esm/{data-provider.f10c6d0b.js.map → column-views.c8e2983a.js.map} +1 -1
  184. package/dist/esm/column-views.cae5a0ad.js +37 -0
  185. package/dist/esm/column-views.cae5a0ad.js.map +1 -0
  186. package/dist/esm/{composite.039e4798.js → column-views.d2037465.js} +17 -11
  187. package/dist/esm/column-views.d2037465.js.map +1 -0
  188. package/dist/esm/{keyboard-navigation.6713401b.js → column-views.dc42f5d0.js} +1 -1
  189. package/dist/esm/column-views.dc42f5d0.js.map +1 -0
  190. package/dist/esm/column-views.e20f6a4b.js +124 -0
  191. package/dist/esm/column-views.e20f6a4b.js.map +1 -0
  192. package/dist/esm/{age-model-overlay.module.5d9e78fb.css → column-views.e40b8bfb.css} +1 -1
  193. package/dist/esm/{age-model-overlay.module.5d9e78fb.css.map → column-views.e40b8bfb.css.map} +1 -1
  194. package/dist/esm/column-views.e4975dd6.css +146 -0
  195. package/dist/esm/column-views.e4975dd6.css.map +1 -0
  196. package/dist/esm/column-views.e9f8b2a7.js +20 -0
  197. package/dist/esm/column-views.e9f8b2a7.js.map +1 -0
  198. package/dist/esm/column-views.edeab611.js +204 -0
  199. package/dist/esm/column-views.edeab611.js.map +1 -0
  200. package/dist/esm/{popover.module.c4ba4189.js → column-views.edf77621.js} +1 -1
  201. package/dist/esm/{popover.module.c4ba4189.js.map → column-views.edf77621.js.map} +1 -1
  202. package/dist/esm/{prepare-data.d4284b4a.js → column-views.f08929e2.js} +2 -2
  203. package/dist/esm/column-views.f08929e2.js.map +1 -0
  204. package/dist/esm/column-views.f13a1d6e.js +37 -0
  205. package/dist/esm/column-views.f13a1d6e.js.map +1 -0
  206. package/dist/esm/column-views.f2948ff8.js +101 -0
  207. package/dist/esm/column-views.f2948ff8.js.map +1 -0
  208. package/dist/esm/column-views.f9dab157.js +3 -0
  209. package/dist/esm/column-views.f9dab157.js.map +1 -0
  210. package/dist/esm/column-views.fa19cea0.js +108 -0
  211. package/dist/esm/column-views.fa19cea0.js.map +1 -0
  212. package/dist/esm/index.d.ts +325 -296
  213. package/dist/esm/index.d.ts.map +1 -1
  214. package/dist/esm/index.js +13 -11
  215. package/dist/esm/index.js.map +1 -1
  216. package/dist/node/column-views.007bf6c1.js +2 -0
  217. package/dist/node/column-views.007bf6c1.js.map +1 -0
  218. package/dist/node/column-views.00848c9a.js +2 -0
  219. package/dist/node/column-views.00848c9a.js.map +1 -0
  220. package/dist/node/column-views.0278b7e5.js +2 -0
  221. package/dist/node/column-views.0278b7e5.js.map +1 -0
  222. package/dist/node/column-views.04407342.js +2 -0
  223. package/dist/node/column-views.04407342.js.map +1 -0
  224. package/dist/node/column-views.072d3dcd.js +2 -0
  225. package/dist/node/column-views.072d3dcd.js.map +1 -0
  226. package/dist/node/column-views.0859f5d2.js +2 -0
  227. package/dist/node/column-views.0859f5d2.js.map +1 -0
  228. package/dist/node/column-views.0b579299.css +2 -0
  229. package/dist/node/column-views.0b579299.css.map +1 -0
  230. package/dist/node/column-views.0b72c188.js +2 -0
  231. package/dist/node/column-views.0b72c188.js.map +1 -0
  232. package/dist/node/column-views.1064fcfb.js +2 -0
  233. package/dist/node/column-views.1064fcfb.js.map +1 -0
  234. package/dist/node/column-views.10a2bad6.js +2 -0
  235. package/dist/node/column-views.10a2bad6.js.map +1 -0
  236. package/dist/node/column-views.12864efd.js +2 -0
  237. package/dist/node/column-views.12864efd.js.map +1 -0
  238. package/dist/node/column-views.12a70e9d.js +2 -0
  239. package/dist/node/column-views.12a70e9d.js.map +1 -0
  240. package/dist/node/column-views.139b0855.js +2 -0
  241. package/dist/node/column-views.139b0855.js.map +1 -0
  242. package/dist/node/column-views.1a0b56fc.js +2 -0
  243. package/dist/node/column-views.1a0b56fc.js.map +1 -0
  244. package/dist/node/column-views.1de87649.js +2 -0
  245. package/dist/node/column-views.1de87649.js.map +1 -0
  246. package/dist/node/column-views.22673dc1.js +2 -0
  247. package/dist/node/column-views.22673dc1.js.map +1 -0
  248. package/dist/node/column-views.273ac4a8.js +2 -0
  249. package/dist/node/column-views.273ac4a8.js.map +1 -0
  250. package/dist/node/column-views.28609db2.css +2 -0
  251. package/dist/node/column-views.28609db2.css.map +1 -0
  252. package/dist/node/column-views.286d444d.js +2 -0
  253. package/dist/node/column-views.286d444d.js.map +1 -0
  254. package/dist/node/column-views.2877f398.js +2 -0
  255. package/dist/node/column-views.2877f398.js.map +1 -0
  256. package/dist/node/column-views.2a70b9a2.js +2 -0
  257. package/dist/node/column-views.2a70b9a2.js.map +1 -0
  258. package/dist/node/column-views.2e4e357d.js +2 -0
  259. package/dist/node/column-views.2e4e357d.js.map +1 -0
  260. package/dist/node/column-views.2fa1c4e6.css +2 -0
  261. package/dist/node/column-views.2fa1c4e6.css.map +1 -0
  262. package/dist/node/column-views.33102ceb.js +2 -0
  263. package/dist/node/column-views.33102ceb.js.map +1 -0
  264. package/dist/node/column-views.3345cd7a.js +2 -0
  265. package/dist/node/column-views.3345cd7a.js.map +1 -0
  266. package/dist/node/column-views.33752461.js +2 -0
  267. package/dist/node/column-views.33752461.js.map +1 -0
  268. package/dist/node/column-views.34b48ee4.js +2 -0
  269. package/dist/node/column-views.34b48ee4.js.map +1 -0
  270. package/dist/node/column-views.39d3a0be.js +2 -0
  271. package/dist/node/column-views.39d3a0be.js.map +1 -0
  272. package/dist/node/column-views.3a55ecd7.css +2 -0
  273. package/dist/node/column-views.3a55ecd7.css.map +1 -0
  274. package/dist/node/column-views.3bd09ad6.js +2 -0
  275. package/dist/node/column-views.3bd09ad6.js.map +1 -0
  276. package/dist/node/column-views.3cb3345e.js +2 -0
  277. package/dist/node/column-views.3cb3345e.js.map +1 -0
  278. package/dist/node/column-views.3f3cfcce.js +2 -0
  279. package/dist/node/column-views.3f3cfcce.js.map +1 -0
  280. package/dist/node/column-views.41876859.js +2 -0
  281. package/dist/node/column-views.41876859.js.map +1 -0
  282. package/dist/node/column-views.41d01674.js +2 -0
  283. package/dist/node/column-views.41d01674.js.map +1 -0
  284. package/dist/node/column-views.44b75011.js +2 -0
  285. package/dist/node/column-views.44b75011.js.map +1 -0
  286. package/dist/node/column-views.45168c80.js +2 -0
  287. package/dist/node/column-views.45168c80.js.map +1 -0
  288. package/dist/node/column-views.47f67ad4.js +2 -0
  289. package/dist/node/column-views.47f67ad4.js.map +1 -0
  290. package/dist/node/column-views.4e2bdf9b.js +2 -0
  291. package/dist/node/column-views.4e2bdf9b.js.map +1 -0
  292. package/dist/node/column-views.51fbed89.js +2 -0
  293. package/dist/node/column-views.51fbed89.js.map +1 -0
  294. package/dist/node/column-views.5b6833f0.js +2 -0
  295. package/dist/node/column-views.5b6833f0.js.map +1 -0
  296. package/dist/node/column-views.5c1b0eeb.css +2 -0
  297. package/dist/node/column-views.5c1b0eeb.css.map +1 -0
  298. package/dist/node/column-views.63165cf3.css +2 -0
  299. package/dist/node/column-views.63165cf3.css.map +1 -0
  300. package/dist/node/column-views.65ad6310.css +2 -0
  301. package/dist/node/column-views.65ad6310.css.map +1 -0
  302. package/dist/node/column-views.664dc6c9.js +2 -0
  303. package/dist/node/column-views.664dc6c9.js.map +1 -0
  304. package/dist/node/column-views.68224fdd.css +2 -0
  305. package/dist/node/column-views.68224fdd.css.map +1 -0
  306. package/dist/node/column-views.68ded006.js +2 -0
  307. package/dist/node/column-views.68ded006.js.map +1 -0
  308. package/dist/node/column-views.6a0a35e7.js +2 -0
  309. package/dist/node/column-views.6a0a35e7.js.map +1 -0
  310. package/dist/node/column-views.6a4c2100.css +2 -0
  311. package/dist/node/column-views.6a4c2100.css.map +1 -0
  312. package/dist/node/column-views.6a9da051.js +2 -0
  313. package/dist/node/column-views.6a9da051.js.map +1 -0
  314. package/dist/node/column-views.6b441349.js +2 -0
  315. package/dist/node/column-views.6b441349.js.map +1 -0
  316. package/dist/node/column-views.6b6b756b.js +2 -0
  317. package/dist/node/column-views.6b6b756b.js.map +1 -0
  318. package/dist/node/column-views.6bba8c57.js +2 -0
  319. package/dist/node/column-views.6bba8c57.js.map +1 -0
  320. package/dist/node/column-views.6d1551bd.js +2 -0
  321. package/dist/node/column-views.6d1551bd.js.map +1 -0
  322. package/dist/node/column-views.6da49480.js +2 -0
  323. package/dist/node/column-views.6da49480.js.map +1 -0
  324. package/dist/node/column-views.71c48a11.js +2 -0
  325. package/dist/node/column-views.71c48a11.js.map +1 -0
  326. package/dist/node/column-views.7350ac73.js +2 -0
  327. package/dist/node/column-views.7350ac73.js.map +1 -0
  328. package/dist/node/column-views.755f726e.js +2 -0
  329. package/dist/node/column-views.755f726e.js.map +1 -0
  330. package/dist/node/column-views.770d2c95.js +2 -0
  331. package/dist/node/column-views.770d2c95.js.map +1 -0
  332. package/dist/node/column-views.78d3f3c5.js +2 -0
  333. package/dist/node/column-views.78d3f3c5.js.map +1 -0
  334. package/dist/node/column-views.7b9bd06e.css +2 -0
  335. package/dist/node/column-views.7b9bd06e.css.map +1 -0
  336. package/dist/node/column-views.7be87c6b.js +2 -0
  337. package/dist/node/column-views.7be87c6b.js.map +1 -0
  338. package/dist/node/column-views.7d45bbeb.js +2 -0
  339. package/dist/node/column-views.7d45bbeb.js.map +1 -0
  340. package/dist/node/column-views.7f621850.js +2 -0
  341. package/dist/node/column-views.7f621850.js.map +1 -0
  342. package/dist/node/column-views.82cf7c0d.js +2 -0
  343. package/dist/node/column-views.82cf7c0d.js.map +1 -0
  344. package/dist/node/column-views.869c7199.js +2 -0
  345. package/dist/node/column-views.869c7199.js.map +1 -0
  346. package/dist/node/column-views.8a02b1fe.js +2 -0
  347. package/dist/node/column-views.8a02b1fe.js.map +1 -0
  348. package/dist/node/column-views.8acd24ca.js +2 -0
  349. package/dist/node/column-views.8acd24ca.js.map +1 -0
  350. package/dist/node/column-views.8c00beb4.js +2 -0
  351. package/dist/node/column-views.8c00beb4.js.map +1 -0
  352. package/dist/node/column-views.8cfed88b.js +2 -0
  353. package/dist/node/column-views.8cfed88b.js.map +1 -0
  354. package/dist/node/column-views.8f54691f.js +2 -0
  355. package/dist/node/column-views.8f54691f.js.map +1 -0
  356. package/dist/node/column-views.95411f1b.js +2 -0
  357. package/dist/node/column-views.95411f1b.js.map +1 -0
  358. package/dist/node/column-views.9cb13e51.css +2 -0
  359. package/dist/node/column-views.9cb13e51.css.map +1 -0
  360. package/dist/node/column-views.a0aac838.js +2 -0
  361. package/dist/node/column-views.a0aac838.js.map +1 -0
  362. package/dist/node/column-views.a208338e.js +2 -0
  363. package/dist/node/column-views.a208338e.js.map +1 -0
  364. package/dist/node/column-views.a501cea0.js +2 -0
  365. package/dist/node/column-views.a501cea0.js.map +1 -0
  366. package/dist/node/column-views.a634ac7f.js +2 -0
  367. package/dist/node/column-views.a634ac7f.js.map +1 -0
  368. package/dist/node/column-views.a8ffe072.js +2 -0
  369. package/dist/node/column-views.a8ffe072.js.map +1 -0
  370. package/dist/node/column-views.b169b4b5.css +2 -0
  371. package/dist/node/column-views.b169b4b5.css.map +1 -0
  372. package/dist/node/column-views.b55bd885.css +2 -0
  373. package/dist/node/column-views.b55bd885.css.map +1 -0
  374. package/dist/node/column-views.b773edb8.js +2 -0
  375. package/dist/node/column-views.b773edb8.js.map +1 -0
  376. package/dist/node/column-views.baf032f1.js +2 -0
  377. package/dist/node/column-views.baf032f1.js.map +1 -0
  378. package/dist/node/column-views.bb510980.js +2 -0
  379. package/dist/node/column-views.bb510980.js.map +1 -0
  380. package/dist/node/column-views.c968a185.css +2 -0
  381. package/dist/node/column-views.c968a185.css.map +1 -0
  382. package/dist/node/column-views.ca16625d.js +2 -0
  383. package/dist/node/column-views.ca16625d.js.map +1 -0
  384. package/dist/node/column-views.cd3c430b.js +2 -0
  385. package/dist/node/column-views.cd3c430b.js.map +1 -0
  386. package/dist/node/column-views.cd468adb.css +2 -0
  387. package/dist/node/column-views.cd468adb.css.map +1 -0
  388. package/dist/node/column-views.cdcce702.js +2 -0
  389. package/dist/node/column-views.cdcce702.js.map +1 -0
  390. package/dist/node/column-views.ce6808fe.js +2 -0
  391. package/dist/node/column-views.ce6808fe.js.map +1 -0
  392. package/dist/node/column-views.cf90f63d.js +2 -0
  393. package/dist/node/column-views.cf90f63d.js.map +1 -0
  394. package/dist/node/column-views.d0ee3385.js +2 -0
  395. package/dist/node/column-views.d0ee3385.js.map +1 -0
  396. package/dist/node/column-views.d6708353.js +2 -0
  397. package/dist/node/column-views.d6708353.js.map +1 -0
  398. package/dist/node/column-views.d9bbd6fb.css +2 -0
  399. package/dist/node/column-views.d9bbd6fb.css.map +1 -0
  400. package/dist/node/column-views.dfe9f0a9.js +2 -0
  401. package/dist/node/column-views.dfe9f0a9.js.map +1 -0
  402. package/dist/node/column-views.e52994ea.js +2 -0
  403. package/dist/node/column-views.e52994ea.js.map +1 -0
  404. package/dist/node/column-views.e6720522.js +2 -0
  405. package/dist/node/column-views.e6720522.js.map +1 -0
  406. package/dist/node/column-views.e77dd525.js +2 -0
  407. package/dist/node/column-views.e77dd525.js.map +1 -0
  408. package/dist/node/column-views.e7cd811c.css +2 -0
  409. package/dist/node/column-views.e7cd811c.css.map +1 -0
  410. package/dist/node/column-views.e7e26765.js +2 -0
  411. package/dist/node/column-views.e7e26765.js.map +1 -0
  412. package/dist/node/column-views.e9515ec1.js +2 -0
  413. package/dist/node/column-views.e9515ec1.js.map +1 -0
  414. package/dist/node/column-views.ebb44b7d.js +2 -0
  415. package/dist/node/column-views.ebb44b7d.js.map +1 -0
  416. package/dist/node/column-views.ee8cb107.js +2 -0
  417. package/dist/node/column-views.ee8cb107.js.map +1 -0
  418. package/dist/node/column-views.eea80478.js +2 -0
  419. package/dist/node/column-views.eea80478.js.map +1 -0
  420. package/dist/node/column-views.f7315cbc.css +2 -0
  421. package/dist/node/column-views.f7315cbc.css.map +1 -0
  422. package/dist/node/column-views.f76ba19f.js +2 -0
  423. package/dist/node/column-views.f76ba19f.js.map +1 -0
  424. package/dist/node/column-views.fea32686.js +2 -0
  425. package/dist/node/column-views.fea32686.js.map +1 -0
  426. package/dist/node/index.js +1 -1
  427. package/dist/node/index.js.map +1 -1
  428. package/package.json +23 -23
  429. package/src/age-axis.module.sass +20 -0
  430. package/src/age-axis.ts +25 -3
  431. package/src/age-model-overlay.ts +2 -2
  432. package/src/column.module.sass +3 -3
  433. package/src/column.ts +92 -19
  434. package/src/correlation-chart/main.ts +25 -12
  435. package/src/correlation-chart/prepare-data.ts +6 -6
  436. package/src/correlation-chart/stories/correlation-chart.stories.ts +12 -6
  437. package/src/data-provider/base.ts +20 -11
  438. package/src/data-provider/column-nav.ts +2 -2
  439. package/src/data-provider/fetch.ts +9 -9
  440. package/src/data-provider/store.ts +15 -10
  441. package/src/{carbon-isotopes → facets/carbon-isotopes}/data-area.ts +5 -4
  442. package/src/{carbon-isotopes → facets/carbon-isotopes}/index.ts +0 -1
  443. package/src/facets/carbon-isotopes/isotopes-column.module.sass +31 -0
  444. package/src/{carbon-isotopes → facets/carbon-isotopes}/isotopes-column.ts +119 -87
  445. package/src/facets/detrital-zircon/index.module.sass +22 -0
  446. package/src/facets/detrital-zircon/index.ts +132 -0
  447. package/src/facets/detrital-zircon/provider.ts +51 -0
  448. package/src/facets/fossils/index.module.sass +14 -0
  449. package/src/facets/fossils/index.ts +120 -0
  450. package/src/facets/fossils/provider.ts +80 -0
  451. package/src/facets/index.ts +3 -0
  452. package/src/index.ts +2 -1
  453. package/src/maps/_shared/inset-map.stories.ts +1 -1
  454. package/src/maps/_shared/inset-map.ts +2 -2
  455. package/src/maps/_shared/styles.ts +3 -1
  456. package/src/maps/column-correlation/column-correlation-map.stories.ts +3 -3
  457. package/src/maps/column-correlation/core.ts +17 -26
  458. package/src/maps/column-correlation/state.ts +9 -9
  459. package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +177 -1
  460. package/src/maps/column-navigation/mapbox/index.ts +18 -15
  461. package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +4 -4
  462. package/src/maps/column-navigation/mapbox/state.ts +16 -6
  463. package/src/maps/column-navigation/svg/animated.ts +2 -2
  464. package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +2 -2
  465. package/src/maps/column-navigation/svg/index.ts +2 -4
  466. package/src/maps/column-navigation/svg/layers.ts +5 -7
  467. package/src/maps/column-navigation/utils/keyboard-navigation.ts +1 -1
  468. package/src/notes.ts +49 -0
  469. package/src/prepare-units/composite-scale.ts +73 -25
  470. package/src/prepare-units/helpers.ts +78 -13
  471. package/src/prepare-units/index.ts +17 -17
  472. package/src/prepare-units/utils.ts +7 -7
  473. package/src/section.ts +8 -8
  474. package/src/unit-details/panel.ts +103 -19
  475. package/src/unit-details/popover.ts +5 -5
  476. package/src/units/boxes.ts +20 -10
  477. package/src/units/colors.ts +12 -5
  478. package/src/units/composite.ts +16 -11
  479. package/src/units/index.ts +77 -10
  480. package/src/units/names.ts +19 -16
  481. package/src/units/resolvers.ts +4 -1
  482. package/src/units/selection.ts +44 -11
  483. package/src/units/types.ts +2 -0
  484. package/dist/esm/age-axis.4a8cf5e6.js.map +0 -1
  485. package/dist/esm/age-axis.module.03773a80.css.map +0 -1
  486. package/dist/esm/age-axis.module.3cc91335.js.map +0 -1
  487. package/dist/esm/base.910b80b4.js.map +0 -1
  488. package/dist/esm/boxes.8292cff2.js.map +0 -1
  489. package/dist/esm/carbon-isotopes.10db8285.js +0 -11
  490. package/dist/esm/carbon-isotopes.10db8285.js.map +0 -1
  491. package/dist/esm/colors.395c6db5.js.map +0 -1
  492. package/dist/esm/column.01d68dd8.js.map +0 -1
  493. package/dist/esm/column.a25f8ebd.js +0 -117
  494. package/dist/esm/column.a25f8ebd.js.map +0 -1
  495. package/dist/esm/column.module.1b776e15.js.map +0 -1
  496. package/dist/esm/column.module.7f47d25a.js +0 -34
  497. package/dist/esm/column.module.7f47d25a.js.map +0 -1
  498. package/dist/esm/column.module.a67a6b4c.css.map +0 -1
  499. package/dist/esm/column.module.cbb072df.css +0 -157
  500. package/dist/esm/column.module.cbb072df.css.map +0 -1
  501. package/dist/esm/composite-scale.577bf64a.js.map +0 -1
  502. package/dist/esm/composite.039e4798.js.map +0 -1
  503. package/dist/esm/composite.module.69a38fd1.css +0 -4
  504. package/dist/esm/core.843310d3.js +0 -88
  505. package/dist/esm/core.843310d3.js.map +0 -1
  506. package/dist/esm/core.91ede078.js.map +0 -1
  507. package/dist/esm/data-area.daff8da0.js +0 -86
  508. package/dist/esm/data-area.daff8da0.js.map +0 -1
  509. package/dist/esm/data-provider.1506eb64.js +0 -25
  510. package/dist/esm/data-provider.1506eb64.js.map +0 -1
  511. package/dist/esm/fetch.99aec438.js.map +0 -1
  512. package/dist/esm/helpers.2f0a0cb7.js.map +0 -1
  513. package/dist/esm/isotopes-column.7cb5cc45.js +0 -163
  514. package/dist/esm/isotopes-column.7cb5cc45.js.map +0 -1
  515. package/dist/esm/keyboard-navigation.6713401b.js.map +0 -1
  516. package/dist/esm/layers.033d3fb0.js.map +0 -1
  517. package/dist/esm/main.2e0375a5.js.map +0 -1
  518. package/dist/esm/mapbox.cac42eed.js.map +0 -1
  519. package/dist/esm/names.a8f2b452.js.map +0 -1
  520. package/dist/esm/panel.598f76a5.js.map +0 -1
  521. package/dist/esm/prepare-data.d4284b4a.js.map +0 -1
  522. package/dist/esm/prepare-units.6c890a96.js.map +0 -1
  523. package/dist/esm/resolvers.36013b49.js.map +0 -1
  524. package/dist/esm/section.a34d379a.js.map +0 -1
  525. package/dist/esm/selection.f5b0297e.js.map +0 -1
  526. package/dist/esm/state.178ef364.js.map +0 -1
  527. package/dist/esm/state.2952cbca.js.map +0 -1
  528. package/dist/esm/store.c4d7a8a4.js.map +0 -1
  529. package/dist/esm/styles.7bc776d1.js.map +0 -1
  530. package/dist/esm/svg.4b9a96c1.js.map +0 -1
  531. package/dist/esm/types.0f0b57c9.js +0 -3
  532. package/dist/esm/types.0f0b57c9.js.map +0 -1
  533. package/dist/esm/units.5a4fc058.js +0 -98
  534. package/dist/esm/units.5a4fc058.js.map +0 -1
  535. package/dist/esm/utils.d7a43a2a.js.map +0 -1
  536. package/src/carbon-isotopes/column.module.sass +0 -136
  537. package/src/carbon-isotopes/column.ts +0 -133
  538. package/src/carbon-isotopes/core.ts +0 -81
  539. /package/src/{carbon-isotopes → facets/carbon-isotopes}/data-provider.ts +0 -0
@@ -1,88 +0,0 @@
1
- import $l9wxE$columnmodule7f47d25ajs from "./column.module.7f47d25a.js";
2
- import "./column.module.cbb072df.css";
3
- import $132b1b0fb905c489$export$2e2bcd8739ae039 from "./column.a25f8ebd.js";
4
- import {MeasurementDataProvider as $8adf39b8c41fe3cc$export$5f01d5b342a89841} from "./data-provider.1506eb64.js";
5
- import {ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b} from "./svg.4b9a96c1.js";
6
- import {MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080} from "./layers.033d3fb0.js";
7
- import {MacrostratDataProvider as $774a5efa27d1c77b$export$690613f93cdc5576} from "./base.910b80b4.js";
8
- import {useColumnNav as $b8de97dfa82f4910$export$91cb5ac808759b34} from "./column-nav.5414677c.js";
9
- import $l9wxE$macrostrathyper from "@macrostrat/hyper";
10
- import {useAPIResult as $l9wxE$useAPIResult} from "@macrostrat/ui-components";
11
- import {useMemo as $l9wxE$useMemo} from "react";
12
-
13
-
14
- function $parcel$interopDefault(a) {
15
- return a && a.__esModule ? a.default : a;
16
- }
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
- const $5cc70deb5088007a$var$h = (0, $l9wxE$macrostrathyper).styled((0, ($parcel$interopDefault($l9wxE$columnmodule7f47d25ajs))));
26
- const $5cc70deb5088007a$var$ColumnTitle = (props)=>{
27
- return $5cc70deb5088007a$var$h.if(props.data != null)("h1", props.data?.col_name);
28
- };
29
- const $5cc70deb5088007a$var$defaultArgs = {
30
- col_id: 2192,
31
- //unit_id: null,
32
- project_id: 10,
33
- status_code: "in process"
34
- };
35
- function $5cc70deb5088007a$export$883edafebdc6d87e(columnArgs) {
36
- return $5cc70deb5088007a$var$h((0, $774a5efa27d1c77b$export$690613f93cdc5576), $5cc70deb5088007a$var$h((0, $8adf39b8c41fe3cc$export$5f01d5b342a89841), columnArgs, [
37
- // @ts-ignore
38
- $5cc70deb5088007a$var$h((0, $132b1b0fb905c489$export$2e2bcd8739ae039), {
39
- params: columnArgs
40
- })
41
- ]));
42
- }
43
- function $5cc70deb5088007a$var$ColumnManager() {
44
- const [columnArgs, setCurrentColumn] = (0, $b8de97dfa82f4910$export$91cb5ac808759b34)($5cc70deb5088007a$var$defaultArgs);
45
- const { col_id: col_id, ...projectParams } = columnArgs;
46
- const colParams = (0, $l9wxE$useMemo)(()=>({
47
- ...columnArgs,
48
- format: "geojson"
49
- }), [
50
- columnArgs
51
- ]);
52
- const res = (0, $l9wxE$useAPIResult)("/columns", colParams);
53
- const columnFeature = res?.features[0];
54
- return $5cc70deb5088007a$var$h((0, $8adf39b8c41fe3cc$export$5f01d5b342a89841), columnArgs, [
55
- $5cc70deb5088007a$var$h("div.column-ui", [
56
- $5cc70deb5088007a$var$h("div.column-view", [
57
- $5cc70deb5088007a$var$h($5cc70deb5088007a$var$ColumnTitle, {
58
- data: columnFeature?.properties
59
- }),
60
- // @ts-ignore
61
- $5cc70deb5088007a$var$h((0, $132b1b0fb905c489$export$2e2bcd8739ae039), {
62
- params: columnArgs
63
- })
64
- ]),
65
- $5cc70deb5088007a$var$h("div.map-column", [
66
- $5cc70deb5088007a$var$h((0, $e6046e00d2c8a163$export$9595c40c7a4c4f7b), {
67
- currentColumn: columnFeature,
68
- setCurrentColumn: setCurrentColumn,
69
- margin: 0,
70
- ...projectParams
71
- }, $5cc70deb5088007a$var$h((0, $93f116a6493b17c3$export$2254347cd20e6080), {
72
- ...projectParams,
73
- style: {
74
- fill: "dodgerblue",
75
- stroke: "blue"
76
- }
77
- }))
78
- ])
79
- ])
80
- ]);
81
- }
82
- function $5cc70deb5088007a$export$e2beef9ae524c9d5() {
83
- return $5cc70deb5088007a$var$h((0, $774a5efa27d1c77b$export$690613f93cdc5576), $5cc70deb5088007a$var$h($5cc70deb5088007a$var$ColumnManager));
84
- }
85
-
86
-
87
- export {$5cc70deb5088007a$export$883edafebdc6d87e as CarbonIsotopesColumn, $5cc70deb5088007a$export$e2beef9ae524c9d5 as CarbonIsotopesApp};
88
- //# sourceMappingURL=core.843310d3.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAE5B,MAAM,oCAAc,CAAC;IACnB,OAAO,wBAAE,EAAE,CAAC,MAAM,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE;AACpD;AAEA,MAAM,oCAA0B;IAC9B,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,aAAa;AACf;AAEO,SAAS,0CAAqB,UAAU;IAC7C,OAAO,wBACL,CAAA,GAAA,yCAAqB,GACrB,wBAAE,CAAA,GAAA,yCAAsB,GAAG,YAAY;QACrC,aAAa;QACb,wBAAE,CAAA,GAAA,wCAAS,GAAG;YAAE,QAAQ;QAAW;KACpC;AAEL;AAEA,SAAS;IACP,MAAM,CAAC,YAAY,iBAAiB,GAAG,CAAA,GAAA,yCAAW,EAAE;IACpD,MAAM,UAAE,MAAM,EAAE,GAAG,eAAe,GAAG;IAErC,MAAM,YAAY,CAAA,GAAA,cAAM,EACtB,IAAO,CAAA;YAAE,GAAG,UAAU;YAAE,QAAQ;QAAU,CAAA,GAC1C;QAAC;KAAW;IAEd,MAAM,MAAyB,CAAA,GAAA,mBAAW,EAAE,YAAY;IACxD,MAAM,gBAAgB,KAAK,QAAQ,CAAC,EAAE;IAEtC,OAAO,wBAAE,CAAA,GAAA,yCAAsB,GAAG,YAAY;QAC5C,wBAAE,iBAAiB;YACjB,wBAAE,mBAAmB;gBACnB,wBAAE,mCAAa;oBAAE,MAAM,eAAe;gBAAW;gBACjD,aAAa;gBACb,wBAAE,CAAA,GAAA,wCAAS,GAAG;oBAAE,QAAQ;gBAAW;aACpC;YACD,wBAAE,kBAAkB;gBAClB,wBACE,CAAA,GAAA,yCAAqB,GACrB;oBACE,eAAe;sCACf;oBACA,QAAQ;oBACR,GAAG,aAAa;gBAClB,GACA,wBAAE,CAAA,GAAA,yCAAgB,GAAG;oBACnB,GAAG,aAAa;oBAChB,OAAO;wBACL,MAAM;wBACN,QAAQ;oBACV;gBACF;aAEH;SACF;KACF;AACH;AAEO,SAAS;IACd,OAAO,wBAAE,CAAA,GAAA,yCAAqB,GAAG,wBAAE;AACrC","sources":["packages/column-views/src/carbon-isotopes/core.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\n\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport BaseColumn from \"./column\";\nimport { ColumnNavigationSVGMap, MeasurementsLayer } from \"../maps\";\nimport {\n MacrostratDataProvider,\n ColumnArgs,\n useColumnNav,\n} from \"../data-provider\";\nimport { MeasurementDataProvider } from \"./data-provider\";\nimport { useMemo } from \"react\";\nimport { FeatureCollection } from \"geojson\";\n\nconst h = hyper.styled(styles);\n\nconst ColumnTitle = (props) => {\n return h.if(props.data != null)(\"h1\", props.data?.col_name);\n};\n\nconst defaultArgs: ColumnArgs = {\n col_id: 2192,\n //unit_id: null,\n project_id: 10,\n status_code: \"in process\",\n};\n\nexport function CarbonIsotopesColumn(columnArgs) {\n return h(\n MacrostratDataProvider,\n h(MeasurementDataProvider, columnArgs, [\n // @ts-ignore\n h(BaseColumn, { params: columnArgs }),\n ])\n );\n}\n\nfunction ColumnManager() {\n const [columnArgs, setCurrentColumn] = useColumnNav(defaultArgs);\n const { col_id, ...projectParams } = columnArgs;\n\n const colParams = useMemo(\n () => ({ ...columnArgs, format: \"geojson\" }),\n [columnArgs]\n );\n const res: FeatureCollection = useAPIResult(\"/columns\", colParams);\n const columnFeature = res?.features[0];\n\n return h(MeasurementDataProvider, columnArgs, [\n h(\"div.column-ui\", [\n h(\"div.column-view\", [\n h(ColumnTitle, { data: columnFeature?.properties }),\n // @ts-ignore\n h(BaseColumn, { params: columnArgs }),\n ]),\n h(\"div.map-column\", [\n h(\n ColumnNavigationSVGMap,\n {\n currentColumn: columnFeature,\n setCurrentColumn,\n margin: 0,\n ...projectParams,\n },\n h(MeasurementsLayer, {\n ...projectParams,\n style: {\n fill: \"dodgerblue\",\n stroke: \"blue\",\n },\n })\n ),\n ]),\n ]),\n ]);\n}\n\nexport function CarbonIsotopesApp() {\n return h(MacrostratDataProvider, h(ColumnManager));\n}\n"],"names":[],"version":3,"file":"core.843310d3.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import { MapViewProps } from \"@macrostrat/map-interface\";\nimport {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles = useMemo(() => {\n return [\n buildColumnsStyle(columnColor),\n selectedColumnsStyle,\n lineOfSectionStyle,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ]\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap]\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns]\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled]\n );\n return null;\n}\n\nconst selectedColumnsStyle = {\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle = {\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction buildGeoJSONSource(data: FeatureCollection | null = null) {\n return {\n type: \"geojson\",\n data: data ?? {\n type: \"FeatureCollection\",\n features: [],\n },\n };\n}\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine]\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"core.91ede078.js.map"}
@@ -1,86 +0,0 @@
1
- import {line as $8epey$line} from "d3-shape";
2
- import {createContext as $8epey$createContext, useContext as $8epey$useContext} from "react";
3
- import $8epey$macrostrathyper from "@macrostrat/hyper";
4
- import {ColumnLayoutContext as $8epey$ColumnLayoutContext} from "@macrostrat/column-components";
5
-
6
-
7
-
8
-
9
-
10
- const $1dbd903fb3e2f029$var$inDomain = (scale, num)=>{
11
- const domain = scale.domain();
12
- return domain[0] < num < domain[1];
13
- };
14
- const $1dbd903fb3e2f029$var$createPointLocator = function(opts) {
15
- const { xScale: xScale, scale: scale, getHeight: getHeight, ...rest } = opts;
16
- return function(d, s = 0) {
17
- const height = getHeight(d);
18
- if (!$1dbd903fb3e2f029$var$inDomain(scale, height)) return null;
19
- return [
20
- xScale(d.value),
21
- scale(height)
22
- ];
23
- };
24
- };
25
- const $1dbd903fb3e2f029$var$IsotopesDataContext = (0, $8epey$createContext)(null);
26
- const $1dbd903fb3e2f029$export$309ef8546e07d921 = function(props) {
27
- const { xScale: xScale, scale: scale } = (0, $8epey$useContext)((0, $8epey$ColumnLayoutContext)) ?? {};
28
- let { corrected: corrected, system: system, children: children, getHeight: getHeight, clipY: clipY } = props;
29
- if (getHeight == null) getHeight = function(d) {
30
- if (d.height == null) console.log(d);
31
- return d.height;
32
- };
33
- // Handlers for creating points and lines
34
- const pointLocator = $1dbd903fb3e2f029$var$createPointLocator({
35
- xScale: xScale,
36
- scale: scale,
37
- corrected: corrected,
38
- system: system,
39
- getHeight: getHeight
40
- });
41
- let column = "avg_" + system;
42
- if (corrected) column += "_corr";
43
- const lineLocator = (0, $8epey$line)().x((d)=>xScale(d[column]))// @ts-ignore
44
- .y((d)=>scale(d.height));
45
- const value = {
46
- pointLocator: pointLocator,
47
- lineLocator: lineLocator,
48
- corrected: corrected,
49
- system: system,
50
- clipY: clipY
51
- };
52
- return (0, $8epey$macrostrathyper)($1dbd903fb3e2f029$var$IsotopesDataContext.Provider, {
53
- value: value
54
- }, (0, $8epey$macrostrathyper)("g.data", children));
55
- };
56
- $1dbd903fb3e2f029$export$309ef8546e07d921.defaultProps = {
57
- clipY: false
58
- };
59
- const $1dbd903fb3e2f029$export$4cb5d059db4e2bd = function(props) {
60
- const { pointLocator: pointLocator } = (0, $8epey$useContext)($1dbd903fb3e2f029$var$IsotopesDataContext);
61
- const { datum: datum, strokeWidth: strokeWidth, ...rest } = props;
62
- const loc = pointLocator(datum);
63
- if (loc == null) return null;
64
- const [cx, cy] = loc;
65
- return (0, $8epey$macrostrathyper)("circle", {
66
- key: datum.sample_id,
67
- cx: cx,
68
- cy: cy,
69
- r: 2,
70
- ...rest
71
- });
72
- };
73
- const $1dbd903fb3e2f029$export$628a3ef6eb9c3a89 = function(props) {
74
- const { values: lineValues, ...rest } = props;
75
- const { lineLocator: lineLocator } = (0, $8epey$useContext)($1dbd903fb3e2f029$var$IsotopesDataContext);
76
- return (0, $8epey$macrostrathyper)("path", {
77
- d: lineLocator(lineValues),
78
- fill: "transparent",
79
- ...rest
80
- });
81
- };
82
- const $1dbd903fb3e2f029$export$919dbb10b6b5b75 = ()=>(0, $8epey$useContext)($1dbd903fb3e2f029$var$IsotopesDataContext);
83
-
84
-
85
- export {$1dbd903fb3e2f029$export$309ef8546e07d921 as IsotopesDataArea, $1dbd903fb3e2f029$export$4cb5d059db4e2bd as IsotopeDataPoint, $1dbd903fb3e2f029$export$628a3ef6eb9c3a89 as IsotopeDataLine, $1dbd903fb3e2f029$export$919dbb10b6b5b75 as useDataLocator};
86
- //# sourceMappingURL=data-area.daff8da0.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;AAKA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,UAAE,MAAM,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,MAAM,CAAC;IAE9D,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,KAAK,EAAE,GAAG;IACxD,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,0CAAiB,YAAY,GAAG;IAAE,OAAO;AAAM;AAE/C,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const { xScale, scale } = useContext(ColumnLayoutContext) ?? {};\n\n let { corrected, system, children, getHeight, clipY } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nIsotopesDataArea.defaultProps = { clipY: false };\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"data-area.daff8da0.js.map"}
@@ -1,25 +0,0 @@
1
- import $hiXDY$macrostrathyper from "@macrostrat/hyper";
2
- import {createContext as $hiXDY$createContext, useContext as $hiXDY$useContext} from "react";
3
- import {useAPIResult as $hiXDY$useAPIResult} from "@macrostrat/ui-components";
4
-
5
-
6
-
7
-
8
- const $8adf39b8c41fe3cc$export$c644ef985ce7a4c4 = (0, $hiXDY$createContext)(null);
9
- function $8adf39b8c41fe3cc$export$5f01d5b342a89841(props) {
10
- const { children: children, ...params } = props;
11
- const res = (0, $hiXDY$useAPIResult)("/measurements", {
12
- ...params,
13
- show_values: true,
14
- response: "long"
15
- });
16
- return (0, $hiXDY$macrostrathyper)($8adf39b8c41fe3cc$export$c644ef985ce7a4c4.Provider, {
17
- value: res,
18
- children: children
19
- });
20
- }
21
- const $8adf39b8c41fe3cc$export$8a0335fd9ff72150 = ()=>(0, $hiXDY$useContext)($8adf39b8c41fe3cc$export$c644ef985ce7a4c4);
22
-
23
-
24
- export {$8adf39b8c41fe3cc$export$c644ef985ce7a4c4 as MeasurementDataContext, $8adf39b8c41fe3cc$export$5f01d5b342a89841 as MeasurementDataProvider, $8adf39b8c41fe3cc$export$8a0335fd9ff72150 as useMeasurementData};
25
- //# sourceMappingURL=data-provider.1506eb64.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;AAIA,MAAM,4CAAyB,CAAA,GAAA,oBAAY,EAAE;AAEtC,SAAS,0CAAwB,KAAK;IAC3C,MAAM,YAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG;IAChC,MAAM,MAAM,CAAA,GAAA,mBAAW,EAAE,iBAAiB;QACxC,GAAG,MAAM;QACT,aAAa;QACb,UAAU;IACZ;IACA,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAuB,QAAQ,EAAE;QAAE,OAAO;kBAAK;IAAS;AACnE;AAEA,MAAM,4CAAqB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/carbon-isotopes/data-provider.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useContext, createContext } from \"react\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\n\nconst MeasurementDataContext = createContext(null);\n\nexport function MeasurementDataProvider(props) {\n const { children, ...params } = props;\n const res = useAPIResult(\"/measurements\", {\n ...params,\n show_values: true,\n response: \"long\",\n });\n return h(MeasurementDataContext.Provider, { value: res, children });\n}\n\nconst useMeasurementData = () => useContext(MeasurementDataContext);\n\nexport { useMeasurementData, MeasurementDataContext };\n"],"names":[],"version":3,"file":"data-provider.1506eb64.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction defaultFetch(\n url: string,\n options: RequestInit | undefined = undefined\n) {\n const baseURL = \"https://macrostrat.org/api/v2\";\n return crossFetch(baseURL + url, options);\n}\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: \"in process\";\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {}\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n if (statusCode != null) {\n args = { ...args, status_code: statusCode };\n }\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns))\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[]\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch\n): Promise<ColumnData[]> {\n const promises = columns.map((col_id) => fetchColumnUnits(col_id, fetch));\n return await Promise.all(promises);\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":[],"version":3,"file":"fetch.99aec438.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/prepare-units/helpers.ts"],"sourcesContent":["import type { BaseUnit, UnitLong } from \"@macrostrat/api-types\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport {\n unitsOverlap,\n getUnitHeightRange,\n createUnitSorter,\n ensureArray,\n ensureRealFloat,\n} from \"./utils\";\n\nconst dt = 0.001;\n\nexport interface StratigraphicPackage {\n /** A collection of stratigraphic information organized in time, corresponding\n * to single or multiple columns. */\n t_age: number;\n b_age: number;\n}\n\nexport interface SectionInfo<T extends UnitLong = ExtUnit>\n extends StratigraphicPackage {\n /** A time-bounded part of a single stratigraphic column. */\n section_id: number | number[];\n units: T[];\n}\n\nexport interface ExtUnit extends UnitLong {\n bottomOverlap: boolean;\n overlappingUnits: number[];\n column?: number;\n /* Positions (ages or heights) where the unit is clipped to its containing section.\n * This is relevant if we are filtering by age/height/depth range.\n */\n t_clip_pos?: number;\n b_clip_pos?: number;\n}\n\nexport function preprocessUnits<T extends UnitLong = UnitLong>(\n section: SectionInfo<T>,\n axisType: ColumnAxisType = ColumnAxisType.AGE\n): ExtUnit[] {\n /** Preprocess units to add overlapping units and columns. */\n const units = section.units;\n let divisions = units.map((...args) => extendDivision(...args, axisType));\n for (let d of divisions) {\n const overlappingUnits = divisions.filter((u) =>\n d.overlappingUnits.includes(u.unit_id)\n );\n\n // Overlapping columns\n const columns = overlappingUnits.map((d) => d.column);\n\n if (columns.includes(d.column)) {\n let col = 0;\n // Go through columns to find a better index\n while (columns.includes(col)) {\n col++;\n }\n d.column = col;\n }\n\n // If unit overlaps the edges of a section, set the clip positions\n if (axisType == ColumnAxisType.AGE) {\n const [b_pos, t_pos] = getUnitHeightRange(d, axisType);\n if (b_pos > section.b_age) {\n d.b_clip_pos = section.b_age;\n }\n if (t_pos < section.t_age) {\n d.t_clip_pos = section.t_age;\n }\n }\n }\n\n if (axisType != ColumnAxisType.AGE) {\n return preprocessSectionUnits(divisions, axisType);\n }\n\n return divisions;\n}\n\nfunction extendDivision(\n unit: UnitLong,\n i: number,\n divisions: UnitLong[],\n axisType: ColumnAxisType = ColumnAxisType.AGE\n): ExtUnit {\n const overlappingUnits = divisions.filter(\n (d) => d.unit_id != unit.unit_id && unitsOverlap(unit, d, axisType)\n );\n const u_pos = getUnitHeightRange(unit, axisType);\n const bottomOverlap = overlappingUnits.some((d) => {\n const d_pos = getUnitHeightRange(d, axisType);\n // Check if the unit is below the current unit\n return d_pos[0] < u_pos[0] + dt;\n });\n let column = 0;\n if (overlappingUnits.length == 1) {\n column = 1;\n }\n\n return {\n ...unit,\n bottomOverlap,\n column,\n overlappingUnits: overlappingUnits.map((d) => d.unit_id),\n };\n}\n\nexport function groupUnitsIntoSections<T extends UnitLong>(\n units: T[],\n axisType: ColumnAxisType = ColumnAxisType.AGE\n): SectionInfo<T>[] {\n let groups = Array.from(group(units, (d) => d.section_id));\n const unitComparator = createUnitSorter(axisType);\n\n const groups1 = groups.map(([section_id, sectionUnits]) => {\n const [b_age, t_age] = getSectionAgeRange(sectionUnits);\n // sort units by position\n sectionUnits.sort(unitComparator);\n return { section_id, t_age, b_age, units: sectionUnits };\n });\n // Sort sections by increasing top age, then increasing bottom age.\n // Sections have no relative ordinal position other than age...\n const compareSections = createUnitSorter(ColumnAxisType.AGE) as (\n a: StratigraphicPackage,\n b: StratigraphicPackage\n ) => number;\n groups1.sort(compareSections);\n return groups1;\n}\n\nexport function getSectionAgeRange(units: BaseUnit[]): [number, number] {\n /** Get the overall age range of a set of units. */\n const t_ages = units.map((d) => d.t_age);\n const b_ages = units.map((d) => d.b_age);\n const t_age = Math.min(...t_ages);\n const b_age = Math.max(...b_ages);\n return [b_age, t_age];\n}\n\nexport function mergeOverlappingSections<T extends UnitLong>(\n sections: SectionInfo<T>[]\n): SectionInfo<T>[] {\n /** Columns can have sections that overlap in time. Here, we merge overlapping\n * sections into a single section to correctly render gap-bound packages.\n */\n const [firstSection, ...rest] = sections;\n const newSections = [firstSection];\n for (const section of rest) {\n const lastSection = newSections[newSections.length - 1];\n if (\n lastSection.b_age < section.t_age ||\n lastSection.t_age > section.b_age\n ) {\n // No overlap, add the section as normal\n newSections.push(section);\n continue;\n }\n\n // Overlap, merge the sections\n lastSection.section_id = [\n ...ensureArray(lastSection.section_id),\n ...ensureArray(section.section_id),\n ];\n lastSection.units.push(...section.units);\n lastSection.b_age = Math.max(lastSection.b_age, section.b_age);\n lastSection.t_age = Math.min(lastSection.t_age, section.t_age);\n }\n return newSections;\n}\n\nfunction preprocessSectionUnits(\n units: UnitLong[],\n axisType: ColumnAxisType = ColumnAxisType.DEPTH\n): ExtUnit[] {\n /** Preprocess units for a \"section\" column type, which is guaranteed to be simpler. */\n // We have to assume the units are ordered...\n let thickness = 0;\n return units.map((unit, i) => {\n let u1 = preprocessSectionUnit(unit, i, units, thickness, axisType);\n thickness += Math.abs(u1.t_pos - u1.b_pos);\n return u1;\n });\n}\n\nfunction preprocessSectionUnit(\n unit: UnitLong,\n i: number,\n units: UnitLong[],\n accumulatedThickness: number = 0,\n axisType: ColumnAxisType = ColumnAxisType.DEPTH\n): ExtUnit {\n /** Preprocess a single unit for a \"section\" column type.\n * No provision for overlapping units.\n * */\n\n let b_pos = unit.b_pos;\n let t_pos = unit.t_pos;\n\n if (b_pos == t_pos && axisType == ColumnAxisType.ORDINAL) {\n t_pos = t_pos - 1;\n }\n\n let unit_name = unit.unit_name;\n\n // eODP columns sometimes have overlapping core sections, which are encoded in the name field\n // Match eODP section names\n const match = unit.unit_name.match(/^(\\d+(\\.\\d+)?)-(\\d+(\\.\\d+)?): (.+)/);\n\n if (match) {\n // These values should already be set if we've used the show_positions flag\n t_pos ??= ensureRealFloat(match[1]);\n b_pos ??= ensureRealFloat(match[3]);\n unit_name = match[5];\n }\n\n return {\n ...unit,\n b_pos: ensureRealFloat(b_pos),\n t_pos: ensureRealFloat(t_pos),\n unit_name,\n bottomOverlap: false,\n overlappingUnits: [],\n };\n}\n"],"names":[],"version":3,"file":"helpers.2f0a0cb7.js.map"}
@@ -1,163 +0,0 @@
1
- import {useMeasurementData as $8adf39b8c41fe3cc$export$8a0335fd9ff72150} from "./data-provider.1506eb64.js";
2
- import {useDataLocator as $1dbd903fb3e2f029$export$919dbb10b6b5b75, IsotopesDataArea as $1dbd903fb3e2f029$export$309ef8546e07d921, IsotopeDataPoint as $1dbd903fb3e2f029$export$4cb5d059db4e2bd} from "./data-area.daff8da0.js";
3
- import {format as $cjrRw$format} from "d3-format";
4
- import {useContext as $cjrRw$useContext} from "react";
5
- import $cjrRw$macrostrathyper from "@macrostrat/hyper";
6
- import $cjrRw$classnames from "classnames";
7
- import {AxisBottom as $cjrRw$AxisBottom} from "@visx/axis";
8
- import {referenceMeasuresToColumn as $cjrRw$referenceMeasuresToColumn} from "@macrostrat/stratigraphy-utils";
9
- import {ColumnLayoutContext as $cjrRw$ColumnLayoutContext, useColumnDivisions as $cjrRw$useColumnDivisions, CrossAxisLayoutProvider as $cjrRw$CrossAxisLayoutProvider} from "@macrostrat/column-components";
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
- const $d5a3eba6c540ff58$var$fmt = (0, $cjrRw$format)(".1f");
21
- function $d5a3eba6c540ff58$var$IsotopeText({ datum: datum, text: text, ...rest }) {
22
- const { pointLocator: pointLocator } = (0, $1dbd903fb3e2f029$export$919dbb10b6b5b75)();
23
- const [x, y] = pointLocator(datum);
24
- return (0, $cjrRw$macrostrathyper)("text", {
25
- x: x,
26
- y: y,
27
- ...rest
28
- }, text);
29
- }
30
- function $d5a3eba6c540ff58$var$ColumnScale(props) {
31
- const { label: label, showAxis: showAxis = true, nTicks: nTicks = 6, tickValues: _tickVals, ...rest } = props;
32
- const { xScale: xScale, pixelHeight: pixelHeight, width: width } = (0, $cjrRw$useContext)((0, $cjrRw$ColumnLayoutContext));
33
- const tickValues = _tickVals ?? xScale.ticks(nTicks);
34
- return (0, $cjrRw$macrostrathyper)("g.scale.isotope-scale-axis", [
35
- (0, $cjrRw$macrostrathyper)("g.scale-lines", tickValues.map((value)=>{
36
- const strokeDasharray = value == 0 ? null : "2 6";
37
- return (0, $cjrRw$macrostrathyper)($d5a3eba6c540ff58$var$ScaleLine, {
38
- value: value,
39
- stroke: "#ddd",
40
- strokeDasharray: strokeDasharray
41
- });
42
- })),
43
- (0, $cjrRw$macrostrathyper).if(showAxis)([
44
- (0, $cjrRw$macrostrathyper)("rect.underlay", {
45
- x: 0,
46
- y: pixelHeight,
47
- width: width,
48
- height: 30
49
- }),
50
- (0, $cjrRw$macrostrathyper)((0, $cjrRw$AxisBottom), {
51
- scale: xScale,
52
- tickLength: 3,
53
- tickValues: tickValues,
54
- ...rest,
55
- top: pixelHeight,
56
- tickLabelProps (tickValue, i) {
57
- // Compensate for negative sign
58
- let dx;
59
- if (tickValue < 0) dx = -2;
60
- return {
61
- dy: "-1px",
62
- dx: dx,
63
- fontSize: 10,
64
- textAnchor: "middle",
65
- fill: "#aaa"
66
- };
67
- },
68
- labelOffset: 0,
69
- label: label
70
- })
71
- ])
72
- ]);
73
- }
74
- function $d5a3eba6c540ff58$var$ScaleLine(props) {
75
- let { value: value, className: className, labelBottom: labelBottom, labelOffset: labelOffset, ...rest } = props;
76
- if (labelBottom == null) labelBottom = false;
77
- if (labelOffset == null) labelOffset = 12;
78
- const { xScale: xScale, pixelHeight: pixelHeight } = (0, $cjrRw$useContext)((0, $cjrRw$ColumnLayoutContext));
79
- const x = xScale(value);
80
- const transform = `translate(${x})`;
81
- className = (0, $cjrRw$classnames)(className, {
82
- zero: value === 0
83
- });
84
- return (0, $cjrRw$macrostrathyper)("g.tick", {
85
- transform: transform,
86
- className: className,
87
- key: value
88
- }, [
89
- (0, $cjrRw$macrostrathyper)("line", {
90
- x0: 0,
91
- x1: 0,
92
- y0: 0,
93
- y1: pixelHeight,
94
- ...rest
95
- }),
96
- (0, $cjrRw$macrostrathyper).if(labelBottom)("text", {
97
- y: pixelHeight + labelOffset
98
- }, `${value}`)
99
- ]);
100
- }
101
- function $d5a3eba6c540ff58$var$unnestPoints(measures) {
102
- let points = [];
103
- for (const meas of measures){
104
- const vals = meas.measure_value.map((d, i)=>{
105
- return {
106
- value: d,
107
- age: meas.measure_age[i],
108
- position: meas.measure_position[i],
109
- unit_id: meas.unit_id,
110
- sample_id: meas.sample_no[i],
111
- measurement: meas.measurement
112
- };
113
- });
114
- Array.prototype.push.apply(points, vals);
115
- }
116
- return points;
117
- }
118
- function $d5a3eba6c540ff58$export$c69bd0285aa5d775(props) {
119
- const { parameter: parameter, color: color = "dodgerblue" } = props;
120
- const divisions = (0, $cjrRw$useColumnDivisions)();
121
- const measures = (0, $8adf39b8c41fe3cc$export$8a0335fd9ff72150)() ?? [];
122
- const refMeasures = (0, $cjrRw$referenceMeasuresToColumn)(divisions, measures).filter((d)=>d.measurement == parameter);
123
- const points = $d5a3eba6c540ff58$var$unnestPoints(refMeasures);
124
- return (0, $cjrRw$macrostrathyper)((0, $1dbd903fb3e2f029$export$309ef8546e07d921), {
125
- getHeight (d) {
126
- return d.age;
127
- }
128
- }, (0, $cjrRw$macrostrathyper)("g.data-points", points.map((d)=>{
129
- return (0, $cjrRw$macrostrathyper)((0, $1dbd903fb3e2f029$export$4cb5d059db4e2bd), {
130
- datum: d,
131
- fill: color
132
- });
133
- })));
134
- }
135
- function $d5a3eba6c540ff58$export$5d8aa8022c284748(props) {
136
- const { width: width = 120, domain: domain = [
137
- -14,
138
- 6
139
- ], parameter: parameter, label: label, color: color = "dodgerblue", children: children = null, transform: transform, getHeight: getHeight, ...rest } = props;
140
- let _children = children;
141
- if (children == null && parameter != null) _children = (0, $cjrRw$macrostrathyper)($d5a3eba6c540ff58$export$c69bd0285aa5d775, {
142
- parameter: parameter,
143
- color: color,
144
- getHeight: getHeight
145
- });
146
- return (0, $cjrRw$macrostrathyper)((0, $cjrRw$CrossAxisLayoutProvider), {
147
- width: width,
148
- domain: domain
149
- }, (0, $cjrRw$macrostrathyper)("g.isotopes-column", {
150
- className: parameter,
151
- transform: transform
152
- }, [
153
- (0, $cjrRw$macrostrathyper)($d5a3eba6c540ff58$var$ColumnScale, {
154
- label: label ?? parameter,
155
- ...rest
156
- }),
157
- _children
158
- ]));
159
- }
160
-
161
-
162
- export {$d5a3eba6c540ff58$export$c69bd0285aa5d775 as IsotopesDataset, $d5a3eba6c540ff58$export$5d8aa8022c284748 as IsotopesColumn};
163
- //# sourceMappingURL=isotopes-column.7cb5cc45.js.map
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { format } from \"d3-format\";\nimport { useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n CrossAxisLayoutProvider,\n ColumnLayoutContext,\n useColumnDivisions,\n} from \"@macrostrat/column-components\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { AxisProps } from \"@visx/axis/lib/axis/Axis\";\n\nconst fmt = format(\".1f\");\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text\n );\n}\n\nfunction ColumnScale(props) {\n const {\n label,\n showAxis = true,\n nTicks = 6,\n tickValues: _tickVals,\n ...rest\n } = props;\n const { xScale, pixelHeight, width } = useContext(ColumnLayoutContext);\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"g.scale.isotope-scale-axis\", [\n h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n const strokeDasharray = value == 0 ? null : \"2 6\";\n return h(ScaleLine, { value, stroke: \"#ddd\", strokeDasharray });\n })\n ),\n h.if(showAxis)([\n h(\"rect.underlay\", {\n x: 0,\n y: pixelHeight,\n width,\n height: 30,\n }),\n h(AxisBottom, {\n scale: xScale,\n tickLength: 3,\n tickValues,\n ...rest,\n top: pixelHeight,\n tickLabelProps(tickValue, i) {\n // Compensate for negative sign\n let dx;\n if (tickValue < 0) {\n dx = -2;\n }\n return {\n dy: \"-1px\",\n dx,\n fontSize: 10,\n textAnchor: \"middle\",\n fill: \"#aaa\",\n };\n },\n labelOffset: 0,\n label,\n }),\n ]),\n ]);\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n if (labelBottom == null) {\n labelBottom = false;\n }\n if (labelOffset == null) {\n labelOffset = 12;\n }\n const { xScale, pixelHeight } = useContext(ColumnLayoutContext);\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\"line\", { x0: 0, x1: 0, y0: 0, y1: pixelHeight, ...rest }),\n h.if(labelBottom)(\"text\", { y: pixelHeight + labelOffset }, `${value}`),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const divisions: BaseUnit[] = useColumnDivisions() as any;\n const measures = useMeasurementData() ?? [];\n const refMeasures = referenceMeasuresToColumn(divisions, measures).filter(\n (d) => d.measurement == parameter\n );\n const points = unnestPoints(refMeasures);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n })\n )\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode } & AxisProps<any>\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n ...rest\n } = props;\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n return h(\n CrossAxisLayoutProvider,\n { width, domain },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScale, { label: label ?? parameter, ...rest }),\n _children,\n ])\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"isotopes-column.7cb5cc45.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":";;;;;AAGO,SAAS,0CACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU;IAEV,IAAI,aAAa,MAAM;IAEvB,MAAM,kBAAkB,WAAW,SAAS,CAAC,aAAa;IAE1D,IAAI,aAAa,UAAU,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,WAAW,SAAS,CAAC,MAAM;QAC5C,MAAM,KAAK,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE;QAC3C,MAAM,KAAK,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE;QAC3C,OAAO;YAAE,WAAW;YAAO,OAAO,KAAK,KAAK,CAAC,IAAI;QAAI;IACvD;IAEA,WAAW,IAAI,CAAC,CAAC,IAAM,EAAE,KAAK;IAE9B,SAAS,aAAa,GAAG;QACvB,2CAA2C;QAC3C,IAAI,OAAO,UAAU,CAAC,EAAE;QACxB,KAAK,IAAI,QAAQ,WACf,IACE,KAAK,GAAG,CAAC,gCAAU,MAAM,KAAK,KAAK,KACnC,KAAK,GAAG,CAAC,gCAAU,MAAM,KAAK,KAAK,IAEnC,OAAO;QAGX,OAAO,KAAK,SAAS;IACvB;IAEA,OAAO;QACL,IAAI,aAAa,KAAK,EAAE;QACxB,IAAI,aAAa,AAAC,IAAI,KAAK,EAAE,GAAI;QACjC,IAAI,aAAa;QACjB,IAAI,aAAa,KAAK,EAAE,GAAG;IAC7B;AACF;AAEA,SAAS,gCAAU,KAAK;IACtB,IAAI,QAAQ,KAAK,EAAE,EACjB,SAAS,IAAI,KAAK,EAAE;SACf,IAAI,SAAS,CAAC,KAAK,EAAE,EAC1B,SAAS,IAAI,KAAK,EAAE;IAEtB,OAAO;AACT;AAEO,SAAS,0CAAmB,QAAQ;IACzC,MAAM,YAAY,SAAS,GAAG,CAAC,CAAA,GAAA,kBAAU;IACzC,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,OAAO;mBAAE;aAAW;IAAI;AAC1B","sources":["packages/column-views/src/maps/column-navigation/utils/keyboard-navigation.ts"],"sourcesContent":["import { geoCentroid } from \"d3-geo\";\nimport { geoVoronoi } from \"d3-geo-voronoi\";\n\nexport function buildKeyMapping(\n neighbors,\n centroids,\n currentIndex,\n projection\n) {\n if (neighbors == null) return;\n\n const currentCentroid = projection(centroids[currentIndex]);\n\n let edgeAngles = neighbors.map((index) => {\n const centroid = projection(centroids[index]);\n const dx = centroid[0] - currentCentroid[0];\n const dy = centroid[1] - currentCentroid[1];\n return { col_index: index, angle: Math.atan2(dy, dx) };\n });\n\n edgeAngles.sort((d) => d.angle);\n\n function closestAngle(num) {\n // Find closest angle in array of neighbors\n let curr = edgeAngles[0];\n for (let next of edgeAngles) {\n if (\n Math.abs(normalize(num - next.angle)) <\n Math.abs(normalize(num - curr.angle))\n ) {\n curr = next;\n }\n }\n return curr.col_index;\n }\n\n return {\n 37: closestAngle(Math.PI), // left\n 38: closestAngle((3 * Math.PI) / 2), // up\n 39: closestAngle(0), // right\n 40: closestAngle(Math.PI / 2), // down\n };\n}\n\nfunction normalize(angle) {\n if (angle > Math.PI) {\n angle -= 2 * Math.PI;\n } else if (angle <= -Math.PI) {\n angle += 2 * Math.PI;\n }\n return angle;\n}\n\nexport function buildTriangulation(features) {\n const centroids = features.map(geoCentroid);\n const tri = geoVoronoi(centroids);\n return { centroids, tri };\n}\n"],"names":[],"version":3,"file":"keyboard-navigation.6713401b.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/svg/layers.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n Feature,\n FeatureLayer,\n MapContext,\n} from \"@macrostrat/svg-map-components\";\nimport { useAPIResult, useKeyHandler } from \"@macrostrat/ui-components\";\nimport chroma from \"chroma-js\";\nimport { ExtendedFeature } from \"d3-geo\";\nimport { Polygon } from \"geojson\";\nimport { useContext, useMemo } from \"react\";\nimport { useColumnFeatures } from \"../../../data-provider\";\nimport {\n buildKeyMapping,\n buildTriangulation,\n} from \"../utils/keyboard-navigation\";\n\nconst defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\",\n};\n\nexport function MeasurementsLayer(props) {\n const { style = defaultStyle, ...params } = props;\n const res: any = useAPIResult(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\",\n });\n if (res == null) return null;\n\n return h(FeatureLayer, {\n useCanvas: false,\n style,\n features: res.features.filter((d) => d.properties.unit_id != null),\n });\n}\n\ntype ColumnProps = { col_id: number };\n\ntype ColumnFeature = ExtendedFeature<Polygon, ColumnProps>;\n\nfunction ColumnFeatures(props) {\n const {\n features,\n onClick,\n color = \"rgba(150,150,150, 1)\",\n singleFeature = true,\n } = props;\n\n console.log(features);\n\n const c = chroma(color);\n\n return h(\n FeatureLayer,\n {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css(),\n },\n },\n features.map((f) => {\n return h(Feature, {\n id: f.id ?? f.properties.col_id,\n onClick,\n feature: f,\n });\n })\n );\n}\n\nenum MacrostratStatusCode {\n InProcess = \"in process\",\n}\n\ninterface ColumnNavProps {\n col_id: number;\n status_code?: MacrostratStatusCode;\n project_id?: number;\n onChange(col_id: number): void;\n}\n\ninterface KeyboardNavProps extends ColumnNavProps {\n features: ColumnFeature[];\n showLayers: boolean;\n}\n\nfunction ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const {\n features = [],\n col_id = null,\n onChange,\n showLayers = false,\n ...projectArgs\n } = props;\n const { projection } = useContext(MapContext);\n const { centroids, tri } = useMemo(\n () => buildTriangulation(features),\n [features]\n );\n\n const currentIndex = useMemo(() => {\n return features.findIndex((d) => d.properties.col_id == col_id);\n }, [features, col_id]);\n\n const neighbors = tri.delaunay.neighbors[currentIndex];\n\n const keyMapping = useMemo(() => {\n return buildKeyMapping(neighbors, centroids, currentIndex, projection);\n }, [neighbors, currentIndex]);\n\n useKeyHandler(\n (event) => {\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n },\n [keyMapping]\n );\n\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d) => features[d]);\n\n return h.if(showLayers)([\n h(FeatureLayer, {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\",\n },\n }),\n h(FeatureLayer, {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\",\n },\n }),\n h(FeatureLayer, {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids,\n },\n },\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\",\n },\n }),\n ]);\n}\n\ninterface ColumnExtraInfo {\n apiRoute?: string;\n color?: string;\n filterColumns?(d: ColumnFeature): boolean;\n showDebugLayers?: boolean;\n format?: \"topojson\" | \"geojson\";\n}\n\nconst Columns = (props: ColumnNavProps & ColumnExtraInfo) => {\n const {\n apiRoute = \"/columns\",\n onChange,\n col_id = null,\n status_code,\n project_id,\n color,\n filterColumns,\n showDebugLayers = false,\n format = \"topojson\",\n } = props;\n\n let features: any[] = useColumnFeatures({\n apiRoute,\n status_code,\n project_id,\n format,\n }) as any;\n\n if (features == null) return null;\n\n if (filterColumns != null) {\n features = features.filter(filterColumns);\n }\n\n return h([\n h(ColumnKeyboardNavigation, {\n features,\n col_id,\n onChange,\n status_code,\n project_id,\n showLayers: showDebugLayers,\n }),\n h(ColumnFeatures, { features, onClick: onChange, color }),\n ]);\n};\n\nconst ColumnCenters = (props: ColumnNavProps) => {\n return h(Columns, { apiRoute: \"/defs/columns\", ...props });\n};\n\nconst CurrentColumn = (props) => {\n const { feature } = props;\n return h(FeatureLayer, {\n features: [feature],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2,\n },\n });\n};\n\nexport {\n Columns,\n CurrentColumn,\n ColumnCenters,\n ColumnFeatures,\n ColumnKeyboardNavigation,\n};\n"],"names":[],"version":3,"file":"layers.033d3fb0.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\n} from \"../units\";\nimport { UnitSelectionPopover } from \"../unit-details\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMemo, useRef } from \"react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { CompositeTimescaleCore } from \"../section\";\nimport classNames from \"classnames\";\nimport {\n findLaterallyExtensiveUnits,\n splitStratIntoBoxes,\n UnitGroupBox,\n CorrelationChartSettings,\n buildCorrelationChartData,\n} from \"./prepare-data\";\nimport {\n CompositeAgeAxisCore,\n CompositeStratigraphicScaleInfo,\n} from \"../age-axis\";\nimport {\n ColumnAxisType,\n ColumnProvider,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { ColoredUnitComponent } from \"../units\";\nimport { UnitBoxes } from \"../units/boxes\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\n\nconst h = hyper.styled(styles);\n\nexport interface CorrelationChartProps extends CorrelationChartSettings {\n data: ColumnData[];\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n unconformityLabels?: boolean;\n selectedUnit?: number | null;\n showUnitPopover?: boolean;\n onUnitSelected?: (unitID: number | null, unit: BaseUnit | null) => void;\n}\n\nexport function CorrelationChart({\n data,\n columnSpacing = 0,\n columnWidth = 130,\n unconformityLabels = true,\n showUnitPopover = true,\n selectedUnit,\n onUnitSelected,\n ...scaleProps\n}: CorrelationChartProps) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true,\n };\n\n const chartData = useMemo(() => {\n if (!data) return null;\n return buildCorrelationChartData(data, {\n ...defaultScaleProps,\n ...scaleProps,\n });\n }, [data, ...Object.values(scaleProps)]);\n\n const columnRef = useRef(null);\n\n // A flattened units array is used to support keyboard navigation\n const units = useMemo(() => {\n return data?.map((d0) => d0.units).flat() ?? [];\n }, [data]);\n\n const inDarkMode = useInDarkMode();\n\n const className = classNames({\n \"dark-mode\": inDarkMode,\n });\n\n if (chartData == null) {\n return null;\n }\n\n const { packages, scaleInfo, nColumns } = chartData;\n\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n\n return h(\n ColumnContainer,\n { className: \"correlation-diagram\" },\n h(\n UnitSelectionProvider,\n { columnRef, selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(\"div.main-chart\", { ref: columnRef }, [\n h(\n SVG,\n {\n className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4,\n },\n packages.map((pkg, i) => {\n const { offset, domain, pixelScale, key } = scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\n });\n })\n ),\n h.if(showUnitPopover)(UnitSelectionPopover),\n // Navigation only works within a column for now...\n h(UnitKeyboardNavigation, { units }),\n ]),\n ])\n )\n );\n}\n\nfunction Package({\n columnData,\n columnSpacing,\n columnWidth,\n offset,\n domain,\n pixelScale,\n}) {\n return h(\"g.package\", { transform: `translate(0 ${offset})` }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n h(\"g.column-units\", [\n columnData.map((data, i) => {\n return h(Column, {\n units: data.units,\n width: columnWidth,\n key: i,\n domain,\n pixelScale,\n offsetLeft: i * (columnWidth + columnSpacing),\n });\n }),\n ]),\n ]);\n}\n\ninterface ColumnProps {\n units: ExtUnit[];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n offsetLeft?: number;\n domain: [number, number];\n pixelScale: number;\n}\n\nfunction Column(props: ColumnProps) {\n const { units, width = 150, offsetLeft, domain, pixelScale } = props;\n\n const columnWidth = width;\n\n if (units.length == 0) {\n return null;\n }\n\n return h(\n \"g.section\",\n {\n transform: `translate(${offsetLeft} 0)`,\n },\n h(\n ColumnProvider,\n {\n // Need to tighten up types here...\n divisions: units as any[],\n range: domain,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n axisType: ColumnAxisType.AGE,\n },\n h(UnitBoxes, {\n unitComponent: ColoredUnitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n },\n })\n )\n );\n}\n\nfunction PackageSVGOverlay({ data, columnWidth = 100, columnSpacing = 0 }) {\n const { b_age, t_age, bestPixelScale, columnData } = data;\n\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n\n const extensiveUnits = findLaterallyExtensiveUnits(data);\n\n const scale = (val: number) => {\n return (val - t_age) * bestPixelScale;\n };\n\n return h(\n \"div.package-overlay\",\n { style: { width, height } },\n extensiveUnits.map((d) => {\n return h(LaterallyExtensiveUnit, {\n data: d,\n scale,\n pixelScale: bestPixelScale,\n columnSpacing,\n });\n })\n );\n}\n\nfunction LaterallyExtensiveUnit({ data, scale, pixelScale, columnSpacing }) {\n const { b_age, t_age, strat_name_long, units } = data;\n // Build boxes by column groups\n const boxes: UnitGroupBox[] = splitStratIntoBoxes(data);\n\n return h(\n \"div.laterally-extensive-unit\",\n boxes.map((d, i) => {\n return h(StratColSpan, {\n scale,\n data: d,\n pixelScale,\n key: i,\n columnSpacing,\n });\n })\n );\n}\n\nfunction StratColSpan({\n data,\n scale,\n columnWidth = 100,\n columnSpacing = 0,\n pixelScale = 1,\n}) {\n const { startCol, endCol, strat_name_long, t_age, b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return h(\n \"div.strat-col-span\",\n { style: { top, height, width, left } },\n strat_name_long\n );\n}\n\nfunction ChartArea({ children }) {\n const setSelectedUnit = useUnitSelectionStore(\n (state) => state.setSelectedUnit\n );\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(null);\n },\n },\n children\n );\n}\n\ninterface TimescaleColumnProps {\n scaleInfo: CompositeStratigraphicScaleInfo;\n showLabels?: boolean;\n unconformityLabels?: boolean;\n}\n\nfunction TimescaleColumn(props: TimescaleColumnProps) {\n const { scaleInfo, unconformityLabels = true } = props;\n return h(\"div.column-container.age-axis-container\", [\n h(CompositeAgeAxisCore, { ...scaleInfo }),\n h(CompositeTimescaleCore, { ...scaleInfo, unconformityLabels }),\n ]);\n}\n"],"names":[],"version":3,"file":"main.2e0375a5.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps\n) {\n const {\n columns,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, rest)\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n children,\n ]\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled]\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false }\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true }\n );\n },\n [hoveredColumn, columns]\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false }\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true }\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns]\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"mapbox.cac42eed.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;AA+BA,SAAS,0CACP,GAAU,EACV,IAAkC;IAElC,MAAM,YAAE,QAAQ,EAAE,GAAG;IAErB,MAAM,CAAC,QAAQ,WAAW,GAAG,CAAA,GAAA,wCAAiB,EAAE,KAAK;IAErD,OAAO;gBACL;oBACA;QACA,MAAM;QACN,IAAI,IAAI,OAAO;IACjB;AACF;AAEA,MAAM,4CAAsB,CAAC;IAC3B,OAAO,IAAI,SAAS,CACjB,OAAO,CAAC,OAAO,UACf,OAAO,CAAC,MAAM,aACd,OAAO,CAAC,MAAM;AACnB;AAEA,SAAS,sCAAgB,KAAoB;IAC3C,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IACnC,MAAM,QACJ,IAAI,iBACJ,aAAa,oBACb,mBAAmB,CAAC,MAA8B,IAAc,qBAChE,gBAAgB,cAChB,YAAY,KAAK,WACjB,GAAG,MACJ,GAAG;IAEJ,MAAM,SAAE,KAAK,EAAE,GAAG;IAElB,MAAM,sBAAsB,CAAA,GAAA,kBAAU,EACpC,CAAC;QACC,IAAI,iBAAiB,GAAG,OAAO;QAC/B,MAAM,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM;QACxD,OAAO,KAAK;IACd,GACA;QAAC;QAAO;KAAc;IAGxB,IAAI,aAAa,MAAM,OAAO;IAC9B,MAAM,QAAoB,UACvB,MAAM,CAAC,kBACP,GAAG,CAAC,CAAC,IAAa,0CAAgB,GAAG;YAAE,UAAU,IAAI,QAAQ;QAAC,IAC9D,MAAM,CAAC;IAEV,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,kBAAU,GAAG;QACpB,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,UAAU;uBACV;eACA;QACA,cAAc;YACZ,aAAa;QACf;QACA,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAiB,CAAA,GAAA,YAAI,EAAE,IAAI,CAAC;AAQ3B,SAAS,0CAAgB,KAAqB;IACnD,MAAM,mBACJ,kBAAkB,0DAClB,aAAa,EACb,GAAG,MACJ,GAAG;IAEJ,MAAM,gBAAgB,CAAC;QACrB,MAAM,QAAE,IAAI,EAAE,GAAG;QACjB,OAAO,CAAA,GAAA,sBAAA,EAAE,oBAAoB,gBAAgB,KAAK,IAAI;IACxD;IAEA,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAgB;QACvB,eAAe,iBAAiB;QAChC,GAAG,IAAI;IACT;AACF","sources":["packages/column-views/src/units/names.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useContext, useCallback } from \"react\";\nimport {\n ColumnContext,\n ColumnAxisType,\n NotesColumn,\n NotesColumnProps,\n} from \"@macrostrat/column-components\";\nimport type { ColumnDivision } from \"@macrostrat/column-components\";\nimport { IUnit } from \"./types\";\nimport React from \"react\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { CompositeColumnScale } from \"./composite\";\n\ninterface UnitDataProps extends NotesColumnProps {\n left?: number;\n transform?: string;\n noteComponent?: React.ComponentType<any>;\n shouldRenderNote?(div: ColumnDivision | IUnit, index: number): boolean;\n divisions?: IUnit[];\n minimumHeight?: number;\n scale?: CompositeColumnScale;\n}\n\ntype UnitNote = {\n height: number;\n top_height: number;\n data: IUnit;\n id: number;\n};\n\nfunction noteForDivision(\n div: IUnit,\n opts: { axisType: ColumnAxisType }\n): UnitNote {\n const { axisType } = opts;\n\n const [height, top_height] = getUnitHeightRange(div, axisType);\n\n return {\n height,\n top_height,\n data: div,\n id: div.unit_id,\n };\n}\n\nconst defaultNameFunction = (div) => {\n return div.unit_name\n .replace(\"Mbr\", \"Member\")\n .replace(\"Fm\", \"Formation\")\n .replace(\"Gp\", \"Group\");\n};\n\nfunction UnitDataColumn_(props: UnitDataProps) {\n const ctx = useContext(ColumnContext);\n const {\n left,\n noteComponent,\n shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,\n minimumHeight = 0,\n divisions = ctx?.divisions,\n ...rest\n } = props;\n\n const { scale } = ctx;\n\n const minimumHeightFilter = useCallback(\n (d) => {\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n },\n [scale, minimumHeight]\n );\n\n if (divisions == null) return null;\n const notes: UnitNote[] = divisions\n .filter(shouldRenderNote)\n .map((d: IUnit) => noteForDivision(d, { axisType: ctx.axisType }))\n .filter(minimumHeightFilter);\n\n return h(NotesColumn, {\n transform: `translate(${left || 0})`,\n editable: false,\n noteComponent,\n notes,\n forceOptions: {\n nodeSpacing: 1,\n },\n ...rest,\n });\n}\n\nconst UnitDataColumn = React.memo(UnitDataColumn_);\n\ninterface UnitNamesProps extends UnitDataProps {\n nameForDivision?(obj: IUnit): string;\n paddingLeft?: number;\n width: number;\n}\n\nexport function UnitNamesColumn(props: UnitNamesProps) {\n const {\n nameForDivision = defaultNameFunction,\n noteComponent,\n ...rest\n } = props;\n\n const NoteComponent = (props) => {\n const { note } = props;\n return h(\"p.col-note-label\", nameForDivision(note.data));\n };\n\n return h(UnitDataColumn, {\n noteComponent: noteComponent ?? NoteComponent,\n ...rest,\n });\n}\n\nexport type { UnitNamesProps };\nexport { defaultNameFunction, noteForDivision, UnitDataColumn };\n"],"names":[],"version":3,"file":"names.a8f2b452.js.map"}