@macrostrat/column-views 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/{column-views.8dd877af.js → column-views.006d5180.js} +2 -1
  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.134b2e2a.js → column-views.08440694.js} +2 -2
  9. package/dist/esm/{column-views.134b2e2a.js.map → column-views.08440694.js.map} +1 -1
  10. package/dist/esm/{column-views.aa9fcdba.js → column-views.0c14e18e.js} +18 -15
  11. package/dist/esm/column-views.0c14e18e.js.map +1 -0
  12. package/dist/esm/column-views.10eba967.js +11 -0
  13. package/dist/esm/column-views.10eba967.js.map +1 -0
  14. package/dist/esm/{column-views.8e51206e.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/{column-views.ea237aa8.js → column-views.1e055ed5.js} +6 -5
  19. package/dist/esm/column-views.1e055ed5.js.map +1 -0
  20. package/dist/esm/{column-views.1ece326b.js → column-views.1f123354.js} +60 -11
  21. package/dist/esm/column-views.1f123354.js.map +1 -0
  22. package/dist/esm/{column-views.240ef158.css → column-views.217078ab.css} +4 -3
  23. package/dist/esm/column-views.217078ab.css.map +1 -0
  24. package/dist/esm/column-views.2c45a7b5.js +25 -0
  25. package/dist/esm/column-views.2c45a7b5.js.map +1 -0
  26. package/dist/esm/column-views.2ca34210.js +151 -0
  27. package/dist/esm/column-views.2ca34210.js.map +1 -0
  28. package/dist/esm/{column-views.3bec70d6.js → column-views.2d8e0e0f.js} +9 -8
  29. package/dist/esm/column-views.2d8e0e0f.js.map +1 -0
  30. package/dist/esm/column-views.3048acc1.js +66 -0
  31. package/dist/esm/column-views.3048acc1.js.map +1 -0
  32. package/dist/esm/column-views.39657bbf.js.map +1 -1
  33. package/dist/esm/{column-views.28ee5f43.js → column-views.3ba9213d.js} +16 -5
  34. package/dist/esm/column-views.3ba9213d.js.map +1 -0
  35. package/dist/esm/column-views.3de4dc43.js.map +1 -1
  36. package/dist/esm/column-views.403a7b48.css +24 -0
  37. package/dist/esm/column-views.403a7b48.css.map +1 -0
  38. package/dist/esm/column-views.4637f4ce.js.map +1 -1
  39. package/dist/esm/{column-views.86c4b36f.js → column-views.4ab0ec82.js} +44 -13
  40. package/dist/esm/column-views.4ab0ec82.js.map +1 -0
  41. package/dist/esm/{column-views.9bdd477a.js → column-views.4d22c21c.js} +2 -2
  42. package/dist/esm/{column-views.9bdd477a.js.map → column-views.4d22c21c.js.map} +1 -1
  43. package/dist/esm/{column-views.fa6f3292.js → column-views.4df0b803.js} +7 -8
  44. package/dist/esm/column-views.4df0b803.js.map +1 -0
  45. package/dist/esm/{column-views.b775c0a3.js → column-views.52a6eb47.js} +3 -3
  46. package/dist/esm/{column-views.b775c0a3.js.map → column-views.52a6eb47.js.map} +1 -1
  47. package/dist/esm/column-views.57636733.css +22 -0
  48. package/dist/esm/column-views.57636733.css.map +1 -0
  49. package/dist/esm/{column-views.68409161.js → column-views.59bb0cba.js} +2 -3
  50. package/dist/esm/column-views.59bb0cba.js.map +1 -0
  51. package/dist/esm/column-views.5cc09c1d.js.map +1 -1
  52. package/dist/esm/column-views.5e2dc19d.js +187 -0
  53. package/dist/esm/column-views.5e2dc19d.js.map +1 -0
  54. package/dist/esm/{column-views.33dbc778.js → column-views.633c42a3.js} +2 -1
  55. package/dist/esm/column-views.633c42a3.js.map +1 -0
  56. package/dist/esm/{column-views.e77b9d6b.js → column-views.6549388a.js} +4 -5
  57. package/dist/esm/column-views.6549388a.js.map +1 -0
  58. package/dist/esm/{column-views.dff52504.js → column-views.686d21ad.js} +10 -1
  59. package/dist/esm/column-views.686d21ad.js.map +1 -0
  60. package/dist/esm/column-views.6992ca88.js +25 -0
  61. package/dist/esm/column-views.6992ca88.js.map +1 -0
  62. package/dist/esm/column-views.6d6b73b4.js.map +1 -1
  63. package/dist/esm/column-views.708140ab.css +36 -0
  64. package/dist/esm/column-views.708140ab.css.map +1 -0
  65. package/dist/esm/{column-views.650bd9f5.js → column-views.7715e35e.js} +17 -13
  66. package/dist/esm/column-views.7715e35e.js.map +1 -0
  67. package/dist/esm/{column-views.a98214b2.js → column-views.7e350ae2.js} +3 -3
  68. package/dist/esm/{column-views.a98214b2.js.map → column-views.7e350ae2.js.map} +1 -1
  69. package/dist/esm/{column-views.30646469.js → column-views.85c6a716.js} +2 -2
  70. package/dist/esm/column-views.85c6a716.js.map +1 -0
  71. package/dist/esm/column-views.86619334.js +9 -0
  72. package/dist/esm/column-views.86619334.js.map +1 -0
  73. package/dist/esm/{column-views.40c1f361.js → column-views.89b9e542.js} +11 -18
  74. package/dist/esm/column-views.89b9e542.js.map +1 -0
  75. package/dist/esm/{column-views.1c589cc4.js → column-views.9892f825.js} +55 -4
  76. package/dist/esm/column-views.9892f825.js.map +1 -0
  77. package/dist/esm/{column-views.1edc7300.js → column-views.9b77388d.js} +6 -5
  78. package/dist/esm/column-views.9b77388d.js.map +1 -0
  79. package/dist/esm/column-views.a7c5ae16.js +25 -0
  80. package/dist/esm/column-views.a7c5ae16.js.map +1 -0
  81. package/dist/esm/{column-views.5c02fee2.js → column-views.a91dde4a.js} +10 -9
  82. package/dist/esm/column-views.a91dde4a.js.map +1 -0
  83. package/dist/esm/{column-views.fc2b4611.js → column-views.a94e99a2.js} +2 -2
  84. package/dist/esm/{column-views.fc2b4611.js.map → column-views.a94e99a2.js.map} +1 -1
  85. package/dist/esm/{column-views.e2b9c23c.css → column-views.b17f793f.css} +21 -1
  86. package/dist/esm/column-views.b17f793f.css.map +1 -0
  87. package/dist/esm/{column-views.9804efda.js → column-views.b9fe5176.js} +14 -8
  88. package/dist/esm/column-views.b9fe5176.js.map +1 -0
  89. package/dist/esm/{column-views.b2e5f1d9.js → column-views.bcffe6e5.js} +4 -4
  90. package/dist/esm/{column-views.b2e5f1d9.js.map → column-views.bcffe6e5.js.map} +1 -1
  91. package/dist/esm/{column-views.f1efcc2c.js → column-views.c25e8b32.js} +3 -3
  92. package/dist/esm/{column-views.f1efcc2c.js.map → column-views.c25e8b32.js.map} +1 -1
  93. package/dist/esm/{column-views.9ced149e.js → column-views.c32d6ad0.js} +25 -6
  94. package/dist/esm/column-views.c32d6ad0.js.map +1 -0
  95. package/dist/esm/{column-views.34636ec7.js → column-views.c71c321c.js} +11 -11
  96. package/dist/esm/column-views.c71c321c.js.map +1 -0
  97. package/dist/esm/{column-views.f2e5a72f.js → column-views.c8cc249a.js} +3 -3
  98. package/dist/esm/{column-views.f2e5a72f.js.map → column-views.c8cc249a.js.map} +1 -1
  99. package/dist/esm/{column-views.5b2635fd.js → column-views.c8e2983a.js} +4 -4
  100. package/dist/esm/{column-views.5b2635fd.js.map → column-views.c8e2983a.js.map} +1 -1
  101. package/dist/esm/{column-views.88de2cee.js → column-views.cfcf6096.js} +4 -4
  102. package/dist/esm/{column-views.88de2cee.js.map → column-views.cfcf6096.js.map} +1 -1
  103. package/dist/esm/{column-views.4c4c5bac.js → column-views.d2037465.js} +14 -8
  104. package/dist/esm/column-views.d2037465.js.map +1 -0
  105. package/dist/esm/column-views.dc42f5d0.js.map +1 -1
  106. package/dist/esm/column-views.e20f6a4b.js +124 -0
  107. package/dist/esm/column-views.e20f6a4b.js.map +1 -0
  108. package/dist/esm/{column-views.57c4ddf3.js → column-views.f08929e2.js} +2 -2
  109. package/dist/esm/column-views.f08929e2.js.map +1 -0
  110. package/dist/esm/column-views.f13a1d6e.js +37 -0
  111. package/dist/esm/column-views.f13a1d6e.js.map +1 -0
  112. package/dist/esm/column-views.f9dab157.js.map +1 -1
  113. package/dist/esm/column-views.fa19cea0.js +108 -0
  114. package/dist/esm/column-views.fa19cea0.js.map +1 -0
  115. package/dist/esm/{column-views.f71ec4b4.js → column-views.fdb0e9ec.js} +67 -30
  116. package/dist/esm/column-views.fdb0e9ec.js.map +1 -0
  117. package/dist/esm/index.d.ts +325 -296
  118. package/dist/esm/index.d.ts.map +1 -1
  119. package/dist/esm/index.js +13 -11
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/node/column-views.04407342.js +2 -0
  122. package/dist/node/column-views.04407342.js.map +1 -0
  123. package/dist/node/column-views.06951a55.js +2 -0
  124. package/dist/node/column-views.06951a55.js.map +1 -0
  125. package/dist/node/column-views.06b0534e.js +2 -0
  126. package/dist/node/column-views.06b0534e.js.map +1 -0
  127. package/dist/node/column-views.0859f5d2.js +2 -0
  128. package/dist/node/column-views.0859f5d2.js.map +1 -0
  129. package/dist/node/column-views.10a2bad6.js +2 -0
  130. package/dist/node/column-views.10a2bad6.js.map +1 -0
  131. package/dist/node/column-views.12a70e9d.js +2 -0
  132. package/dist/node/column-views.12a70e9d.js.map +1 -0
  133. package/dist/node/column-views.139b0855.js +2 -0
  134. package/dist/node/column-views.139b0855.js.map +1 -0
  135. package/dist/node/column-views.1a0b56fc.js +2 -0
  136. package/dist/node/column-views.1a0b56fc.js.map +1 -0
  137. package/dist/node/column-views.1de87649.js +2 -0
  138. package/dist/node/column-views.1de87649.js.map +1 -0
  139. package/dist/node/column-views.1e94d562.js +2 -0
  140. package/dist/node/column-views.1e94d562.js.map +1 -0
  141. package/dist/node/column-views.28609db2.css +2 -0
  142. package/dist/node/column-views.28609db2.css.map +1 -0
  143. package/dist/node/column-views.286d444d.js +2 -0
  144. package/dist/node/column-views.286d444d.js.map +1 -0
  145. package/dist/node/column-views.2877f398.js +2 -0
  146. package/dist/node/column-views.2877f398.js.map +1 -0
  147. package/dist/node/column-views.2a70b9a2.js +2 -0
  148. package/dist/node/column-views.2a70b9a2.js.map +1 -0
  149. package/dist/node/column-views.2e4e357d.js +2 -0
  150. package/dist/node/column-views.2e4e357d.js.map +1 -0
  151. package/dist/node/column-views.3345cd7a.js +2 -0
  152. package/dist/node/column-views.3345cd7a.js.map +1 -0
  153. package/dist/node/column-views.33752461.js +2 -0
  154. package/dist/node/column-views.33752461.js.map +1 -0
  155. package/dist/node/column-views.39d3a0be.js +2 -0
  156. package/dist/node/column-views.39d3a0be.js.map +1 -0
  157. package/dist/node/column-views.3a55ecd7.css +2 -0
  158. package/dist/node/column-views.3a55ecd7.css.map +1 -0
  159. package/dist/node/column-views.3bd09ad6.js +2 -0
  160. package/dist/node/column-views.3bd09ad6.js.map +1 -0
  161. package/dist/node/column-views.3cb3345e.js +2 -0
  162. package/dist/node/column-views.3cb3345e.js.map +1 -0
  163. package/dist/node/column-views.41876859.js +2 -0
  164. package/dist/node/column-views.41876859.js.map +1 -0
  165. package/dist/node/column-views.45168c80.js +2 -0
  166. package/dist/node/column-views.45168c80.js.map +1 -0
  167. package/dist/node/column-views.4e2bdf9b.js +2 -0
  168. package/dist/node/column-views.4e2bdf9b.js.map +1 -0
  169. package/dist/node/column-views.51fbed89.js +2 -0
  170. package/dist/node/column-views.51fbed89.js.map +1 -0
  171. package/dist/node/column-views.536dc54e.js +2 -0
  172. package/dist/node/column-views.536dc54e.js.map +1 -0
  173. package/dist/node/column-views.5b6833f0.js +2 -0
  174. package/dist/node/column-views.5b6833f0.js.map +1 -0
  175. package/dist/node/column-views.5c1b0eeb.css +2 -0
  176. package/dist/node/column-views.5c1b0eeb.css.map +1 -0
  177. package/dist/node/column-views.664dc6c9.js +2 -0
  178. package/dist/node/column-views.664dc6c9.js.map +1 -0
  179. package/dist/node/column-views.6a0a35e7.js +2 -0
  180. package/dist/node/column-views.6a0a35e7.js.map +1 -0
  181. package/dist/node/column-views.6a4c2100.css +2 -0
  182. package/dist/node/column-views.6a4c2100.css.map +1 -0
  183. package/dist/node/column-views.6a9da051.js +2 -0
  184. package/dist/node/column-views.6a9da051.js.map +1 -0
  185. package/dist/node/column-views.6b441349.js +2 -0
  186. package/dist/node/column-views.6b441349.js.map +1 -0
  187. package/dist/node/column-views.6b6b756b.js +2 -0
  188. package/dist/node/column-views.6b6b756b.js.map +1 -0
  189. package/dist/node/column-views.6bba8c57.js +2 -0
  190. package/dist/node/column-views.6bba8c57.js.map +1 -0
  191. package/dist/node/column-views.6da49480.js +2 -0
  192. package/dist/node/column-views.6da49480.js.map +1 -0
  193. package/dist/node/column-views.7350ac73.js +2 -0
  194. package/dist/node/column-views.7350ac73.js.map +1 -0
  195. package/dist/node/column-views.755f726e.js +2 -0
  196. package/dist/node/column-views.755f726e.js.map +1 -0
  197. package/dist/node/column-views.770d2c95.js +2 -0
  198. package/dist/node/column-views.770d2c95.js.map +1 -0
  199. package/dist/node/column-views.78d3f3c5.js +2 -0
  200. package/dist/node/column-views.78d3f3c5.js.map +1 -0
  201. package/dist/node/column-views.7b9bd06e.css +2 -0
  202. package/dist/node/column-views.7b9bd06e.css.map +1 -0
  203. package/dist/node/column-views.7d45bbeb.js +2 -0
  204. package/dist/node/column-views.7d45bbeb.js.map +1 -0
  205. package/dist/node/column-views.82cf7c0d.js +2 -0
  206. package/dist/node/column-views.82cf7c0d.js.map +1 -0
  207. package/dist/node/column-views.869c7199.js +2 -0
  208. package/dist/node/column-views.869c7199.js.map +1 -0
  209. package/dist/node/column-views.8c00beb4.js +2 -0
  210. package/dist/node/column-views.8c00beb4.js.map +1 -0
  211. package/dist/node/column-views.8cfed88b.js +2 -0
  212. package/dist/node/column-views.8cfed88b.js.map +1 -0
  213. package/dist/node/column-views.8f54691f.js +2 -0
  214. package/dist/node/column-views.8f54691f.js.map +1 -0
  215. package/dist/node/column-views.95411f1b.js +2 -0
  216. package/dist/node/column-views.95411f1b.js.map +1 -0
  217. package/dist/node/column-views.9cb13e51.css +2 -0
  218. package/dist/node/column-views.9cb13e51.css.map +1 -0
  219. package/dist/node/column-views.a025fbe3.js +2 -0
  220. package/dist/node/column-views.a025fbe3.js.map +1 -0
  221. package/dist/node/column-views.a0aac838.js +2 -0
  222. package/dist/node/column-views.a0aac838.js.map +1 -0
  223. package/dist/node/column-views.a501cea0.js +2 -0
  224. package/dist/node/column-views.a501cea0.js.map +1 -0
  225. package/dist/node/column-views.a8ffe072.js +2 -0
  226. package/dist/node/column-views.a8ffe072.js.map +1 -0
  227. package/dist/node/column-views.aff245a8.js +2 -0
  228. package/dist/node/column-views.aff245a8.js.map +1 -0
  229. package/dist/node/column-views.b169b4b5.css +2 -0
  230. package/dist/node/column-views.b169b4b5.css.map +1 -0
  231. package/dist/node/column-views.b773edb8.js +2 -0
  232. package/dist/node/column-views.b773edb8.js.map +1 -0
  233. package/dist/node/column-views.c968a185.css +2 -0
  234. package/dist/node/column-views.c968a185.css.map +1 -0
  235. package/dist/node/column-views.cd3c430b.js +2 -0
  236. package/dist/node/column-views.cd3c430b.js.map +1 -0
  237. package/dist/node/column-views.cd468adb.css +2 -0
  238. package/dist/node/column-views.cd468adb.css.map +1 -0
  239. package/dist/node/column-views.cdcce702.js +2 -0
  240. package/dist/node/column-views.cdcce702.js.map +1 -0
  241. package/dist/node/column-views.ce6808fe.js +2 -0
  242. package/dist/node/column-views.ce6808fe.js.map +1 -0
  243. package/dist/node/column-views.cf90f63d.js +2 -0
  244. package/dist/node/column-views.cf90f63d.js.map +1 -0
  245. package/dist/node/column-views.d6708353.js +2 -0
  246. package/dist/node/column-views.d6708353.js.map +1 -0
  247. package/dist/node/column-views.d9bbd6fb.css +2 -0
  248. package/dist/node/column-views.d9bbd6fb.css.map +1 -0
  249. package/dist/node/column-views.e6720522.js +2 -0
  250. package/dist/node/column-views.e6720522.js.map +1 -0
  251. package/dist/node/column-views.e7e26765.js +2 -0
  252. package/dist/node/column-views.e7e26765.js.map +1 -0
  253. package/dist/node/column-views.e9515ec1.js +2 -0
  254. package/dist/node/column-views.e9515ec1.js.map +1 -0
  255. package/dist/node/column-views.ebb44b7d.js +2 -0
  256. package/dist/node/column-views.ebb44b7d.js.map +1 -0
  257. package/dist/node/column-views.ecc2394a.js +2 -0
  258. package/dist/node/column-views.ecc2394a.js.map +1 -0
  259. package/dist/node/column-views.eea80478.js +2 -0
  260. package/dist/node/column-views.eea80478.js.map +1 -0
  261. package/dist/node/column-views.f7315cbc.css +2 -0
  262. package/dist/node/column-views.f7315cbc.css.map +1 -0
  263. package/dist/node/column-views.f76ba19f.js +2 -0
  264. package/dist/node/column-views.f76ba19f.js.map +1 -0
  265. package/dist/node/column-views.fdaa2963.js +2 -0
  266. package/dist/node/column-views.fdaa2963.js.map +1 -0
  267. package/dist/node/column-views.fea32686.js +2 -0
  268. package/dist/node/column-views.fea32686.js.map +1 -0
  269. package/dist/node/index.js +1 -1
  270. package/dist/node/index.js.map +1 -1
  271. package/package.json +16 -15
  272. package/src/age-axis.module.sass +20 -0
  273. package/src/age-axis.ts +25 -3
  274. package/src/age-model-overlay.ts +2 -2
  275. package/src/column.module.sass +3 -3
  276. package/src/column.ts +92 -19
  277. package/src/correlation-chart/main.ts +25 -12
  278. package/src/correlation-chart/prepare-data.ts +6 -6
  279. package/src/correlation-chart/stories/correlation-chart.stories.ts +12 -6
  280. package/src/data-provider/base.ts +20 -11
  281. package/src/data-provider/column-nav.ts +2 -2
  282. package/src/data-provider/fetch.ts +9 -9
  283. package/src/data-provider/store.ts +15 -10
  284. package/src/{carbon-isotopes → facets/carbon-isotopes}/data-area.ts +5 -4
  285. package/src/{carbon-isotopes → facets/carbon-isotopes}/index.ts +0 -1
  286. package/src/facets/carbon-isotopes/isotopes-column.module.sass +31 -0
  287. package/src/{carbon-isotopes → facets/carbon-isotopes}/isotopes-column.ts +119 -87
  288. package/src/facets/detrital-zircon/index.module.sass +22 -0
  289. package/src/facets/detrital-zircon/index.ts +132 -0
  290. package/src/facets/detrital-zircon/provider.ts +51 -0
  291. package/src/facets/fossils/index.module.sass +14 -0
  292. package/src/facets/fossils/index.ts +120 -0
  293. package/src/facets/fossils/provider.ts +80 -0
  294. package/src/facets/index.ts +3 -0
  295. package/src/index.ts +2 -1
  296. package/src/maps/_shared/inset-map.stories.ts +1 -1
  297. package/src/maps/_shared/inset-map.ts +2 -2
  298. package/src/maps/_shared/styles.ts +3 -1
  299. package/src/maps/column-correlation/column-correlation-map.stories.ts +3 -3
  300. package/src/maps/column-correlation/core.ts +17 -26
  301. package/src/maps/column-correlation/state.ts +9 -9
  302. package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +177 -1
  303. package/src/maps/column-navigation/mapbox/index.ts +18 -15
  304. package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +4 -4
  305. package/src/maps/column-navigation/mapbox/state.ts +16 -6
  306. package/src/maps/column-navigation/svg/animated.ts +2 -2
  307. package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +2 -2
  308. package/src/maps/column-navigation/svg/index.ts +2 -4
  309. package/src/maps/column-navigation/svg/layers.ts +5 -7
  310. package/src/maps/column-navigation/utils/keyboard-navigation.ts +1 -1
  311. package/src/notes.ts +49 -0
  312. package/src/prepare-units/composite-scale.ts +73 -25
  313. package/src/prepare-units/helpers.ts +78 -13
  314. package/src/prepare-units/index.ts +17 -17
  315. package/src/prepare-units/utils.ts +7 -7
  316. package/src/section.ts +8 -8
  317. package/src/unit-details/panel.ts +100 -17
  318. package/src/unit-details/popover.ts +5 -5
  319. package/src/units/boxes.ts +20 -10
  320. package/src/units/colors.ts +12 -5
  321. package/src/units/composite.ts +16 -11
  322. package/src/units/index.ts +77 -10
  323. package/src/units/names.ts +19 -16
  324. package/src/units/resolvers.ts +3 -0
  325. package/src/units/selection.ts +44 -11
  326. package/src/units/types.ts +2 -0
  327. package/dist/esm/column-views.062d164a.js +0 -86
  328. package/dist/esm/column-views.062d164a.js.map +0 -1
  329. package/dist/esm/column-views.07521ce6.js +0 -25
  330. package/dist/esm/column-views.07521ce6.js.map +0 -1
  331. package/dist/esm/column-views.1c589cc4.js.map +0 -1
  332. package/dist/esm/column-views.1ece326b.js.map +0 -1
  333. package/dist/esm/column-views.1edc7300.js.map +0 -1
  334. package/dist/esm/column-views.240ef158.css.map +0 -1
  335. package/dist/esm/column-views.28ee5f43.js.map +0 -1
  336. package/dist/esm/column-views.30646469.js.map +0 -1
  337. package/dist/esm/column-views.33dbc778.js.map +0 -1
  338. package/dist/esm/column-views.343b5aa2.js +0 -98
  339. package/dist/esm/column-views.343b5aa2.js.map +0 -1
  340. package/dist/esm/column-views.34636ec7.js.map +0 -1
  341. package/dist/esm/column-views.3bec70d6.js.map +0 -1
  342. package/dist/esm/column-views.3f4db8cb.js +0 -117
  343. package/dist/esm/column-views.3f4db8cb.js.map +0 -1
  344. package/dist/esm/column-views.40c1f361.js.map +0 -1
  345. package/dist/esm/column-views.4c4c5bac.js.map +0 -1
  346. package/dist/esm/column-views.57c4ddf3.js.map +0 -1
  347. package/dist/esm/column-views.5c02fee2.js.map +0 -1
  348. package/dist/esm/column-views.650bd9f5.js.map +0 -1
  349. package/dist/esm/column-views.68409161.js.map +0 -1
  350. package/dist/esm/column-views.86c4b36f.js.map +0 -1
  351. package/dist/esm/column-views.8dd877af.js.map +0 -1
  352. package/dist/esm/column-views.8e51206e.js.map +0 -1
  353. package/dist/esm/column-views.94b5cca1.js +0 -34
  354. package/dist/esm/column-views.94b5cca1.js.map +0 -1
  355. package/dist/esm/column-views.9804efda.js.map +0 -1
  356. package/dist/esm/column-views.9ced149e.js.map +0 -1
  357. package/dist/esm/column-views.a7be0a4a.css +0 -157
  358. package/dist/esm/column-views.a7be0a4a.css.map +0 -1
  359. package/dist/esm/column-views.aa9fcdba.js.map +0 -1
  360. package/dist/esm/column-views.ac9fb5e1.js +0 -163
  361. package/dist/esm/column-views.ac9fb5e1.js.map +0 -1
  362. package/dist/esm/column-views.c58aad3f.js +0 -88
  363. package/dist/esm/column-views.c58aad3f.js.map +0 -1
  364. package/dist/esm/column-views.d1ad48eb.js +0 -11
  365. package/dist/esm/column-views.d1ad48eb.js.map +0 -1
  366. package/dist/esm/column-views.dff52504.js.map +0 -1
  367. package/dist/esm/column-views.e2b9c23c.css.map +0 -1
  368. package/dist/esm/column-views.e77b9d6b.js.map +0 -1
  369. package/dist/esm/column-views.ea237aa8.js.map +0 -1
  370. package/dist/esm/column-views.f71ec4b4.js.map +0 -1
  371. package/dist/esm/column-views.fa6f3292.js.map +0 -1
  372. package/src/carbon-isotopes/column.module.sass +0 -136
  373. package/src/carbon-isotopes/column.ts +0 -133
  374. package/src/carbon-isotopes/core.ts +0 -81
  375. /package/src/{carbon-isotopes → facets/carbon-isotopes}/data-provider.ts +0 -0
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,W,C,K,O,A,Q,M,mB,A,Q,M,Y,A,Q,c,C,K,Y,A,Q,6B,C,K,gC,A,Q,mB,C,C,O,C,C,wB,C,K,+B,A,Q,e,C,K,U,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,kB,I,G,E,E,iB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GA8BvB,SAAS,EAAU,CAAqB,EACtC,GAAI,CAAA,MAAE,CAAK,CAAA,UAAE,CAAS,CAAA,YAAE,CAAW,CAAA,YAAE,CAAW,CAAE,GAAG,EAAM,CAAG,EACxD,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEf,CAAA,OAAE,CAAM,CAAE,CAAG,AAAA,IACb,EAAI,EAAO,GAGjB,OAAO,EAAE,SAAU,CAAE,UAFH,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAEH,UADhC,EAAY,AAAA,EAAW,EAAW,CAAE,KAAM,AAAU,IAAV,CAAY,GACX,IAAK,CAAM,EAAG,CACvD,EACE,eACA,EAAS,GAAG,CAAC,AAAC,IACZ,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EAChB,EAAK,EAAU,MAAM,CACrB,EAAK,EAAK,EAAU,WAAW,CACrC,OAAO,EAAE,OAAQ,CACf,GAAA,EACA,GAAA,EACA,gBAAiB,EAAM,eAAe,CACtC,YAAa,CACf,EACF,IAEH,CACH,CAoCA,SAAS,EAAgB,CAAK,EAC5B,GAAM,CAAA,UAAE,CAAS,CAAA,MAAE,EAAQ,YAAA,CAAc,CAAG,EACtC,EAAQ,AAAA,CAAA,E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","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import \"./column-views.82cf7c0d.js\";\nimport \"./column-views.04407342.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport \"./column-views.eea80478.js\";\nimport {useMemo as $2wsb4$useMemo} from \"react\";\nimport $2wsb4$macrostrathyper from \"@macrostrat/hyper\";\nimport $2wsb4$classnames from \"classnames\";\nimport {AxisBottom as $2wsb4$AxisBottom} from \"@visx/axis\";\nimport {referenceMeasuresToColumn as $2wsb4$referenceMeasuresToColumn} from \"@macrostrat/stratigraphy-utils\";\nimport {useColumnLayout as $2wsb4$useColumnLayout, SVG as $2wsb4$SVG, ColumnLayoutProvider as $2wsb4$ColumnLayoutProvider} from \"@macrostrat/column-components\";\nimport {scaleLinear as $2wsb4$scaleLinear} from \"d3-scale\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $5ccf8f2b270f7458$exports = {};\n\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesDataset\", () => $5ccf8f2b270f7458$export$c69bd0285aa5d775);\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesColumn\", () => $5ccf8f2b270f7458$export$5d8aa8022c284748);\n\n\n\n\n\nvar $62IHc = parcelRequire(\"62IHc\");\n\nvar $l5EV6 = parcelRequire(\"l5EV6\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $6nrRo = parcelRequire(\"6nrRo\");\n\nconst $5ccf8f2b270f7458$var$h = (0, $2wsb4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6nrRo))));\nfunction $5ccf8f2b270f7458$var$IsotopeText({ datum: datum, text: text, ...rest }) {\n const { pointLocator: pointLocator } = (0, $l5EV6.useDataLocator)();\n const [x, y] = pointLocator(datum);\n return $5ccf8f2b270f7458$var$h(\"text\", {\n x: x,\n y: y,\n ...rest\n }, text);\n}\nfunction $5ccf8f2b270f7458$var$ScaleLine(props) {\n let { value: value, className: className, labelBottom: labelBottom, labelOffset: labelOffset, ...rest } = props;\n const { sections: sections } = (0, $wtIgl.useMacrostratColumnData)();\n const { xScale: xScale } = (0, $2wsb4$useColumnLayout)();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = (0, $2wsb4$classnames)(className, {\n zero: value === 0\n });\n return $5ccf8f2b270f7458$var$h(\"g.tick\", {\n transform: transform,\n className: className,\n key: value\n }, [\n $5ccf8f2b270f7458$var$h(\"g.tick-lines\", sections.map((d)=>{\n const { scaleInfo: scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return $5ccf8f2b270f7458$var$h(\"line\", {\n y1: y1,\n y2: y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1\n });\n }))\n ]);\n}\nfunction $5ccf8f2b270f7458$var$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}\nfunction $5ccf8f2b270f7458$export$c69bd0285aa5d775(props) {\n const { parameter: parameter, color: color = \"dodgerblue\" } = props;\n const units = (0, $wtIgl.useMacrostratUnits)();\n const measures = (0, $62IHc.useMeasurementData)() ?? [];\n const points = (0, $2wsb4$useMemo)(()=>{\n const data = measures.filter((d)=>d.measurement === parameter);\n const refMeasures = (0, $2wsb4$referenceMeasuresToColumn)(units, data);\n return $5ccf8f2b270f7458$var$unnestPoints(refMeasures);\n }, [\n measures,\n parameter,\n units\n ]);\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopesDataArea), {\n getHeight (d) {\n return d.age;\n }\n }, $5ccf8f2b270f7458$var$h(\"g.data-points\", points.map((d)=>{\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopeDataPoint), {\n datum: d,\n fill: color\n });\n })));\n}\nfunction $5ccf8f2b270f7458$export$5d8aa8022c284748(props) {\n const { width: width = 120, domain: domain = [\n -14,\n 6\n ], parameter: parameter, label: label, color: color = \"dodgerblue\", children: children = null, transform: transform, getHeight: getHeight, showAxis: showAxis = true, tickValues: _tickVals, nTicks: nTicks = 6, ...rest } = props;\n const { totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n let _children = children;\n if (children == null && parameter != null) _children = $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$export$c69bd0285aa5d775, {\n parameter: parameter,\n color: color,\n getHeight: getHeight\n });\n const xScale = (0, $2wsb4$useMemo)(()=>(0, $2wsb4$scaleLinear)().domain(domain).range([\n 0,\n width\n ]), [\n domain,\n width\n ]);\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-column\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15\n }, $5ccf8f2b270f7458$var$h((0, $2wsb4$ColumnLayoutProvider), {\n width: width,\n xScale: xScale\n }, $5ccf8f2b270f7458$var$h(\"g.isotopes-column\", {\n className: parameter,\n transform: transform\n }, [\n $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ColumnScaleLines, {\n xScale: xScale,\n tickValues: tickValues,\n width: width,\n ...rest\n }),\n _children\n ]))),\n $5ccf8f2b270f7458$var$h.if(showAxis)($5ccf8f2b270f7458$var$ColumnScaleAxis, {\n width: width,\n label: label ?? parameter,\n xScale: xScale,\n tickValues: tickValues,\n ...rest\n })\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleAxis(props) {\n const { label: label, xScale: xScale, width: width, showAxis: showAxis = true, tickValues: tickValues, ...rest } = props;\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-scale-axis\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n innerWidth: width,\n height: 45,\n paddingH: 15\n }, [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$AxisBottom), {\n scale: xScale,\n tickLength: 5,\n tickValues: tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label: label\n })\n ])\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleLines(props) {\n const { tickValues: tickValues, xScale: xScale } = props;\n return $5ccf8f2b270f7458$var$h(\"g.scale-lines\", tickValues.map((value)=>{\n return $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ScaleLine, {\n value: value\n });\n }));\n}\n\n\nexport {$5ccf8f2b270f7458$export$c69bd0285aa5d775 as IsotopesDataset, $5ccf8f2b270f7458$export$5d8aa8022c284748 as IsotopesColumn};\n//# sourceMappingURL=column-views.7350ac73.js.map\n","import { useMemo } from \"react\";\nimport hyper 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 SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\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\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 const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\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(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\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 nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\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 },\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 showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":["useMemo","$2wsb4$useMemo","$2wsb4$macrostrathyper","$2wsb4$classnames","AxisBottom","$2wsb4$AxisBottom","referenceMeasuresToColumn","$2wsb4$referenceMeasuresToColumn","useColumnLayout","$2wsb4$useColumnLayout","SVG","$2wsb4$SVG","ColumnLayoutProvider","$2wsb4$ColumnLayoutProvider","scaleLinear","$2wsb4$scaleLinear","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5ccf8f2b270f7458$exports","$5ccf8f2b270f7458$export$c69bd0285aa5d775","$5ccf8f2b270f7458$export$5d8aa8022c284748","$62IHc","$l5EV6","$wtIgl","$6nrRo","$5ccf8f2b270f7458$var$h","styled","a","__esModule","default","$5ccf8f2b270f7458$var$ScaleLine","props","value","className","labelBottom","labelOffset","rest","sections","useMacrostratColumnData","xScale","x","transform","zero","key","map","d","scaleInfo","y1","offset","y2","pixelHeight","strokeDasharray","strokeWidth","parameter","color","units","useMacrostratUnits","measures","useMeasurementData","points","filter","measurement","meas","vals","measure_value","i","age","measure_age","position","measure_position","unit_id","sample_id","sample_no","Array","prototype","push","apply","IsotopesDataArea","getHeight","IsotopeDataPoint","datum","fill","width","domain","label","children","showAxis","tickValues","_tickVals","nTicks","totalHeight","_children","range","ticks","height","innerWidth","paddingH","$5ccf8f2b270f7458$var$ColumnScaleLines","if","$5ccf8f2b270f7458$var$ColumnScaleAxis","scale","tickLength","stroke","tickStroke","IsotopesDataset","IsotopesColumn"],"version":3,"file":"column-views.7350ac73.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.8cfed88b.js";import{group as e}from"d3-array";import{ColumnAxisType as t}from"@macrostrat/column-components";import{compareAgeRanges as n}from"@macrostrat/stratigraphy-utils";var i=globalThis,r={},a={},o=i.parcelRequirea149;null==o&&((o=function(e){if(e in r)return r[e].exports;if(e in a){var t=a[e];delete a[e];var n={id:e,exports:{}};return r[e]=n,t.call(n.exports,n,n.exports),n.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){a[e]=t},i.parcelRequirea149=o),o.register;var s=o("iWhRv");function g(e,n=t.AGE){let i=e.units.map((...e)=>(function(e,n,i,r=t.AGE){let a=i.filter(t=>t.unit_id!=e.unit_id&&(0,s.unitsOverlap)(e,t,r)),o=(0,s.getUnitHeightRange)(e,r),g=a.some(e=>(0,s.getUnitHeightRange)(e,r)[0]<o[0]+.001),u=0;return 1==a.length&&(u=1),{...e,bottomOverlap:g,column:u,overlappingUnits:a.map(e=>e.unit_id)}})(...e,0));for(let r of i){let a=i.filter(e=>r.overlappingUnits.includes(e.unit_id)).map(e=>e.column);if(a.includes(r.column)){let e=0;for(;a.includes(e);)e++;r.column=e}if(n==t.AGE){let[t,i]=(0,s.getUnitHeightRange)(r,n);t>e.b_age&&(r.b_clip_pos=e.b_age),i<e.t_age&&(r.t_clip_pos=e.t_age)}}return i}function u(i,r=t.AGE){if(r!=t.AGE)return function(e,i=t.AGE){let r=[];for(let t of e){let e=(0,s.getUnitHeightRange)(t,i),a=r.find(t=>n(e,t.heightRange));null==a?r.push({heightRange:e,units:[t]}):(a.units.push(t),a.heightRange=[Math.max(a.heightRange[0],e[0]),Math.min(a.heightRange[1],e[1])])}return r.map((e,t)=>{let[n,i]=l(e.units);return{section_id:-t,t_age:i,b_age:n,units:e.units}})}(i,r);let a=Array.from(e(i,e=>e.section_id)),o=(0,s.createUnitSorter)(r),g=a.map(([e,t])=>{let[n,i]=l(t);return t.sort(o),{section_id:e,t_age:i,b_age:n,units:t}}),p=(0,s.createUnitSorter)(t.AGE);return g.sort(p),g}function l(e){let t=e.map(e=>e.t_age);return[Math.max(...e.map(e=>e.b_age)),Math.min(...t)]}function p(e){let[t,...n]=e,i=[t];for(let e of n){let t=i[i.length-1];if(t.b_age<e.t_age||t.t_age>e.b_age){i.push(e);continue}t.section_id=[...(0,s.ensureArray)(t.section_id),...(0,s.ensureArray)(e.section_id)],t.units.push(...e.units),t.b_age=Math.max(t.b_age,e.b_age),t.t_age=Math.min(t.t_age,e.t_age)}return i}export{g as preprocessUnits,u as groupUnitsIntoSections,l as getSectionAgeRange,p as mergeOverlappingSections};
2
+ //# sourceMappingURL=column-views.755f726e.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["<anon>","packages/column-views/src/prepare-units/helpers.ts"],"sourcesContent":["import \"./column-views.8cfed88b.js\";\nimport {group as $lOZ4A$group} from \"d3-array\";\nimport {ColumnAxisType as $lOZ4A$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {compareAgeRanges as $lOZ4A$compareAgeRanges} from \"@macrostrat/stratigraphy-utils\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nconst $57278f42f24b59e5$var$dt = 0.001;\nfunction $57278f42f24b59e5$export$55543e159517d62d(section, axisType = (0, $lOZ4A$ColumnAxisType).AGE) {\n /** Preprocess units to add overlapping units and columns. */ const units = section.units;\n let divisions = units.map((...args)=>$57278f42f24b59e5$var$extendDivision(...args, axisType));\n for (let d of divisions){\n const overlappingUnits = divisions.filter((u)=>d.overlappingUnits.includes(u.unit_id));\n // Overlapping columns\n const columns = overlappingUnits.map((d)=>d.column);\n if (columns.includes(d.column)) {\n let col = 0;\n // Go through columns to find a better index\n while(columns.includes(col))col++;\n d.column = col;\n }\n // If unit overlaps the edges of a section, set the clip positions\n if (axisType == (0, $lOZ4A$ColumnAxisType).AGE) {\n const [b_pos, t_pos] = (0, $iWhRv.getUnitHeightRange)(d, axisType);\n if (b_pos > section.b_age) d.b_clip_pos = section.b_age;\n if (t_pos < section.t_age) d.t_clip_pos = section.t_age;\n }\n }\n // TODO: we may want to re-enable this simpler processing for sections,\n // but we want it to be less universally applied.\n // if (axisType != ColumnAxisType.AGE) {\n // return preprocessSectionUnits(divisions, axisType);\n // }\n //\n return divisions;\n}\nfunction $57278f42f24b59e5$var$extendDivision(unit, i, divisions, axisType = (0, $lOZ4A$ColumnAxisType).AGE) {\n const overlappingUnits = divisions.filter((d)=>d.unit_id != unit.unit_id && (0, $iWhRv.unitsOverlap)(unit, d, axisType));\n const u_pos = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n const bottomOverlap = overlappingUnits.some((d)=>{\n const d_pos = (0, $iWhRv.getUnitHeightRange)(d, axisType);\n // Check if the unit is below the current unit\n return d_pos[0] < u_pos[0] + $57278f42f24b59e5$var$dt;\n });\n let column = 0;\n if (overlappingUnits.length == 1) column = 1;\n return {\n ...unit,\n bottomOverlap: bottomOverlap,\n column: column,\n overlappingUnits: overlappingUnits.map((d)=>d.unit_id)\n };\n}\nfunction $57278f42f24b59e5$export$dfbd00399d639b4c(units, axisType = (0, $lOZ4A$ColumnAxisType).AGE) {\n if (axisType != (0, $lOZ4A$ColumnAxisType).AGE) return $57278f42f24b59e5$var$groupUnitsIntoSectionByOverlap(units, axisType);\n /** Group units into sections by section_id.\n * This works for large-scale Macrostrat columns, where units are grouped by section_id.\n * */ let groups = Array.from((0, $lOZ4A$group)(units, (d)=>d.section_id));\n const unitComparator = (0, $iWhRv.createUnitSorter)(axisType);\n const groups1 = groups.map(([section_id, sectionUnits])=>{\n const [b_age, t_age] = $57278f42f24b59e5$export$8093438ec3e4c6fd(sectionUnits);\n // sort units by position\n sectionUnits.sort(unitComparator);\n return {\n section_id: section_id,\n t_age: t_age,\n b_age: b_age,\n units: sectionUnits\n };\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 = (0, $iWhRv.createUnitSorter)((0, $lOZ4A$ColumnAxisType).AGE);\n groups1.sort(compareSections);\n return groups1;\n}\nfunction $57278f42f24b59e5$var$groupUnitsIntoSectionByOverlap(units, axisType = (0, $lOZ4A$ColumnAxisType).AGE) {\n /** Group units into sections by overlap.\n * This creates \"synthetic\" sections that correspond to packages bound by scale gaps.\n * This is most useful in the height and depth domains, where gaps (e.g., missing core) are\n * common.\n * */ // Start with each unit as its own \"section\", and progressively merge...\n const sectionList = [];\n for (const unit of units){\n // Check if the unit overlaps with any existing section\n const heightRange = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n let section = sectionList.find((s)=>(0, $lOZ4A$compareAgeRanges)(heightRange, s.heightRange));\n if (section == null) // No overlap, create a new section\n sectionList.push({\n heightRange: heightRange,\n units: [\n unit\n ]\n });\n else {\n // Overlap, merge the unit into the section\n section.units.push(unit);\n // Update the height range\n section.heightRange = [\n Math.max(section.heightRange[0], heightRange[0]),\n Math.min(section.heightRange[1], heightRange[1])\n ];\n }\n }\n // We should have a section for each unit, now we can convert to SectionInfo\n // Ages have to be really actually ages, not heights\n return sectionList.map((section, i)=>{\n const [b_age, t_age] = $57278f42f24b59e5$export$8093438ec3e4c6fd(section.units);\n return {\n // Negative section IDs are used to indicate that these are synthetic sections\n section_id: -i,\n t_age: t_age,\n b_age: b_age,\n units: section.units\n };\n });\n}\nfunction $57278f42f24b59e5$export$8093438ec3e4c6fd(units) {\n /** Get the overall age range of a set of units. */ 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 [\n b_age,\n t_age\n ];\n}\nfunction $57278f42f24b59e5$export$e7bb744b9be37f3d(sections) {\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 */ const [firstSection, ...rest] = sections;\n const newSections = [\n firstSection\n ];\n for (const section of rest){\n const lastSection = newSections[newSections.length - 1];\n if (lastSection.b_age < section.t_age || lastSection.t_age > section.b_age) {\n // No overlap, add the section as normal\n newSections.push(section);\n continue;\n }\n // Overlap, merge the sections\n lastSection.section_id = [\n ...(0, $iWhRv.ensureArray)(lastSection.section_id),\n ...(0, $iWhRv.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}\nfunction $57278f42f24b59e5$var$preprocessSectionUnits(units, axisType = (0, $lOZ4A$ColumnAxisType).DEPTH) {\n /** Preprocess units for a \"section\" column type, which is guaranteed to be simpler. */ // We have to assume the units are ordered...\n let thickness = 0;\n return units.map((unit, i)=>{\n let u1 = $57278f42f24b59e5$var$preprocessSectionUnit(unit, i, units, thickness, axisType);\n thickness += Math.abs(u1.t_pos - u1.b_pos);\n return u1;\n });\n}\nfunction $57278f42f24b59e5$var$preprocessSectionUnit(unit, i, units, accumulatedThickness = 0, axisType = (0, $lOZ4A$ColumnAxisType).DEPTH) {\n /** Preprocess a single unit for a \"section\" column type.\n * No provision for overlapping units.\n * */ let b_pos = unit.b_pos;\n let t_pos = unit.t_pos;\n if (b_pos == t_pos && axisType == (0, $lOZ4A$ColumnAxisType).ORDINAL) t_pos = t_pos - 1;\n let unit_name = unit.unit_name;\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 if (match) {\n // These values should already be set if we've used the show_positions flag\n t_pos ?? (t_pos = (0, $iWhRv.ensureRealFloat)(match[1]));\n b_pos ?? (b_pos = (0, $iWhRv.ensureRealFloat)(match[3]));\n unit_name = match[5];\n }\n return {\n ...unit,\n b_pos: (0, $iWhRv.ensureRealFloat)(b_pos),\n t_pos: (0, $iWhRv.ensureRealFloat)(t_pos),\n unit_name: unit_name,\n bottomOverlap: false,\n overlappingUnits: []\n };\n}\n\n\nexport {$57278f42f24b59e5$export$55543e159517d62d as preprocessUnits, $57278f42f24b59e5$export$dfbd00399d639b4c as groupUnitsIntoSections, $57278f42f24b59e5$export$8093438ec3e4c6fd as getSectionAgeRange, $57278f42f24b59e5$export$e7bb744b9be37f3d as mergeOverlappingSections};\n//# sourceMappingURL=column-views.755f726e.js.map\n","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 PossiblyClippedUnit,\n} from \"./utils\";\nimport { compareAgeRanges } from \"@macrostrat/stratigraphy-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 // TODO: we may want to re-enable this simpler processing for sections,\n // but we want it to be less universally applied.\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 if (axisType != ColumnAxisType.AGE) {\n return groupUnitsIntoSectionByOverlap(units, axisType);\n }\n\n /** Group units into sections by section_id.\n * This works for large-scale Macrostrat columns, where units are grouped by section_id.\n * */\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\ninterface WorkingSection {\n units: UnitLong[];\n // Position or age\n heightRange?: [number, number];\n}\n\nfunction groupUnitsIntoSectionByOverlap<T extends UnitLong>(\n units: T[],\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n): SectionInfo<T>[] {\n /** Group units into sections by overlap.\n * This creates \"synthetic\" sections that correspond to packages bound by scale gaps.\n * This is most useful in the height and depth domains, where gaps (e.g., missing core) are\n * common.\n * */\n // Start with each unit as its own \"section\", and progressively merge...\n const sectionList: WorkingSection[] = [];\n for (const unit of units) {\n // Check if the unit overlaps with any existing section\n const heightRange = getUnitHeightRange(unit, axisType);\n let section: WorkingSection | undefined = sectionList.find((s) =>\n compareAgeRanges(heightRange, s.heightRange),\n );\n if (section == null) {\n // No overlap, create a new section\n sectionList.push({\n heightRange,\n units: [unit],\n });\n } else {\n // Overlap, merge the unit into the section\n section.units.push(unit);\n // Update the height range\n section.heightRange = [\n Math.max(section.heightRange[0], heightRange[0]),\n Math.min(section.heightRange[1], heightRange[1]),\n ];\n }\n }\n // We should have a section for each unit, now we can convert to SectionInfo\n // Ages have to be really actually ages, not heights\n\n return sectionList.map((section, i) => {\n const [b_age, t_age] = getSectionAgeRange(section.units);\n return {\n // Negative section IDs are used to indicate that these are synthetic sections\n section_id: -i,\n t_age: t_age,\n b_age: b_age,\n units: section.units as T[],\n };\n });\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":["group","$lOZ4A$group","ColumnAxisType","$lOZ4A$ColumnAxisType","compareAgeRanges","$lOZ4A$compareAgeRanges","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$57278f42f24b59e5$export$55543e159517d62d","section","axisType","AGE","divisions","units","map","args","$57278f42f24b59e5$var$extendDivision","unit","i","overlappingUnits","filter","d","unit_id","unitsOverlap","u_pos","getUnitHeightRange","bottomOverlap","some","d_pos","column","length","columns","u","includes","col","b_pos","t_pos","b_age","b_clip_pos","t_age","t_clip_pos","$57278f42f24b59e5$export$dfbd00399d639b4c","$57278f42f24b59e5$var$groupUnitsIntoSectionByOverlap","sectionList","heightRange","find","s","push","Math","max","min","$57278f42f24b59e5$export$8093438ec3e4c6fd","section_id","groups","Array","from","unitComparator","createUnitSorter","groups1","sectionUnits","sort","compareSections","t_ages","$57278f42f24b59e5$export$e7bb744b9be37f3d","sections","firstSection","rest","newSections","lastSection","ensureArray","preprocessUnits","groupUnitsIntoSections","getSectionAgeRange","mergeOverlappingSections"],"version":3,"file":"column-views.755f726e.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.2e4e357d.js";import"./column-views.b773edb8.js";import"./column-views.6a0a35e7.js";import"./column-views.78d3f3c5.js";import"./column-views.10a2bad6.js";import{hyperStyled as e}from"@macrostrat/hyper";import{LithologyColumn as t,SVG as n,ColumnContext as o}from"@macrostrat/column-components";import{createContext as a,useState as i,useRef as r,useCallback as l,useContext as s,useEffect as c}from"react";function d(e,t,n,o){Object.defineProperty(e,t,{get:n,set:o,enumerable:!0,configurable:!0})}var u=globalThis,p={},m={},f=u.parcelRequirea149;null==f&&((f=function(e){if(e in p)return p[e].exports;if(e in m){var t=m[e];delete m[e];var n={id:e,exports:{}};return p[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){m[e]=t},u.parcelRequirea149=f),f.register;var b={};d(b,"LabelTrackerProvider",()=>S),d(b,"TrackedLabeledUnit",()=>y),d(b,"CompositeUnitComponent",()=>w),d(b,"CompositeUnitsColumn",()=>L),d(b,"AnnotatedUnitsColumn",()=>P),d(b,"SectionLabelsColumn",()=>T),d(b,"compositeScale",()=>N),d(b,"ColumnNotesProvider",()=>F);var C=f("jiUaC"),v=f("1n4Pb"),x=f("45u6B"),h=f("wtIgl"),$=f("a3mb1");let g=e(x&&x.__esModule?x.default:x),U=a(null),H=a(null),_=e=>e.unit_id;function S(e){let{children:t,units:n,findUnitID:o=_}=e,[a,s]=i(null),c=r({}),d=l((e,t)=>{let a=o(e);c.current[a]=t,Object.keys(c.current).length==n.length&&s(n.filter(e=>{let t=o(e);return!1==c.current[t]}))},[c,n,o]);return g(U.Provider,{value:d},g(H.Provider,{value:a},t))}function y({division:e,nameForDivision:t=C.defaultNameFunction,...n}){let o=s(U);return g(v.LabeledUnit,{division:e,label:t(e),onLabelUpdated(t,n){o?.(e,n)},...n})}let w=y;function L(e){let{width:n,unitComponent:o=y,unitComponentProps:a,clipToFrame:i,...r}=e;return g(t,{width:n,clipToFrame:i},[g(v.UnitBoxes,{unitComponent:o,unitComponentProps:a,...r})])}function P(e){return c(()=>{console.warn("AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes")},[]),null}function T(e){let{width:t=300,noteMode:o="unlabeled",labelOffset:a=30,noteComponent:i,shouldRenderNote:r}=e,{sections:l,totalHeight:c,axisType:d}=(0,h.useMacrostratColumnData)(),u=s(H),p=N(l),m=(0,$.useUnitSelectionDispatch)();return g("div.section-labels-column",[g(F,{units:[],scale:p,totalHeight:c,axisType:d},g(n,{height:c,innerWidth:t-4,paddingH:1,paddingLeft:3},g(C.UnitNamesColumn,{divisions:"unlabeled"==o?u:void 0,paddingLeft:a,width:t,noteComponent:i,shouldRenderNote:r,scale:p,onClickNote(e){m(e.data,null,null)}})))])}function N(e,t={}){let{clamped:n=!0}=t,o=e.map(e=>{let{scaleInfo:t}=e;return t.scale.copy().clamp(n)}),a=e=>{let t=o.find(t=>t.domain()[0]<=e&&e<=t.domain()[1]);return t?t(e):NaN};return a.copy=()=>a,a.domain=()=>[o[0].domain()[0],o[o.length-1].domain()[1]],a}function F(e){let{children:t,scale:n,totalHeight:a,pixelScale:i}=e,{axisType:r}=(0,h.useMacrostratColumnData)();return g(o.Provider,{value:{divisions:[],scale:n,scaleClamped:n,pixelHeight:a,pixelsPerMeter:i,axisType:r,zoom:1}},t)}export{S as LabelTrackerProvider,y as TrackedLabeledUnit,w as CompositeUnitComponent,L as CompositeUnitsColumn,P as AnnotatedUnitsColumn,T as SectionLabelsColumn,N as compositeScale,F as ColumnNotesProvider};
2
+ //# sourceMappingURL=column-views.770d2c95.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,e,C,K,mB,A,Q,mB,C,C,O,C,C,iB,C,K,+B,A,Q,iB,C,C,Y,C,C,U,C,C,e,C,C,c,C,C,a,C,K,O,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,uB,I,G,E,E,qB,I,G,E,E,yB,I,G,E,E,uB,I,G,E,E,uB,I,G,E,E,sB,I,G,E,E,iB,I,G,E,E,sB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCqBA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAMhB,EAAsB,AAAA,EAAc,MACpC,EAA4B,AAAA,EAAc,MAE1C,EAAuB,AAAC,GAAM,EAAE,OAAO,CAEtC,SAAS,EAAqB,CAAK,EAIxC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,WAAE,EAAa,CAAA,CAAsB,CAAG,EACzD,CAAC,EAAoB,EAAsB,CAAG,AAAA,EAElD,MACI,EAAkB,AAAA,EAAqB,CAAC,GACxC,EAAuB,AAAA,EAC3B,CAAC,EAAK,KACJ,IAAM,EAAK,EAAW,EACtB,CAAA,EAAgB,OAAO,CAAC,EAAG,CAAG,EAC1B,OAAO,IAAI,CAAC,EAAgB,OAAO,EAAE,MAAM,EAAI,EAAM,MAAM,EAC7D,EAEE,EAAM,MAAM,CAAC,AAAC,IACZ,IAAM,EAAK,EAAW,GACtB,MAAO,AAA+B,CAAA,GAA/B,EAAgB,OAAO,CAAC,EAAG,AACpC,GAGN,EACA,CAAC,EAAiB,EAAO,EAAW,EAItC,OAAO,EACL,EAAoB,QAAQ,CAC5B,CAAE,MAHU,CAGJ,EACR,EACE,EAA0B,QAAQ,CAClC,CAAE,MAAO,CAAmB,EAC5B,GA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","sources":["<anon>","packages/column-views/src/units/composite.ts"],"sourcesContent":["import \"./column-views.2e4e357d.js\";\nimport \"./column-views.b773edb8.js\";\nimport \"./column-views.6a0a35e7.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport \"./column-views.10a2bad6.js\";\nimport {hyperStyled as $hj0lx$hyperStyled} from \"@macrostrat/hyper\";\nimport {LithologyColumn as $hj0lx$LithologyColumn, SVG as $hj0lx$SVG, ColumnContext as $hj0lx$ColumnContext} from \"@macrostrat/column-components\";\nimport {createContext as $hj0lx$createContext, useState as $hj0lx$useState, useRef as $hj0lx$useRef, useCallback as $hj0lx$useCallback, useContext as $hj0lx$useContext, useEffect as $hj0lx$useEffect} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $6b7af672ec278734$exports = {};\n\n$parcel$export($6b7af672ec278734$exports, \"LabelTrackerProvider\", () => $6b7af672ec278734$export$e4e89ab6c86ac513);\n$parcel$export($6b7af672ec278734$exports, \"TrackedLabeledUnit\", () => $6b7af672ec278734$export$f613830566442374);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitComponent\", () => $6b7af672ec278734$export$1dfa200d57964eee);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitsColumn\", () => $6b7af672ec278734$export$a6684360fef0406e);\n$parcel$export($6b7af672ec278734$exports, \"AnnotatedUnitsColumn\", () => $6b7af672ec278734$export$d8c3f2fdd653a082);\n$parcel$export($6b7af672ec278734$exports, \"SectionLabelsColumn\", () => $6b7af672ec278734$export$13984e34afdbb040);\n$parcel$export($6b7af672ec278734$exports, \"compositeScale\", () => $6b7af672ec278734$export$723b790ebe9cdff8);\n$parcel$export($6b7af672ec278734$exports, \"ColumnNotesProvider\", () => $6b7af672ec278734$export$6cc7a9df4edde18);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\nvar $45u6B = parcelRequire(\"45u6B\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $a3mb1 = parcelRequire(\"a3mb1\");\nconst $6b7af672ec278734$var$h = (0, $hj0lx$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($45u6B))));\nconst $6b7af672ec278734$var$LabelTrackerContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$UnlabeledDivisionsContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$findMacrostratUnitID = (u)=>u.unit_id;\nfunction $6b7af672ec278734$export$e4e89ab6c86ac513(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */ const { children: children, units: units, findUnitID: findUnitID = $6b7af672ec278734$var$findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = (0, $hj0lx$useState)(null);\n const labelTrackerRef = (0, $hj0lx$useRef)({});\n const trackLabelVisibility = (0, $hj0lx$useCallback)((div, visible)=>{\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) setUnlabeledDivisions(// @ts-ignore\n units.filter((d)=>{\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }));\n }, [\n labelTrackerRef,\n units,\n findUnitID\n ]);\n const value = trackLabelVisibility;\n return $6b7af672ec278734$var$h($6b7af672ec278734$var$LabelTrackerContext.Provider, {\n value: value\n }, $6b7af672ec278734$var$h($6b7af672ec278734$var$UnlabeledDivisionsContext.Provider, {\n value: unlabeledDivisions\n }, children));\n}\nfunction $6b7af672ec278734$export$f613830566442374({ division: division, nameForDivision: nameForDivision = (0, $jiUaC.defaultNameFunction), ...rest }) {\n const trackLabelVisibility = (0, $hj0lx$useContext)($6b7af672ec278734$var$LabelTrackerContext);\n return $6b7af672ec278734$var$h((0, $1n4Pb.LabeledUnit), {\n division: division,\n label: nameForDivision(division),\n onLabelUpdated (label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest\n });\n}\nconst $6b7af672ec278734$export$1dfa200d57964eee = $6b7af672ec278734$export$f613830566442374;\nfunction $6b7af672ec278734$export$a6684360fef0406e(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { width: width, unitComponent: unitComponent = $6b7af672ec278734$export$f613830566442374, unitComponentProps: unitComponentProps, clipToFrame: clipToFrame, ...rest } = props;\n return $6b7af672ec278734$var$h((0, $hj0lx$LithologyColumn), {\n width: width,\n clipToFrame: clipToFrame\n }, [\n $6b7af672ec278734$var$h((0, $1n4Pb.UnitBoxes), {\n unitComponent: unitComponent,\n unitComponentProps: unitComponentProps,\n ...rest\n })\n ]);\n}\nfunction $6b7af672ec278734$export$d8c3f2fdd653a082(props) {\n (0, $hj0lx$useEffect)(()=>{\n console.warn(\"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\");\n }, []);\n return null;\n}\nfunction $6b7af672ec278734$export$13984e34afdbb040(props) {\n // Section with \"squishy\" time scale\n const { width: width = 300, noteMode: noteMode = \"unlabeled\", labelOffset: labelOffset = 30, noteComponent: noteComponent, shouldRenderNote: shouldRenderNote } = props;\n const { sections: sections, totalHeight: totalHeight, axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const unlabeledUnits = (0, $hj0lx$useContext)($6b7af672ec278734$var$UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n const _compositeScale = $6b7af672ec278734$export$723b790ebe9cdff8(sections);\n const selectUnit = (0, $a3mb1.useUnitSelectionDispatch)();\n return $6b7af672ec278734$var$h(\"div.section-labels-column\", [\n $6b7af672ec278734$var$h($6b7af672ec278734$export$6cc7a9df4edde18, {\n units: [],\n scale: _compositeScale,\n totalHeight: totalHeight,\n axisType: axisType\n }, $6b7af672ec278734$var$h((0, $hj0lx$SVG), {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3\n }, $6b7af672ec278734$var$h((0, $jiUaC.UnitNamesColumn), {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width: width,\n noteComponent: noteComponent,\n shouldRenderNote: shouldRenderNote,\n scale: _compositeScale,\n onClickNote (note) {\n selectUnit(note.data, null, null);\n }\n })))\n ]);\n}\nfunction $6b7af672ec278734$export$723b790ebe9cdff8(sections, opts = {}) {\n /** A basic composite scale that works across all sections. This isn't a fully featured,\n * contiuous D3 scale, but it shares enough attributes to be useful for\n * laying out notes.\n */ const { clamped: clamped = true } = opts;\n const scales = sections.map((group)=>{\n const { scaleInfo: scaleInfo } = group;\n return scaleInfo.scale.copy().clamp(clamped);\n });\n let baseScale = (val)=>{\n // Find the scale for the section that contains the value\n const scale = scales.find((scale)=>{\n return scale.domain()[0] <= val && val <= scale.domain()[1];\n });\n if (scale) return scale(val);\n else // return nan\n return NaN;\n };\n baseScale.copy = ()=>{\n return baseScale;\n };\n baseScale.domain = ()=>{\n // Return a domain that covers all sections\n return [\n scales[0].domain()[0],\n scales[scales.length - 1].domain()[1]\n ];\n };\n return baseScale;\n}\nfunction $6b7af672ec278734$export$6cc7a9df4edde18(props) {\n // A fake column axis provider that allows scales to cross\n const { children: children, scale: scale, totalHeight: totalHeight, pixelScale: pixelScale } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n return $6b7af672ec278734$var$h((0, $hj0lx$ColumnContext).Provider, {\n value: {\n divisions: [],\n scale: scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType: axisType,\n zoom: 1\n }\n }, children);\n}\n\n\nexport {$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$723b790ebe9cdff8 as compositeScale, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};\n//# sourceMappingURL=column-views.770d2c95.js.map\n","import { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n SVG,\n ColumnContext,\n} from \"@macrostrat/column-components\";\nimport { defaultNameFunction, UnitNamesColumn } from \"./names\";\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useCallback,\n useEffect,\n} from \"react\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { LabeledUnit, UnitBoxes } from \"./boxes\";\nimport styles from \"./composite.module.sass\";\nimport { useMacrostratColumnData } from \"../data-provider\";\nimport { useUnitSelectionDispatch } from \"../units\";\n\nconst h = hyperStyled(styles);\n\ninterface LabelTracker {\n [key: number]: boolean;\n}\n\nconst LabelTrackerContext = createContext(null);\nconst UnlabeledDivisionsContext = createContext(null);\n\nconst findMacrostratUnitID = (u) => u.unit_id;\n\nexport function LabelTrackerProvider(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */\n const { children, units, findUnitID = findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = useState<\n BaseUnit[] | null\n >(null);\n const labelTrackerRef = useRef<LabelTracker>({});\n const trackLabelVisibility = useCallback(\n (div, visible) => {\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) {\n setUnlabeledDivisions(\n // @ts-ignore\n units.filter((d) => {\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }),\n );\n }\n },\n [labelTrackerRef, units, findUnitID],\n );\n\n const value = trackLabelVisibility;\n return h(\n LabelTrackerContext.Provider,\n { value },\n h(\n UnlabeledDivisionsContext.Provider,\n { value: unlabeledDivisions },\n children,\n ),\n );\n}\n\nfunction TrackedLabeledUnit({\n division,\n nameForDivision = defaultNameFunction,\n ...rest\n}) {\n const trackLabelVisibility = useContext(LabelTrackerContext);\n return h(LabeledUnit, {\n division,\n label: nameForDivision(division),\n onLabelUpdated(label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest,\n });\n}\n\nexport const CompositeUnitComponent = TrackedLabeledUnit;\n\ntype BaseUnitProps = {\n width: number;\n showLabels?: boolean;\n columnWidth?: number;\n clipToFrame?: boolean;\n};\n\ntype ICompositeUnitProps = BaseUnitProps & {\n gutterWidth?: number;\n labelOffset?: number;\n paddingLeft?: number;\n nameForDivision?: (division: BaseUnit) => string;\n children?: React.ReactNode;\n unitComponent?: React.FC<any>;\n unitComponentProps?: any;\n noteMode?: \"labeled\" | \"unlabeled\";\n showLabelColumn?: boolean;\n noteComponent?: React.FC<any>;\n shouldRenderNote?: (d: any) => boolean;\n};\n\ninterface CompositeUnitProps {\n unitComponent: React.FC<any>;\n unitComponentProps?: any;\n width: number;\n showLabels?: boolean;\n clipToFrame?: boolean;\n}\n\nexport function CompositeUnitsColumn(props: CompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const {\n width,\n unitComponent = TrackedLabeledUnit,\n unitComponentProps,\n clipToFrame,\n ...rest\n } = props;\n\n return h(LithologyColumn, { width, clipToFrame }, [\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps,\n ...rest,\n }),\n ]);\n}\n\nexport function AnnotatedUnitsColumn(props: ICompositeUnitProps) {\n useEffect(() => {\n console.warn(\n \"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\",\n );\n }, []);\n return null;\n}\n\nexport function SectionLabelsColumn(props: ICompositeUnitProps) {\n // Section with \"squishy\" time scale\n const {\n width = 300,\n noteMode = \"unlabeled\",\n labelOffset = 30,\n noteComponent,\n shouldRenderNote,\n } = props;\n\n const { sections, totalHeight, axisType } = useMacrostratColumnData();\n\n const unlabeledUnits = useContext(UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n\n const _compositeScale = compositeScale(sections);\n\n const selectUnit = useUnitSelectionDispatch();\n\n return h(\"div.section-labels-column\", [\n h(\n ColumnNotesProvider,\n {\n units: [],\n scale: _compositeScale,\n totalHeight,\n axisType,\n },\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3,\n },\n h(UnitNamesColumn, {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width,\n noteComponent,\n shouldRenderNote,\n scale: _compositeScale,\n onClickNote(note) {\n selectUnit(note.data, null, null);\n },\n }),\n ),\n ),\n ]);\n}\n\ntype CompositeScaleOpts = {\n clamped?: boolean;\n};\n\nexport interface CompositeColumnScale {\n (val: number): number;\n copy(): CompositeColumnScale;\n domain(): number[];\n}\n\nexport function compositeScale(\n sections,\n opts: CompositeScaleOpts = {},\n): CompositeColumnScale {\n /** A basic composite scale that works across all sections. This isn't a fully featured,\n * contiuous D3 scale, but it shares enough attributes to be useful for\n * laying out notes.\n */\n const { clamped = true } = opts;\n\n const scales = sections.map((group) => {\n const { scaleInfo } = group;\n return scaleInfo.scale.copy().clamp(clamped);\n });\n\n let baseScale: any = (val) => {\n // Find the scale for the section that contains the value\n const scale = scales.find((scale) => {\n return scale.domain()[0] <= val && val <= scale.domain()[1];\n });\n\n if (scale) {\n return scale(val);\n } else {\n // return nan\n return NaN;\n }\n };\n\n baseScale.copy = () => {\n return baseScale;\n };\n\n baseScale.domain = () => {\n // Return a domain that covers all sections\n return [scales[0].domain()[0], scales[scales.length - 1].domain()[1]];\n };\n\n return baseScale as CompositeColumnScale;\n}\n\nexport function ColumnNotesProvider(props) {\n // A fake column axis provider that allows scales to cross\n const { children, scale, totalHeight, pixelScale } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n return h(\n ColumnContext.Provider,\n {\n value: {\n divisions: [],\n scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType,\n zoom: 1,\n },\n },\n children,\n );\n}\n\nexport { TrackedLabeledUnit, ICompositeUnitProps };\n"],"names":["hyperStyled","$hj0lx$hyperStyled","LithologyColumn","$hj0lx$LithologyColumn","SVG","$hj0lx$SVG","ColumnContext","$hj0lx$ColumnContext","createContext","$hj0lx$createContext","useState","$hj0lx$useState","useRef","$hj0lx$useRef","useCallback","$hj0lx$useCallback","useContext","$hj0lx$useContext","useEffect","$hj0lx$useEffect","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$6b7af672ec278734$exports","$6b7af672ec278734$export$e4e89ab6c86ac513","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","$6b7af672ec278734$export$a6684360fef0406e","$6b7af672ec278734$export$d8c3f2fdd653a082","$6b7af672ec278734$export$13984e34afdbb040","$6b7af672ec278734$export$723b790ebe9cdff8","$6b7af672ec278734$export$6cc7a9df4edde18","$jiUaC","$1n4Pb","$45u6B","$wtIgl","$a3mb1","$6b7af672ec278734$var$h","a","__esModule","default","$6b7af672ec278734$var$LabelTrackerContext","$6b7af672ec278734$var$UnlabeledDivisionsContext","$6b7af672ec278734$var$findMacrostratUnitID","u","unit_id","props","children","units","findUnitID","unlabeledDivisions","setUnlabeledDivisions","labelTrackerRef","trackLabelVisibility","div","visible","current","keys","length","filter","d","Provider","value","division","nameForDivision","defaultNameFunction","rest","LabeledUnit","label","onLabelUpdated","width","unitComponent","unitComponentProps","clipToFrame","UnitBoxes","console","warn","noteMode","labelOffset","noteComponent","shouldRenderNote","sections","totalHeight","axisType","useMacrostratColumnData","unlabeledUnits","_compositeScale","selectUnit","useUnitSelectionDispatch","scale","height","innerWidth","paddingH","paddingLeft","UnitNamesColumn","divisions","undefined","onClickNote","note","data","opts","clamped","scales","map","group","scaleInfo","copy","clamp","baseScale","val","find","domain","NaN","pixelScale","scaleClamped","pixelHeight","pixelsPerMeter","zoom","LabelTrackerProvider","TrackedLabeledUnit","CompositeUnitComponent","CompositeUnitsColumn","AnnotatedUnitsColumn","SectionLabelsColumn","compositeScale","ColumnNotesProvider"],"version":3,"file":"column-views.770d2c95.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.33752461.js";import{createContext as e,useMemo as t,useContext as r}from"react";import a from"@macrostrat/hyper";function o(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var s=globalThis,n={},i={},c=s.parcelRequirea149;null==c&&((c=function(e){if(e in n)return n[e].exports;if(e in i){var t=i[e];delete i[e];var r={id:e,exports:{}};return n[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){i[e]=t},s.parcelRequirea149=c),c.register;var u={};o(u,"MacrostratColumnDataProvider",()=>p),o(u,"useMacrostratColumnData",()=>d),o(u,"useMacrostratUnits",()=>m),o(u,"useCompositeScale",()=>b);var l=c("bBAza");let f=e(null);function p({children:e,units:r,sections:o,totalHeight:s,axisType:n}){let i=t(()=>({units:r,sections:o,totalHeight:s,axisType:n}),[r,o,s,n]);return a(f.Provider,{value:i},e)}function d(){let e=r(f);if(!e)throw Error("useMacrostratColumnData must be used within a MacrostratColumnDataProvider");return e}function m(){return d().units}function b(){let e=d();return t(()=>(0,l.createCompositeScale)(e.sections,!0),[e.sections])}export{p as MacrostratColumnDataProvider,d as useMacrostratColumnData,m as useMacrostratUnits,b as useCompositeScale};
2
+ //# sourceMappingURL=column-views.78d3f3c5.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,Q,iB,C,C,W,C,C,c,C,K,O,A,Q,M,mB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,+B,I,G,E,E,0B,I,G,E,E,qB,I,G,E,E,oB,I,G,I,E,E,SCuBA,IAAM,EACJ,AAAA,EAA2C,MAEtC,SAAS,EAA6B,CAAA,SAC3C,CAAQ,CAAA,MACR,CAAK,CAAA,SACL,CAAQ,CAAA,YACR,CAAW,CAAA,SACX,CAAQ,CAC8C,EAYtD,IAAM,EAAQ,AAAA,EAAQ,IACb,CAAA,CACL,MAAA,EACA,SAAA,EACA,YAAA,EACA,SAAA,CACF,CAAA,EACC,CAAC,EAAO,EAAU,EAAa,EAAS,EAE3C,OAAO,AAAA,EAAE,EAA4B,QAAQ,CAAE,CAAE,MAAA,CAAM,EAAG,EAC5D,CAEO,SAAS,IACd,IAAM,EAAM,AAAA,EAAW,GACvB,GAAI,CAAC,EACH,MAAM,AAAI,MACR,8EAGJ,OAAO,CACT,CAEO,SAAS,IACd,OAAO,IAA0B,KAAK,AACxC,CAEO,SAAS,IACd,IAAM,EAAM,IACZ,OAAO,AAAA,EACL,IAAM,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAI,QAAQ,CAAE,CAAA,GACzC,CAAC,EAAI,QAAQ,CAAC,CAElB,Q,K,4B,C,K,uB,C,K,kB,C,K,iB","sources":["<anon>","packages/column-views/src/data-provider/store.ts"],"sourcesContent":["import \"./column-views.33752461.js\";\nimport {createContext as $eJc70$createContext, useMemo as $eJc70$useMemo, useContext as $eJc70$useContext} from \"react\";\nimport $eJc70$macrostrathyper from \"@macrostrat/hyper\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $91525b65c57a1e5d$exports = {};\n\n$parcel$export($91525b65c57a1e5d$exports, \"MacrostratColumnDataProvider\", () => $91525b65c57a1e5d$export$7fec7bd80ff9c10e);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratColumnData\", () => $91525b65c57a1e5d$export$f8509b7cce386c7d);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratUnits\", () => $91525b65c57a1e5d$export$6fb40844db555b2);\n$parcel$export($91525b65c57a1e5d$exports, \"useCompositeScale\", () => $91525b65c57a1e5d$export$a7fc62995ec4f76);\n\n\n\nvar $bBAza = parcelRequire(\"bBAza\");\nconst $91525b65c57a1e5d$var$MacrostratColumnDataContext = (0, $eJc70$createContext)(null);\nfunction $91525b65c57a1e5d$export$7fec7bd80ff9c10e({ children: children, units: units, sections: sections, totalHeight: totalHeight, axisType: axisType }) {\n /** Provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */ const value = (0, $eJc70$useMemo)(()=>{\n return {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: axisType\n };\n }, [\n units,\n sections,\n totalHeight,\n axisType\n ]);\n return (0, $eJc70$macrostrathyper)($91525b65c57a1e5d$var$MacrostratColumnDataContext.Provider, {\n value: value\n }, children);\n}\nfunction $91525b65c57a1e5d$export$f8509b7cce386c7d() {\n const ctx = (0, $eJc70$useContext)($91525b65c57a1e5d$var$MacrostratColumnDataContext);\n if (!ctx) throw new Error(\"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\");\n return ctx;\n}\nfunction $91525b65c57a1e5d$export$6fb40844db555b2() {\n return $91525b65c57a1e5d$export$f8509b7cce386c7d().units;\n}\nfunction $91525b65c57a1e5d$export$a7fc62995ec4f76() {\n const ctx = $91525b65c57a1e5d$export$f8509b7cce386c7d();\n return (0, $eJc70$useMemo)(()=>(0, $bBAza.createCompositeScale)(ctx.sections, true), [\n ctx.sections\n ]);\n}\n\n\nexport {$91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData, $91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits, $91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale};\n//# sourceMappingURL=column-views.78d3f3c5.js.map\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n createCompositeScale,\n PackageLayoutData,\n CompositeColumnScale,\n} from \"../prepare-units/composite-scale\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\n\nexport interface MacrostratColumnDataContext {\n units: ExtUnit[];\n sections: PackageLayoutData[];\n totalHeight?: number;\n axisType?: ColumnAxisType;\n}\n\nconst MacrostratColumnDataContext =\n createContext<MacrostratColumnDataContext>(null);\n\nexport function MacrostratColumnDataProvider({\n children,\n units,\n sections,\n totalHeight,\n axisType,\n}: MacrostratColumnDataContext & { children: ReactNode }) {\n /** Provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */\n\n const value = useMemo(() => {\n return {\n units,\n sections,\n totalHeight,\n axisType,\n };\n }, [units, sections, totalHeight, axisType]);\n\n return h(MacrostratColumnDataContext.Provider, { value }, children);\n}\n\nexport function useMacrostratColumnData() {\n const ctx = useContext(MacrostratColumnDataContext);\n if (!ctx) {\n throw new Error(\n \"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\",\n );\n }\n return ctx;\n}\n\nexport function useMacrostratUnits() {\n return useMacrostratColumnData().units;\n}\n\nexport function useCompositeScale(): CompositeColumnScale {\n const ctx = useMacrostratColumnData();\n return useMemo(\n () => createCompositeScale(ctx.sections, true),\n [ctx.sections],\n );\n}\n"],"names":["createContext","$eJc70$createContext","useMemo","$eJc70$useMemo","useContext","$eJc70$useContext","$eJc70$macrostrathyper","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$91525b65c57a1e5d$exports","$91525b65c57a1e5d$export$7fec7bd80ff9c10e","$91525b65c57a1e5d$export$f8509b7cce386c7d","$91525b65c57a1e5d$export$6fb40844db555b2","$91525b65c57a1e5d$export$a7fc62995ec4f76","$bBAza","$91525b65c57a1e5d$var$MacrostratColumnDataContext","children","units","sections","totalHeight","axisType","value","Provider","ctx","createCompositeScale","MacrostratColumnDataProvider","useMacrostratColumnData","useMacrostratUnits","useCompositeScale"],"version":3,"file":"column-views.78d3f3c5.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ .xOGVkG_isotopes-column{position:relative}.xOGVkG_isotopes-scale-axis{pointer-events:none;height:45px;margin-top:-45px;position:sticky;bottom:0;left:0}.xOGVkG_isotopes-scale-axis svg{background-color:var(--column-background-color)}.xOGVkG_isotopes-scale-axis path,.xOGVkG_isotopes-scale-axis line{stroke:var(--column-text-color);fill:none}.xOGVkG_isotopes-scale-axis text{fill:var(--column-text-color)}.xOGVkG_scale-lines .xOGVkG_tick.xOGVkG_zero line{stroke-width:1px;stroke-dasharray:none}.xOGVkG_scale-lines .xOGVkG_tick line{stroke:var(--column-text-color);stroke-dasharray:1 4}
2
+ /*# sourceMappingURL=column-views.7b9bd06e.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"ACAA,0CAGA,6GAQE,gFAGA,4GAIA,+DAMI,yFAGF","sources":["column-views.7b9bd06e.css","packages/column-views/src/facets/carbon-isotopes/isotopes-column.module.sass"],"sourcesContent":[".xOGVkG_isotopes-column {\n position: relative;\n}\n\n.xOGVkG_isotopes-scale-axis {\n pointer-events: none;\n height: 45px;\n margin-top: -45px;\n position: sticky;\n bottom: 0;\n left: 0;\n}\n\n.xOGVkG_isotopes-scale-axis svg {\n background-color: var(--column-background-color);\n}\n\n.xOGVkG_isotopes-scale-axis path, .xOGVkG_isotopes-scale-axis line {\n stroke: var(--column-text-color);\n fill: none;\n}\n\n.xOGVkG_isotopes-scale-axis text {\n fill: var(--column-text-color);\n}\n\n.xOGVkG_scale-lines .xOGVkG_tick.xOGVkG_zero line {\n stroke-width: 1px;\n stroke-dasharray: none;\n}\n\n.xOGVkG_scale-lines .xOGVkG_tick line {\n stroke: var(--column-text-color);\n stroke-dasharray: 1 4;\n}\n/*# sourceMappingURL=column-views.7b9bd06e.css.map */\n",".isotopes-column\n position: relative\n\n.isotopes-scale-axis\n position: sticky\n bottom: 0\n left: 0\n pointer-events: none\n margin-top: -45px\n height: 45px\n\n svg\n background-color: var(--column-background-color)\n\n path, line\n stroke: var(--column-text-color)\n fill: none\n\n text\n fill: var(--column-text-color)\n\n.scale-lines\n .tick\n &.zero\n line\n stroke-width: 1px\n stroke-dasharray: none\n line\n stroke: var(--column-text-color)\n stroke-dasharray: 1 4\n\n"],"names":[],"version":3,"file":"column-views.7b9bd06e.css.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import{geoCentroid as t}from"d3-geo";import{geoVoronoi as n}from"d3-geo-voronoi";function o(t,n,o,e){if(null==t)return;let r=e(n[o]),i=t.map(t=>{let o=e(n[t]),a=o[0]-r[0];return{col_index:t,angle:Math.atan2(o[1]-r[1],a)}});function f(t){let n=i[0];for(let o of i)Math.abs(a(t-o.angle))<Math.abs(a(t-n.angle))&&(n=o);return n.col_index}return i.sort(t=>t.angle),{37:f(Math.PI),38:f(3*Math.PI/2),39:f(0),40:f(Math.PI/2)}}function a(t){return t>Math.PI?t-=2*Math.PI:t<=-Math.PI&&(t+=2*Math.PI),t}function e(o){let a=o.map(t),e=n(a);return{centroids:a,tri:e}}export{o as buildKeyMapping,e as buildTriangulation};
2
+ //# sourceMappingURL=column-views.7d45bbeb.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,e,C,K,Q,A,Q,c,C,K,gB,CCGO,SAAS,EACd,CAAS,CACT,CAAS,CACT,CAAY,CACZ,CAAU,EAEV,GAAI,AAAa,MAAb,EAAmB,OAEvB,IAAM,EAAkB,EAAW,CAAS,CAAC,EAAa,EAEtD,EAAa,EAAU,GAAG,CAAC,AAAC,IAC9B,IAAM,EAAW,EAAW,CAAS,CAAC,EAAM,EACtC,EAAK,CAAQ,CAAC,EAAE,CAAG,CAAe,CAAC,EAAE,CAE3C,MAAO,CAAE,UAAW,EAAO,MAAO,KAAK,KAAK,CADjC,CAAQ,CAAC,EAAE,CAAG,CAAe,CAAC,EAAE,CACM,EAAI,CACvD,GAIA,SAAS,EAAa,CAAG,EAEvB,IAAI,EAAO,CAAU,CAAC,EAAE,CACxB,IAAK,IAAI,KAAQ,EAEb,KAAK,GAAG,CAAC,EAAU,EAAM,EAAK,KAAK,GACnC,KAAK,GAAG,CAAC,EAAU,EAAM,EAAK,KAAK,IAEnC,CAAA,EAAO,CALX,EAQA,OAAO,EAAK,SAAS,AACvB,CAEA,OAhBA,EAAW,IAAI,CAAC,AAAC,GAAM,EAAE,KAAK,EAgBvB,CACL,GAAI,EAAa,KAAK,EAAE,EACxB,GAAI,EAAa,EAAK,KAAK,EAAE,CAAI,GACjC,GAAI,EAAa,GACjB,GAAI,EAAa,KAAK,EAAE,CAAG,EAC7B,CACF,CAEA,SAAS,EAAU,CAAK,EAMtB,OALI,EAAQ,KAAK,EAAE,CACjB,GAAS,EAAI,KAAK,EAAE,CACX,GAAS,CAAC,KAAK,EAAE,EAC1B,CAAA,GAAS,EAAI,KAAK,EAAE,AAAF,EAEb,CACT,CAEO,SAAS,EAAmB,CAAQ,EACzC,IAAM,EAAY,EAAS,GAAG,CAAC,GACzB,EAAM,AAAA,EAAW,GACvB,MAAO,CAAE,UAAA,EAAW,IAAA,CAAI,CAC1B,Q,K,e,C,K,kB","sources":["<anon>","packages/column-views/src/maps/column-navigation/utils/keyboard-navigation.ts"],"sourcesContent":["import {geoCentroid as $dlZgj$geoCentroid} from \"d3-geo\";\nimport {geoVoronoi as $dlZgj$geoVoronoi} from \"d3-geo-voronoi\";\n\n\n\nfunction $ffb3b0c606918d1d$export$b3975a0f05980d25(neighbors, centroids, currentIndex, projection) {\n if (neighbors == null) return;\n const currentCentroid = projection(centroids[currentIndex]);\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 {\n col_index: index,\n angle: Math.atan2(dy, dx)\n };\n });\n edgeAngles.sort((d)=>d.angle);\n function closestAngle(num) {\n // Find closest angle in array of neighbors\n let curr = edgeAngles[0];\n for (let next of edgeAngles)if (Math.abs($ffb3b0c606918d1d$var$normalize(num - next.angle)) < Math.abs($ffb3b0c606918d1d$var$normalize(num - curr.angle))) curr = next;\n return curr.col_index;\n }\n return {\n 37: closestAngle(Math.PI),\n 38: closestAngle(3 * Math.PI / 2),\n 39: closestAngle(0),\n 40: closestAngle(Math.PI / 2)\n };\n}\nfunction $ffb3b0c606918d1d$var$normalize(angle) {\n if (angle > Math.PI) angle -= 2 * Math.PI;\n else if (angle <= -Math.PI) angle += 2 * Math.PI;\n return angle;\n}\nfunction $ffb3b0c606918d1d$export$39cd73f2cb8dc4f7(features) {\n const centroids = features.map((0, $dlZgj$geoCentroid));\n const tri = (0, $dlZgj$geoVoronoi)(centroids);\n return {\n centroids: centroids,\n tri: tri\n };\n}\n\n\nexport {$ffb3b0c606918d1d$export$b3975a0f05980d25 as buildKeyMapping, $ffb3b0c606918d1d$export$39cd73f2cb8dc4f7 as buildTriangulation};\n//# sourceMappingURL=column-views.7d45bbeb.js.map\n","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":["geoCentroid","$dlZgj$geoCentroid","geoVoronoi","$dlZgj$geoVoronoi","$ffb3b0c606918d1d$export$b3975a0f05980d25","neighbors","centroids","currentIndex","projection","currentCentroid","edgeAngles","map","index","centroid","dx","col_index","angle","Math","atan2","closestAngle","num","curr","next","abs","$ffb3b0c606918d1d$var$normalize","sort","d","PI","$ffb3b0c606918d1d$export$39cd73f2cb8dc4f7","features","tri","buildKeyMapping","buildTriangulation"],"version":3,"file":"column-views.7d45bbeb.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import e from"@macrostrat/hyper";import{createContext as a,useContext as t}from"react";import{useAPIResult as r}from"@macrostrat/ui-components";function o(e,a,t,r){Object.defineProperty(e,a,{get:t,set:r,enumerable:!0,configurable:!0})}var s={};o(s,"MeasurementDataContext",()=>n),o(s,"MeasurementDataProvider",()=>u),o(s,"useMeasurementData",()=>m);let n=a(null);function u(a){let{children:t,...o}=a,s=r("/measurements",{...o,show_values:!0,response:"long"});return e(n.Provider,{value:s,children:t})}let m=()=>t(n);export{n as MeasurementDataContext,u as MeasurementDataProvider,m as useMeasurementData};
2
+ //# sourceMappingURL=column-views.82cf7c0d.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,M,mB,A,Q,iB,C,C,c,C,K,O,A,Q,gB,C,K,2B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,C,E,E,E,yB,I,G,E,E,0B,I,G,E,E,qB,I,GCIA,IAAM,EAAyB,AAAA,EAAc,MAEtC,SAAS,EAAwB,CAAK,EAC3C,GAAM,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAQ,CAAG,EAC1B,EAAM,AAAA,EAAa,gBAAiB,CACxC,GAAG,CAAM,CACT,YAAa,CAAA,EACb,SAAU,MACZ,GACA,OAAO,AAAA,EAAE,EAAuB,QAAQ,CAAE,CAAE,MAAO,EAAK,SAAA,CAAS,EACnE,CAEA,IAAM,EAAqB,IAAM,AAAA,EAAW,U,K,sB,C,K,uB,C,K,kB","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/data-provider.ts"],"sourcesContent":["import $78BZm$macrostrathyper from \"@macrostrat/hyper\";\nimport {createContext as $78BZm$createContext, useContext as $78BZm$useContext} from \"react\";\nimport {useAPIResult as $78BZm$useAPIResult} from \"@macrostrat/ui-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $5cb80f5b33baeaea$exports = {};\n\n$parcel$export($5cb80f5b33baeaea$exports, \"MeasurementDataContext\", () => $5cb80f5b33baeaea$export$c644ef985ce7a4c4);\n$parcel$export($5cb80f5b33baeaea$exports, \"MeasurementDataProvider\", () => $5cb80f5b33baeaea$export$5f01d5b342a89841);\n$parcel$export($5cb80f5b33baeaea$exports, \"useMeasurementData\", () => $5cb80f5b33baeaea$export$8a0335fd9ff72150);\n\n\n\nconst $5cb80f5b33baeaea$export$c644ef985ce7a4c4 = (0, $78BZm$createContext)(null);\nfunction $5cb80f5b33baeaea$export$5f01d5b342a89841(props) {\n const { children: children, ...params } = props;\n const res = (0, $78BZm$useAPIResult)(\"/measurements\", {\n ...params,\n show_values: true,\n response: \"long\"\n });\n return (0, $78BZm$macrostrathyper)($5cb80f5b33baeaea$export$c644ef985ce7a4c4.Provider, {\n value: res,\n children: children\n });\n}\nconst $5cb80f5b33baeaea$export$8a0335fd9ff72150 = ()=>(0, $78BZm$useContext)($5cb80f5b33baeaea$export$c644ef985ce7a4c4);\n\n\nexport {$5cb80f5b33baeaea$export$c644ef985ce7a4c4 as MeasurementDataContext, $5cb80f5b33baeaea$export$5f01d5b342a89841 as MeasurementDataProvider, $5cb80f5b33baeaea$export$8a0335fd9ff72150 as useMeasurementData};\n//# sourceMappingURL=column-views.82cf7c0d.js.map\n","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":["$78BZm$macrostrathyper","createContext","$78BZm$createContext","useContext","$78BZm$useContext","useAPIResult","$78BZm$useAPIResult","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$5cb80f5b33baeaea$exports","$5cb80f5b33baeaea$export$c644ef985ce7a4c4","$5cb80f5b33baeaea$export$5f01d5b342a89841","$5cb80f5b33baeaea$export$8a0335fd9ff72150","props","children","params","res","show_values","response","Provider","value","MeasurementDataContext","MeasurementDataProvider","useMeasurementData"],"version":3,"file":"column-views.82cf7c0d.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ function e(e,a,t,i){Object.defineProperty(e,a,{get:t,set:i,enumerable:!0,configurable:!0})}var a,t,i,o,r,d={};e(d,"depositional-age",()=>a,e=>a=e),e(d,"detrital-group",()=>t,e=>t=e),e(d,"hide-axis",()=>i,e=>i=e),e(d,"dz-spectra",()=>o,e=>o=e),e(d,"floating-axis",()=>r,e=>r=e),a="depositional-age_977b40",t="detrital-group_977b40",i="hide-axis_977b40",o="dz-spectra_977b40",r="floating-axis_977b40";export{d as default};
2
+ //# sourceMappingURL=column-views.869c7199.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,mB,I,E,A,G,E,G,E,E,iB,I,E,A,G,E,G,E,E,Y,I,E,A,G,E,G,E,E,a,I,E,A,G,E,G,E,E,gB,I,E,A,G,E,GAJA,EAAqC,0BACrC,EAAmC,wBACnC,EAA8B,mBAC9B,EAA+B,oBAC/B,EAAkC,8B,K,O","sources":["<anon>","packages/column-views/src/facets/detrital-zircon/index.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $e2ccd234d29c9f88$exports = {};\n\n$parcel$export($e2ccd234d29c9f88$exports, \"depositional-age\", () => $e2ccd234d29c9f88$export$88015686163fb53c, (v) => $e2ccd234d29c9f88$export$88015686163fb53c = v);\n$parcel$export($e2ccd234d29c9f88$exports, \"detrital-group\", () => $e2ccd234d29c9f88$export$d45a020c7ade36c2, (v) => $e2ccd234d29c9f88$export$d45a020c7ade36c2 = v);\n$parcel$export($e2ccd234d29c9f88$exports, \"hide-axis\", () => $e2ccd234d29c9f88$export$a17a3a86840394bc, (v) => $e2ccd234d29c9f88$export$a17a3a86840394bc = v);\n$parcel$export($e2ccd234d29c9f88$exports, \"dz-spectra\", () => $e2ccd234d29c9f88$export$62aa26bd1520c04, (v) => $e2ccd234d29c9f88$export$62aa26bd1520c04 = v);\n$parcel$export($e2ccd234d29c9f88$exports, \"floating-axis\", () => $e2ccd234d29c9f88$export$75f20c0d8de07b35, (v) => $e2ccd234d29c9f88$export$75f20c0d8de07b35 = v);\nvar $e2ccd234d29c9f88$export$88015686163fb53c;\nvar $e2ccd234d29c9f88$export$d45a020c7ade36c2;\nvar $e2ccd234d29c9f88$export$a17a3a86840394bc;\nvar $e2ccd234d29c9f88$export$62aa26bd1520c04;\nvar $e2ccd234d29c9f88$export$75f20c0d8de07b35;\n$e2ccd234d29c9f88$export$88015686163fb53c = \"depositional-age_977b40\";\n$e2ccd234d29c9f88$export$d45a020c7ade36c2 = \"detrital-group_977b40\";\n$e2ccd234d29c9f88$export$a17a3a86840394bc = \"hide-axis_977b40\";\n$e2ccd234d29c9f88$export$62aa26bd1520c04 = \"dz-spectra_977b40\";\n$e2ccd234d29c9f88$export$75f20c0d8de07b35 = \"floating-axis_977b40\";\n\n\nexport {$e2ccd234d29c9f88$exports as default};\n//# sourceMappingURL=column-views.869c7199.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$e2ccd234d29c9f88$export$88015686163fb53c","$e2ccd234d29c9f88$export$d45a020c7ade36c2","$e2ccd234d29c9f88$export$a17a3a86840394bc","$e2ccd234d29c9f88$export$62aa26bd1520c04","$e2ccd234d29c9f88$export$75f20c0d8de07b35","$e2ccd234d29c9f88$exports","default"],"version":3,"file":"column-views.869c7199.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.41876859.js";import"./column-views.139b0855.js";function e(e,r){return Object.keys(r).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})}),e}var r=globalThis,t={},o={},a=r.parcelRequirea149;null==a&&((a=function(e){if(e in t)return t[e].exports;if(e in o){var r=o[e];delete o[e];var a={id:e,exports:{}};return t[e]=a,r.call(a.exports,a,a.exports),a.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){o[e]=r},r.parcelRequirea149=a),a.register;var n={},i=a("4pcLO"),c=a("dETE9");e(n,i),e(n,c);export{$ec03b0c93e1da04f$export$1e8149fc0d15fed0 as InsetMap,$25e107971dfb4328$export$d2995719c3a4ae17 as buildColumnsStyle};
2
+ //# sourceMappingURL=column-views.8c00beb4.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,Q,C,6C,iB","sources":["<anon>","packages/column-views/src/maps/_shared/index.ts"],"sourcesContent":["import \"./column-views.41876859.js\";\nimport \"./column-views.139b0855.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $3c83dcd9b7e375f3$exports = {};\n\nvar $4pcLO = parcelRequire(\"4pcLO\");\n\nvar $dETE9 = parcelRequire(\"dETE9\");\n$parcel$exportWildcard($3c83dcd9b7e375f3$exports, $4pcLO);\n$parcel$exportWildcard($3c83dcd9b7e375f3$exports, $dETE9);\n\n\nexport {$ec03b0c93e1da04f$export$1e8149fc0d15fed0 as InsetMap, $25e107971dfb4328$export$d2995719c3a4ae17 as buildColumnsStyle};\n//# sourceMappingURL=column-views.8c00beb4.js.map\n","export * from \"./inset-map\";\nexport * from \"./styles\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$3c83dcd9b7e375f3$exports","$4pcLO","$dETE9","$ec03b0c93e1da04f$export$1e8149fc0d15fed0","InsetMap","$25e107971dfb4328$export$d2995719c3a4ae17","buildColumnsStyle"],"version":3,"file":"column-views.8c00beb4.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import{compareAgeRanges as e,AgeRangeRelationship as t}from"@macrostrat/stratigraphy-utils";import{ColumnAxisType as r}from"@macrostrat/column-components";function a(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var n={};a(n,"unitsOverlap",()=>o),a(n,"getUnitHeightRange",()=>i),a(n,"agesOverlap",()=>s),a(n,"createUnitSorter",()=>c),a(n,"ensureArray",()=>p),a(n,"ensureRealFloat",()=>f);let o=function(a,n,o=r.AGE,s=.001){return e(i(a,o),i(n,o),s)!=t.Disjoint};function s(e,t,a=.001){return o(e,t,r.AGE,a)}function i(e,t){switch(t){case r.AGE:return[e.b_clip_pos??e.b_age,e.t_clip_pos??e.t_age];case r.DEPTH:case r.ORDINAL:case r.HEIGHT:return[e.b_clip_pos??e.b_pos,e.t_clip_pos??e.t_pos];default:throw Error(`Unknown axis type: ${t}`)}}let c=e=>(t,r)=>{let a=i(t,e),n=i(r,e),o=a[1]-n[1];return 0!=o?o:a[0]-n[0]};function p(e){return Array.isArray(e)?e:[e]}function f(e){return("string"==typeof e&&(e=parseFloat(e)),isNaN(e))?null:e}export{o as unitsOverlap,i as getUnitHeightRange,s as agesOverlap,c as createUnitSorter,p as ensureArray,f as ensureRealFloat};
2
+ //# sourceMappingURL=column-views.8cfed88b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,oB,C,C,wB,C,K,gC,A,Q,kB,C,K,+B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,C,E,E,E,e,I,G,E,E,qB,I,G,E,E,c,I,G,E,E,mB,I,G,E,E,c,I,G,E,E,kB,I,GCyBO,IAAM,EAA6B,SACxC,CAAC,CACD,CAAC,CACD,EAA2B,AAAA,EAAe,GAAG,CAC7C,EAAoB,IAAK,EAOzB,OAAO,AALK,AAAA,EACV,EAAmB,EAAG,GACtB,EAAmB,EAAG,GACtB,IAEY,AAAA,EAAqB,QAAQ,AAC7C,EAGO,SAAS,EACd,CAAuB,CACvB,CAAuB,CACvB,EAnCS,IAmCa,EAEtB,OAAO,EAAa,EAAG,EAAG,AAAA,EAAe,GAAG,CAAE,EAChD,CAQO,SAAS,EACd,CAAyB,CACzB,CAAwB,EAExB,OAAQ,GACN,KAAK,AAAA,EAAe,GAAG,CACrB,MAAO,CAAC,EAAK,UAAU,EAAI,EAAK,KAAK,CAAE,EAAK,UAAU,EAAI,EAAK,KAAK,CAAC,AACvE,MAAK,AAAA,EAAe,KAAK,CACzB,KAAK,AAAA,EAAe,OAAO,CAC3B,KAAK,AAAA,EAAe,MAAM,CACxB,MAAO,CAAC,EAAK,UAAU,EAAI,EAAK,KAAK,CAAE,EAAK,UAAU,EAAI,EAAK,KAAK,CAAC,AACvE,SACE,MAAM,AAAI,MAAM,CAAC,mBAAmB,EAAE,EAAA,CAAU,CACpD,CACF,CAEO,IAAM,EAAmB,AAAC,GACxB,CAAC,EAAa,KACnB,IAAM,EAAQ,EAAmB,EAAG,GAC9B,EAAQ,EAAmB,EAAG,GAC9B,EAAQ,CAAK,CAAC,EAAE,CAAG,CAAK,CAAC,EAAE,QACjC,AAAI,AAAS,GAAT,EACK,EAEF,CAAK,CAAC,EAAE,CAAG,CAAK,CAAC,EAAE,AAC5B,EAGK,SAAS,EAAe,CAAU,SACvC,AAAI,MAAM,OAAO,CAAC,GACT,EAEF,CAAC,EAAE,AACZ,CAEO,SAAS,EAAgB,CAAyB,QAIvD,CAHI,AAAY,UAAZ,OAAO,GACT,CAAA,EAAI,WAAW,EADjB,EAGI,MAAM,IACD,KAEF,CACT,Q,K,Y,C,K,kB,C,K,W,C,K,gB,C,K,W,C,K,e","sources":["<anon>","packages/column-views/src/prepare-units/utils.ts"],"sourcesContent":["import {compareAgeRanges as $6wq4o$compareAgeRanges, AgeRangeRelationship as $6wq4o$AgeRangeRelationship} from \"@macrostrat/stratigraphy-utils\";\nimport {ColumnAxisType as $6wq4o$ColumnAxisType} from \"@macrostrat/column-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $f811753598b339f3$exports = {};\n\n$parcel$export($f811753598b339f3$exports, \"unitsOverlap\", () => $f811753598b339f3$export$f1a15f539858307);\n$parcel$export($f811753598b339f3$exports, \"getUnitHeightRange\", () => $f811753598b339f3$export$70e712e2ac0237a);\n$parcel$export($f811753598b339f3$exports, \"agesOverlap\", () => $f811753598b339f3$export$d92a67740c050efb);\n$parcel$export($f811753598b339f3$exports, \"createUnitSorter\", () => $f811753598b339f3$export$ab14c04795685c55);\n$parcel$export($f811753598b339f3$exports, \"ensureArray\", () => $f811753598b339f3$export$d0c8ecbd4ed8940c);\n$parcel$export($f811753598b339f3$exports, \"ensureRealFloat\", () => $f811753598b339f3$export$97de5b0a6b4e4dac);\n\n\nconst $f811753598b339f3$var$dt = 0.001;\nconst $f811753598b339f3$export$f1a15f539858307 = function(a, b, axisType = (0, $6wq4o$ColumnAxisType).AGE, tolerance = 0.001) {\n const rel = (0, $6wq4o$compareAgeRanges)($f811753598b339f3$export$70e712e2ac0237a(a, axisType), $f811753598b339f3$export$70e712e2ac0237a(b, axisType), tolerance);\n return rel != (0, $6wq4o$AgeRangeRelationship).Disjoint;\n};\nfunction $f811753598b339f3$export$d92a67740c050efb(a, b, tolerance = $f811753598b339f3$var$dt) {\n return $f811753598b339f3$export$f1a15f539858307(a, b, (0, $6wq4o$ColumnAxisType).AGE, tolerance);\n}\nfunction $f811753598b339f3$export$70e712e2ac0237a(unit, axisType) {\n switch(axisType){\n case (0, $6wq4o$ColumnAxisType).AGE:\n return [\n unit.b_clip_pos ?? unit.b_age,\n unit.t_clip_pos ?? unit.t_age\n ];\n case (0, $6wq4o$ColumnAxisType).DEPTH:\n case (0, $6wq4o$ColumnAxisType).ORDINAL:\n case (0, $6wq4o$ColumnAxisType).HEIGHT:\n return [\n unit.b_clip_pos ?? unit.b_pos,\n unit.t_clip_pos ?? unit.t_pos\n ];\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n}\nconst $f811753598b339f3$export$ab14c04795685c55 = (axisType)=>{\n return (a, b)=>{\n const a_pos = $f811753598b339f3$export$70e712e2ac0237a(a, axisType);\n const b_pos = $f811753598b339f3$export$70e712e2ac0237a(b, axisType);\n const d_top = a_pos[1] - b_pos[1];\n if (d_top != 0) return d_top;\n return a_pos[0] - b_pos[0];\n };\n};\nfunction $f811753598b339f3$export$d0c8ecbd4ed8940c(x) {\n if (Array.isArray(x)) return x;\n return [\n x\n ];\n}\nfunction $f811753598b339f3$export$97de5b0a6b4e4dac(x) {\n if (typeof x == \"string\") x = parseFloat(x);\n if (isNaN(x)) return null;\n return x;\n}\n\n\nexport {$f811753598b339f3$export$f1a15f539858307 as unitsOverlap, $f811753598b339f3$export$70e712e2ac0237a as getUnitHeightRange, $f811753598b339f3$export$d92a67740c050efb as agesOverlap, $f811753598b339f3$export$ab14c04795685c55 as createUnitSorter, $f811753598b339f3$export$d0c8ecbd4ed8940c as ensureArray, $f811753598b339f3$export$97de5b0a6b4e4dac as ensureRealFloat};\n//# sourceMappingURL=column-views.8cfed88b.js.map\n","import type { BaseUnit } from \"@macrostrat/api-types\";\nimport {\n AgeRangeRelationship,\n compareAgeRanges,\n} from \"@macrostrat/stratigraphy-utils\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { StratigraphicPackage } from \"./helpers\";\n\nconst dt = 0.001;\n\ninterface UnitsOverlap {\n (\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n axisType?: ColumnAxisType.AGE,\n tolerance?: number,\n ): boolean;\n (\n a: BaseUnit,\n b: BaseUnit,\n axisType: ColumnAxisType,\n tolerance?: number,\n ): boolean;\n}\n\nexport const unitsOverlap: UnitsOverlap = function (\n a,\n b,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n tolerance: number = 0.001,\n): boolean {\n const rel = compareAgeRanges(\n getUnitHeightRange(a, axisType),\n getUnitHeightRange(b, axisType),\n tolerance,\n );\n return rel != AgeRangeRelationship.Disjoint;\n};\n\n/** A more permissive overlap function in the age space */\nexport function agesOverlap(\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n tolerance: number = dt,\n): boolean {\n return unitsOverlap(a, b, ColumnAxisType.AGE, tolerance);\n}\n\nexport interface PossiblyClippedUnit extends BaseUnit {\n // Internally created clipped positions\n t_clip_pos?: number;\n b_clip_pos?: number;\n}\n\nexport function getUnitHeightRange(\n unit: PossiblyClippedUnit,\n axisType: ColumnAxisType,\n): [number, number] {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return [unit.b_clip_pos ?? unit.b_age, unit.t_clip_pos ?? unit.t_age];\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.ORDINAL:\n case ColumnAxisType.HEIGHT:\n return [unit.b_clip_pos ?? unit.b_pos, unit.t_clip_pos ?? unit.t_pos];\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n}\n\nexport const createUnitSorter = (axisType: ColumnAxisType) => {\n return (a: BaseUnit, b: BaseUnit) => {\n const a_pos = getUnitHeightRange(a, axisType);\n const b_pos = getUnitHeightRange(b, axisType);\n const d_top = a_pos[1] - b_pos[1];\n if (d_top != 0) {\n return d_top;\n }\n return a_pos[0] - b_pos[0];\n };\n};\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n if (Array.isArray(x)) {\n return x;\n }\n return [x];\n}\n\nexport function ensureRealFloat(x: number | string | null): number | null {\n if (typeof x == \"string\") {\n x = parseFloat(x);\n }\n if (isNaN(x)) {\n return null;\n }\n return x;\n}\n"],"names":["compareAgeRanges","$6wq4o$compareAgeRanges","AgeRangeRelationship","$6wq4o$AgeRangeRelationship","ColumnAxisType","$6wq4o$ColumnAxisType","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$f811753598b339f3$exports","$f811753598b339f3$export$f1a15f539858307","$f811753598b339f3$export$70e712e2ac0237a","$f811753598b339f3$export$d92a67740c050efb","$f811753598b339f3$export$ab14c04795685c55","$f811753598b339f3$export$d0c8ecbd4ed8940c","$f811753598b339f3$export$97de5b0a6b4e4dac","a","b","axisType","AGE","tolerance","rel","Disjoint","unit","b_clip_pos","b_age","t_clip_pos","t_age","DEPTH","ORDINAL","HEIGHT","b_pos","t_pos","Error","a_pos","d_top","x","Array","isArray","parseFloat","isNaN","unitsOverlap","getUnitHeightRange","agesOverlap","createUnitSorter","ensureArray","ensureRealFloat"],"version":3,"file":"column-views.8cfed88b.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import{group as e}from"d3-array";import{useAPIResult as r}from"@macrostrat/ui-components";function s(s){let t=r("/measurements",{...s,measure_phase:"zircon",response:"long",show_values:!0,measurement:"207Pb-206Pb"},s);return null==t?null:e(t,e=>e.unit_id)}export{s as useDetritalMeasurements};
2
+ //# sourceMappingURL=column-views.8f54691f.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,S,C,K,U,A,Q,gB,C,K,2B,CCkCO,SAAS,EAAwB,CAAU,EAShD,IAAM,EAAyB,AAAA,EAC7B,gBATa,CACb,GAAG,CAAU,CACb,cAAe,SACf,SAAU,OACV,YAAa,CAAA,EAEb,YAAa,aACf,EAIE,UAEF,AAAI,AAAO,MAAP,EAAoB,KACjB,AAAA,EAAM,EAAK,AAAC,GAAM,EAAE,OAAO,CACpC,Q,K,uB","sources":["<anon>","packages/column-views/src/facets/detrital-zircon/provider.ts"],"sourcesContent":["import {group as $6xKzt$group} from \"d3-array\";\nimport {useAPIResult as $6xKzt$useAPIResult} from \"@macrostrat/ui-components\";\n\n\n\nfunction $5fbd0235ca2c694c$export$1b0cf9c36f060135(columnArgs) {\n const params = {\n ...columnArgs,\n measure_phase: \"zircon\",\n response: \"long\",\n show_values: true,\n // Other isotope systems are organized separately\n measurement: \"207Pb-206Pb\"\n };\n const res = (0, $6xKzt$useAPIResult)(\"/measurements\", params, columnArgs);\n if (res == null) return null;\n return (0, $6xKzt$group)(res, (d)=>d.unit_id);\n}\n\n\nexport {$5fbd0235ca2c694c$export$1b0cf9c36f060135 as useDetritalMeasurements};\n//# sourceMappingURL=column-views.8f54691f.js.map\n","import { group } from \"d3-array\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\n\nexport interface MeasurementInfo {\n measurement_id: number;\n measuremeta_id: number;\n measurement: string;\n measure_units: string;\n measure_phase: string;\n method: string;\n n: number;\n ref_id: number;\n sample_name: string;\n geo_unit: string;\n samp_lith: string;\n samp_lith_id: number;\n samp_desc: string;\n samp_age: string;\n lat: number;\n lng: number;\n unit_id: number;\n unit_rel_pos?: any;\n col_id: number;\n strat_name_id: number;\n match_basis: string;\n ref: string;\n measure_value: number[];\n measure_error: number[];\n measure_position: any[];\n measure_n: number[];\n sample_no: string[];\n error_units: string;\n}\n\nexport function useDetritalMeasurements(columnArgs) {\n const params = {\n ...columnArgs,\n measure_phase: \"zircon\",\n response: \"long\",\n show_values: true,\n // Other isotope systems are organized separately\n measurement: \"207Pb-206Pb\",\n };\n const res: MeasurementInfo[] = useAPIResult(\n \"/measurements\",\n params,\n columnArgs,\n );\n if (res == null) return null;\n return group(res, (d) => d.unit_id);\n}\n"],"names":["group","$6xKzt$group","useAPIResult","$6xKzt$useAPIResult","$5fbd0235ca2c694c$export$1b0cf9c36f060135","columnArgs","res","measure_phase","response","show_values","measurement","d","unit_id","useDetritalMeasurements"],"version":3,"file":"column-views.8f54691f.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import e from"@macrostrat/hyper";import{getQueryString as t,setQueryString as r}from"@macrostrat/ui-components";import{createContext as o,useContext as i,useState as n,useEffect as u}from"react";function a(e,t,r,o){Object.defineProperty(e,t,{get:r,set:o,enumerable:!0,configurable:!0})}var l={};a(l,"useColumnNav",()=>s),a(l,"ColumnNavProvider",()=>d);let c=o(null);function s(e={col_id:495,unit_id:null}){let o=i(c);if(null!=o)return o;let[a,l]=n(function(e){let{col_id:t,unit_id:r,project_id:o,status_code:i}=e??{};return null==t?null:{col_id:t,unit_id:r,project_id:o,status_code:i}}(t(window.location.search))??e);u(()=>r(a),[a]);let{col_id:d,project_id:f,status_code:p}=a;return[a,e=>{let t=e;"properties"in e&&(t={col_id:e.properties.col_id,project_id:f,status_code:p}),r(t),l(t)}]}function d({children:t,...r}){let o=s(r);return e(c.Provider,{value:o},t)}export{s as useColumnNav,d as ColumnNavProvider};
2
+ //# sourceMappingURL=column-views.95411f1b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,M,mB,A,Q,kB,C,C,kB,C,K,2B,A,Q,iB,C,C,c,C,C,Y,C,C,a,C,K,O,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,C,E,E,E,e,I,G,E,E,oB,I,GCaA,IAAM,EAAe,AAAA,EAAwC,MAEtD,SAAS,EACd,EAA0B,CAAE,OAAQ,IAAK,QAAS,IAAK,CAAC,EAExD,IAAM,EAAM,AAAA,EAAW,GACvB,GAAI,AAAO,MAAP,EAAa,OAAO,EAExB,GAAM,CAAC,EAAY,EAAc,CAAG,AAAA,EAClC,AAoBJ,SAA2B,CAAW,EACpC,GAAM,CAAA,OAAE,CAAM,CAAA,QAAE,CAAO,CAAA,WAAE,CAAU,CAAA,YAAE,CAAW,CAAE,CAAG,GAAU,CAAC,SAChE,AAAI,AAAU,MAAV,EAAuB,KACpB,CAAE,OAAA,EAAQ,QAAA,EAAS,WAAA,EAAY,YAAA,CAAY,CACpD,EAxBsB,AAAA,EAAe,OAAO,QAAQ,CAAC,MAAM,IAAM,GAG/D,AAAA,EAAU,IAAM,AAAA,EAAe,GAAa,CAAC,EAAW,EAExD,GAAM,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAA,YAAE,CAAW,CAAE,CAAG,EAY5C,MAAO,CAAC,EAViB,AAAC,IACxB,IAAI,EAAO,CACP,CAAA,eAAgB,GAClB,CAAA,EAAO,CAAE,OAAQ,EAAI,UAAU,CAAC,MAAM,CAAE,WAAA,EAAY,YAAA,CAAY,CAAA,EAGlE,AAAA,EAAe,GACf,EAAc,EAChB,EAEqC,AACvC,CAQO,SAAS,EAAkB,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAa,EAE5D,IAAM,EAAQ,EAAa,GAC3B,OAAO,AAAA,EAAE,EAAa,QAAQ,CAAE,CAAE,MAAA,CAAM,EAAG,EAC7C,Q,K,Y,C,K,iB","sources":["<anon>","packages/column-views/src/data-provider/column-nav.ts"],"sourcesContent":["import $h0mWc$macrostrathyper from \"@macrostrat/hyper\";\nimport {getQueryString as $h0mWc$getQueryString, setQueryString as $h0mWc$setQueryString} from \"@macrostrat/ui-components\";\nimport {createContext as $h0mWc$createContext, useContext as $h0mWc$useContext, useState as $h0mWc$useState, useEffect as $h0mWc$useEffect} from \"react\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $d8324406f284950a$exports = {};\n\n$parcel$export($d8324406f284950a$exports, \"useColumnNav\", () => $d8324406f284950a$export$91cb5ac808759b34);\n$parcel$export($d8324406f284950a$exports, \"ColumnNavProvider\", () => $d8324406f284950a$export$36fed9e0f93a8fde);\n\n\n\nconst $d8324406f284950a$var$ColumnNavCtx = (0, $h0mWc$createContext)(null);\nfunction $d8324406f284950a$export$91cb5ac808759b34(defaultArgs = {\n col_id: 495,\n unit_id: null\n}) {\n const ctx = (0, $h0mWc$useContext)($d8324406f284950a$var$ColumnNavCtx);\n if (ctx != null) return ctx;\n const [columnArgs, setColumnArgs] = (0, $h0mWc$useState)($d8324406f284950a$var$extractColumnArgs((0, $h0mWc$getQueryString)(window.location.search)) ?? defaultArgs);\n (0, $h0mWc$useEffect)(()=>(0, $h0mWc$setQueryString)(columnArgs), [\n columnArgs\n ]);\n const { col_id: col_id, project_id: project_id, status_code: status_code } = columnArgs;\n const setCurrentColumn = (obj)=>{\n let args = obj;\n if (\"properties\" in obj) args = {\n col_id: obj.properties.col_id,\n project_id: project_id,\n status_code: status_code\n };\n // Set query string\n (0, $h0mWc$setQueryString)(args);\n setColumnArgs(args);\n };\n return [\n columnArgs,\n setCurrentColumn\n ];\n}\nfunction $d8324406f284950a$var$extractColumnArgs(search) {\n const { col_id: col_id, unit_id: unit_id, project_id: project_id, status_code: status_code } = search ?? {};\n if (col_id == null) return null;\n return {\n col_id: col_id,\n unit_id: unit_id,\n project_id: project_id,\n status_code: status_code\n };\n}\nfunction $d8324406f284950a$export$36fed9e0f93a8fde({ children: children, ...defaultArgs }) {\n /** Column navigation provider that manages the query string for selected columns */ const value = $d8324406f284950a$export$91cb5ac808759b34(defaultArgs);\n return (0, $h0mWc$macrostrathyper)($d8324406f284950a$var$ColumnNavCtx.Provider, {\n value: value\n }, children);\n}\n\n\nexport {$d8324406f284950a$export$91cb5ac808759b34 as useColumnNav, $d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider};\n//# sourceMappingURL=column-views.95411f1b.js.map\n","import h from \"@macrostrat/hyper\";\nimport { getQueryString, setQueryString } from \"@macrostrat/ui-components\";\nimport { createContext, useContext, useEffect, useState } from \"react\";\n\nexport interface ColumnArgs {\n col_id?: number;\n unit_id?: number;\n project_id?: number;\n status_code?: \"in process\";\n}\n\ntype ColumnManagerData = [ColumnArgs, (c: ColumnArgs) => void];\n\nconst ColumnNavCtx = createContext<ColumnManagerData | null>(null);\n\nexport function useColumnNav(\n defaultArgs: ColumnArgs = { col_id: 495, unit_id: null },\n): ColumnManagerData {\n const ctx = useContext(ColumnNavCtx);\n if (ctx != null) return ctx;\n\n const [columnArgs, setColumnArgs] = useState<ColumnArgs>(\n extractColumnArgs(getQueryString(window.location.search)) ?? defaultArgs,\n );\n\n useEffect(() => setQueryString(columnArgs), [columnArgs]);\n\n const { col_id, project_id, status_code } = columnArgs;\n\n const setCurrentColumn = (obj) => {\n let args = obj;\n if (\"properties\" in obj) {\n args = { col_id: obj.properties.col_id, project_id, status_code };\n }\n // Set query string\n setQueryString(args);\n setColumnArgs(args);\n };\n\n return [columnArgs, setCurrentColumn];\n}\n\nfunction extractColumnArgs(search: any): ColumnArgs | null {\n const { col_id, unit_id, project_id, status_code } = search ?? {};\n if (col_id == null) return null;\n return { col_id, unit_id, project_id, status_code };\n}\n\nexport function ColumnNavProvider({ children, ...defaultArgs }) {\n /** Column navigation provider that manages the query string for selected columns */\n const value = useColumnNav(defaultArgs as any);\n return h(ColumnNavCtx.Provider, { value }, children);\n}\n"],"names":["$h0mWc$macrostrathyper","getQueryString","$h0mWc$getQueryString","setQueryString","$h0mWc$setQueryString","createContext","$h0mWc$createContext","useContext","$h0mWc$useContext","useState","$h0mWc$useState","useEffect","$h0mWc$useEffect","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$d8324406f284950a$exports","$d8324406f284950a$export$91cb5ac808759b34","$d8324406f284950a$export$36fed9e0f93a8fde","$d8324406f284950a$var$ColumnNavCtx","defaultArgs","col_id","unit_id","ctx","columnArgs","setColumnArgs","$d8324406f284950a$var$extractColumnArgs","search","project_id","status_code","window","location","obj","args","properties","children","value","Provider","useColumnNav","ColumnNavProvider"],"version":3,"file":"column-views.95411f1b.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ .vpjVaa_page-header{flex-direction:row;justify-content:space-between;margin-bottom:1em;display:flex}.vpjVaa_diagram-container{flex:1;min-height:0;display:flex;position:relative}.vpjVaa_diagram-container.vpjVaa_map-inset .vpjVaa_column-selection-map{z-index:1000;width:12em;height:12em;position:absolute;top:1em;right:1em}.vpjVaa_diagram-container.vpjVaa_map-expanded{flex-direction:row;gap:1em}.vpjVaa_diagram-container.vpjVaa_map-expanded .vpjVaa_assistant{width:40em;position:relative}.vpjVaa_column-selection-map,.vpjVaa_unit-details-panel,.vpjVaa_main-area{border-radius:6px;box-shadow:0 1px 3px #0000004d}.vpjVaa_column-selection-map{flex:1;width:40em;min-height:12em;max-height:40em;position:relative;top:0;right:0;overflow:hidden}.vpjVaa_column-selection-map .vpjVaa_correlation-map{height:100%;position:relative}.vpjVaa_unit-details-panel{background:var(--panel-secondary-background-color);flex:2;max-width:100%;padding:1em;overflow:scroll}.vpjVaa_main-area{background-color:var(--panel-secondary-background-color);flex:1;min-width:0;min-height:0;position:relative;overflow:scroll}.vpjVaa_correlation-diagram{background-color:var(--panel-secondary-background-color);--column-background-color:var(--background-color);--column-stroke-color:var(--text-color);padding:1em 1em 1em 0}.vpjVaa_package{position:relative}.vpjVaa_package .vpjVaa_package-overlay{border:2px solid red;position:absolute;top:9px;left:0}.vpjVaa_package .vpjVaa_laterally-extensive-unit .vpjVaa_strat-col-span{border:2px solid red;position:absolute}.vpjVaa_package .vpjVaa_column-container{flex-direction:row;display:flex}.vpjVaa_map-expanded-button{z-index:100;position:absolute;top:.5em;right:.5em}.vpjVaa_main-panel{flex-direction:column;height:100%;display:flex;position:relative}.vpjVaa_main-chart{position:relative}.vpjVaa_correlation-chart-inner{flex-direction:row;display:flex;position:relative}.vpjVaa_age-axis-container{z-index:100;background-color:var(--panel-secondary-background-color);flex-direction:row;padding-left:1em;padding-right:2px;display:flex;position:sticky;left:0}
2
+ /*# sourceMappingURL=column-views.9cb13e51.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"ACGA,oGAMA,6EAOI,gJAQF,yEAIE,6FAIJ,2HAIA,+HAGE,mFAYF,gIAOA,6IASA,qMASA,kCAGE,8FAMA,+GAIA,yEAIF,8EAMA,oFAMA,qCAGA,kFAKA","sources":["column-views.9cb13e51.css","packages/column-views/src/correlation-chart/main.module.sass"],"sourcesContent":[".vpjVaa_page-header {\n flex-direction: row;\n justify-content: space-between;\n margin-bottom: 1em;\n display: flex;\n}\n\n.vpjVaa_diagram-container {\n flex: 1;\n min-height: 0;\n display: flex;\n position: relative;\n}\n\n.vpjVaa_diagram-container.vpjVaa_map-inset .vpjVaa_column-selection-map {\n z-index: 1000;\n width: 12em;\n height: 12em;\n position: absolute;\n top: 1em;\n right: 1em;\n}\n\n.vpjVaa_diagram-container.vpjVaa_map-expanded {\n flex-direction: row;\n gap: 1em;\n}\n\n.vpjVaa_diagram-container.vpjVaa_map-expanded .vpjVaa_assistant {\n width: 40em;\n position: relative;\n}\n\n.vpjVaa_column-selection-map, .vpjVaa_unit-details-panel, .vpjVaa_main-area {\n border-radius: 6px;\n box-shadow: 0 1px 3px #0000004d;\n}\n\n.vpjVaa_column-selection-map {\n flex: 1;\n width: 40em;\n min-height: 12em;\n max-height: 40em;\n position: relative;\n top: 0;\n right: 0;\n overflow: hidden;\n}\n\n.vpjVaa_column-selection-map .vpjVaa_correlation-map {\n height: 100%;\n position: relative;\n}\n\n.vpjVaa_unit-details-panel {\n background: var(--panel-secondary-background-color);\n flex: 2;\n max-width: 100%;\n padding: 1em;\n overflow: scroll;\n}\n\n.vpjVaa_main-area {\n background-color: var(--panel-secondary-background-color);\n flex: 1;\n min-width: 0;\n min-height: 0;\n position: relative;\n overflow: scroll;\n}\n\n.vpjVaa_correlation-diagram {\n background-color: var(--panel-secondary-background-color);\n --column-background-color: var(--background-color);\n --column-stroke-color: var(--text-color);\n padding: 1em 1em 1em 0;\n}\n\n.vpjVaa_package {\n position: relative;\n}\n\n.vpjVaa_package .vpjVaa_package-overlay {\n border: 2px solid red;\n position: absolute;\n top: 9px;\n left: 0;\n}\n\n.vpjVaa_package .vpjVaa_laterally-extensive-unit .vpjVaa_strat-col-span {\n border: 2px solid red;\n position: absolute;\n}\n\n.vpjVaa_package .vpjVaa_column-container {\n flex-direction: row;\n display: flex;\n}\n\n.vpjVaa_map-expanded-button {\n z-index: 100;\n position: absolute;\n top: .5em;\n right: .5em;\n}\n\n.vpjVaa_main-panel {\n flex-direction: column;\n height: 100%;\n display: flex;\n position: relative;\n}\n\n.vpjVaa_main-chart {\n position: relative;\n}\n\n.vpjVaa_correlation-chart-inner {\n flex-direction: row;\n display: flex;\n position: relative;\n}\n\n.vpjVaa_age-axis-container {\n z-index: 100;\n background-color: var(--panel-secondary-background-color);\n flex-direction: row;\n padding-left: 1em;\n padding-right: 2px;\n display: flex;\n position: sticky;\n left: 0;\n}\n/*# sourceMappingURL=column-views.9cb13e51.css.map */\n","$map-size: 40em\n$map-size-inset: 12em\n\n.page-header\n display: flex\n flex-direction: row\n justify-content: space-between\n margin-bottom: 1em\n\n.diagram-container\n flex: 1\n position: relative\n min-height: 0\n display: flex\n\n &.map-inset\n .column-selection-map\n position: absolute\n top: 1em\n right: 1em\n height: $map-size-inset\n width: $map-size-inset\n z-index: 1000\n\n &.map-expanded\n flex-direction: row\n gap: 1em\n\n .assistant\n width: 40em\n position: relative\n\n.column-selection-map, .unit-details-panel, .main-area\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3)\n border-radius: 6px\n\n.column-selection-map\n overflow: hidden\n\n .correlation-map\n height: 100%\n position: relative\n\n flex: 1\n min-height: $map-size-inset\n max-height: $map-size\n width: $map-size\n position: relative\n top: 0\n right: 0\n\n.unit-details-panel\n overflow: scroll\n background: var(--panel-secondary-background-color)\n flex: 2\n padding: 1em\n max-width: 100%\n\n.main-area\n position: relative\n flex: 1\n min-height: 0\n min-width: 0\n overflow: scroll\n background-color: var(--panel-secondary-background-color)\n\n\n.correlation-diagram\n padding: 1em\n padding-left: 0\n background-color: var(--panel-secondary-background-color)\n //box-shadow: 0 0 0.3em 0 var(--card-shadow-color)\n --column-background-color: var(--background-color)\n --column-stroke-color: var(--text-color)\n\n\n.package\n position: relative\n\n .package-overlay\n position: absolute\n top: 9px\n left: 0\n border: 2px solid red\n\n .laterally-extensive-unit .strat-col-span\n position: absolute\n border: 2px solid red\n\n .column-container\n display: flex\n flex-direction: row\n\n.map-expanded-button\n position: absolute\n top: 0.5em\n right: 0.5em\n z-index: 100\n\n.main-panel\n position: relative\n height: 100%\n display: flex\n flex-direction: column\n\n.main-chart\n position: relative\n\n.correlation-chart-inner\n display: flex\n flex-direction: row\n position: relative\n\n.age-axis-container\n display: flex\n flex-direction: row\n position: sticky\n left: 0\n z-index: 100\n padding-left: 1em\n padding-right: 2px\n background-color: var(--panel-secondary-background-color)\n"],"names":[],"version":3,"file":"column-views.9cb13e51.css.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.fdaa2963.js";import"./column-views.ebb44b7d.js";function e(e,r){return Object.keys(r).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})}),e}var r=globalThis,t={},o={},n=r.parcelRequirea149;null==n&&((n=function(e){if(e in t)return t[e].exports;if(e in o){var r=o[e];delete o[e];var n={id:e,exports:{}};return t[e]=n,r.call(n.exports,n,n.exports),n.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,r){o[e]=r},r.parcelRequirea149=n),n.register;var a={},c=n("ccQ40"),i=n("dd0Et");e(a,c),e(a,i);export{$25f1fcddbe40b91f$export$9ebf875c09445bec as CorrelationChart,$7e37f2a9ef0a1013$export$77c3cc7a57c6db5f as parseLineFromString,$7e37f2a9ef0a1013$export$8c53992169ff5301 as stringifyLine};
2
+ //# sourceMappingURL=column-views.a025fbe3.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,gB,C,6C,mB,C,6C,a","sources":["<anon>","packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["import \"./column-views.fdaa2963.js\";\nimport \"./column-views.ebb44b7d.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $53af365ed50b7b69$exports = {};\n\nvar $ccQ40 = parcelRequire(\"ccQ40\");\n\nvar $dd0Et = parcelRequire(\"dd0Et\");\n$parcel$exportWildcard($53af365ed50b7b69$exports, $ccQ40);\n$parcel$exportWildcard($53af365ed50b7b69$exports, $dd0Et);\n\n\nexport {$25f1fcddbe40b91f$export$9ebf875c09445bec as CorrelationChart, $7e37f2a9ef0a1013$export$77c3cc7a57c6db5f as parseLineFromString, $7e37f2a9ef0a1013$export$8c53992169ff5301 as stringifyLine};\n//# sourceMappingURL=column-views.a025fbe3.js.map\n","export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$53af365ed50b7b69$exports","$ccQ40","$dd0Et","$25f1fcddbe40b91f$export$9ebf875c09445bec","CorrelationChart","$7e37f2a9ef0a1013$export$77c3cc7a57c6db5f","parseLineFromString","$7e37f2a9ef0a1013$export$8c53992169ff5301","stringifyLine"],"version":3,"file":"column-views.a025fbe3.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.a8ffe072.js";import"./column-views.78d3f3c5.js";import e from"cross-fetch";import{useContext as t,useEffect as r,useMemo as n,useState as o,createContext as s}from"react";import a from"@macrostrat/hyper";import{create as l,useStore as i}from"zustand";import{APIProvider as u}from"@macrostrat/ui-components";import{ColumnProvider as c}from"@macrostrat/column-components";function f(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var m=globalThis,p={},d={},v=m.parcelRequirea149;null==v&&((v=function(e){if(e in p)return p[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return p[e]=r,t.call(r.exports,r,r.exports),r.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){d[e]=t},m.parcelRequirea149=v),v.register;var h={};f(h,"useMacrostratStore",()=>M),f(h,"useMacrostratDefs",()=>w),f(h,"useMacrostratColumns",()=>x),f(h,"useMacrostratData",()=>C),f(h,"MacrostratDataProvider",()=>L),f(h,"MacrostratAPIProvider",()=>D),f(h,"MacrostratColumnProvider",()=>y),f(h,"LithologiesProvider",()=>E),f(h,"useLithologies",()=>_),f(h,"useEnvironments",()=>A);var g=v("Piirt"),b=v("wtIgl");function $(t="https://macrostrat.org/api/v2"){return l((r,n)=>{var o,s,a,l,i,u,c,f,m,p;return{baseURL:t,inFlightRequests:new Set,async fetch(r,o){let s=t+r,{inFlightRequests:a}=n();if(a.has(s))return null;a.add(s);let l=await e(s,o);return a.delete(s),l},...(o=r,s=n,{lithologies:null,async getLithologies(e){let{lithologies:t,fetch:r}=s(),n=t;if(null==n){let e=await (0,g.fetchLithologies)(r);if(null==e)return;o({lithologies:n=new Map(e.map(e=>[e.lith_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(a=r,l=n,{intervals:null,async getIntervals(e,t){var r,n;let{intervals:o,fetch:s}=l(),i=o;if(null==o||(r=o,n=t,!(null!=r&&(null==n||Array.from(r.values()).some(e=>e.timescale_id==n))))){let e=await (0,g.fetchIntervals)(t,s);if(null==e)return[];let r=o??new Map;for(let t of e)r.set(t.int_id,t);a({intervals:i=r})}return null==e&&null==t?Array.from(i.values()):null!=t?Array.from(i.values()).filter(e=>e.timescale_id==t):e.map(e=>o.get(e))}}),...(i=r,u=n,{environments:null,async getEnvironments(e){let{environments:t,fetch:r}=u(),n=t;if(null==n){let e=await (0,g.fetchEnvironments)(r);if(null==e)return[];i({environments:n=new Map(e.map(e=>[e.environ_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(c=r,f=n,{columnFootprints:new Map,async getColumns(e,t){let{columnFootprints:r,baseURL:n,fetch:o}=f(),s=e??-1,a=t;null==e&&(a=!1);let l=r.get(s);if(null==l||l.inProcess!=a){let n=await (0,g.fetchAllColumns)({projectID:e,statusCode:null,fetch:o});if(null==n)return;if(a){let t=await (0,g.fetchAllColumns)({projectID:e,statusCode:"in process",fetch:o});if(null==t)return;n=n.concat(t)}l={project_id:e,inProcess:t,columns:n};let i=new Map(r);i.set(s,l),c({columnFootprints:i})}return l.columns}}),...(m=r,p=n,{refs:new Map,async getRefs(e){let{refs:t,fetch:r}=p(),n=e.filter(e=>!t.has(e));if(0==n.length)return e.map(e=>t.get(e));let o=await (0,g.fetchRefs)(n,r);if(null==o)return[];for(let e of o)t.set(e.ref_id,e);return m({refs:t}),e.map(e=>t.get(e))}})}})}function M(e){let r=t(R);if(null==r)throw Error("Missing MacrostratDataProvider");return"api"===e?r:i(r,e)}let P={lithologies:e=>e.getLithologies,intervals:e=>e.getIntervals,columns:e=>e.getColumns,environments:e=>e.getEnvironments,refs:e=>e.getRefs};function w(e){if("columns"==e)throw Error("Columns are not provided as a map");let t=M(P[e]);return r(()=>{t()},[]),M(t=>t[e])}function x(e,t){let o=M(e=>e.getColumns),s=M(e=>e.columnFootprints),a=s?.get(e??-1);return r(()=>{(null==a||t&&!a.inProcess)&&o(e,t)},[a,t,o]),n(()=>{if(null==a)return null;let e=a.columns;return!t&&a.inProcess&&(e.features=e.features?.filter(e=>"in process"!=e.properties.status)),e},[a,t])}function C(e,...t){let n=M(P[e]),[s,a]=o(null);return r(()=>{n(...t).then(a)},[n,...t]),s}let R=s($());function L(e){let{baseURL:t="https://macrostrat.org/api/v2",children:r}=e,[n]=o(()=>$(t));return a(D,{baseURL:t},a(R.Provider,{value:n},r))}function D({children:e,useDev:t=!1,baseURL:r}){return r??(r=t?"https://dev.macrostrat.org/api/v2":"https://macrostrat.org/api/v2"),a(u,{baseURL:r,unwrapResponse:e=>e.success.data},e)}function y(e){let{axisType:t}=(0,b.useMacrostratColumnData)(),{units:r,domain:n,pixelScale:o,children:s}=e;return a(c,{axisType:t,divisions:r,range:n,pixelsPerMeter:o},s)}function E({children:e}){return r(()=>{console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider")},[]),e}function _(){let e=M(e=>e.getLithologies),t=M(e=>e.lithologies);return r(()=>{null==t&&e()},[t,e]),t}function A(){let e=M(e=>e.getEnvironments),t=M(e=>e.environments);return r(()=>{null==t&&e()},[t,e]),t}export{M as useMacrostratStore,w as useMacrostratDefs,x as useMacrostratColumns,C as useMacrostratData,L as MacrostratDataProvider,D as MacrostratAPIProvider,y as MacrostratColumnProvider,E as LithologiesProvider,_ as useLithologies,A as useEnvironments};
2
+ //# sourceMappingURL=column-views.a0aac838.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,Q,M,a,A,Q,c,C,C,a,C,C,W,C,C,Y,C,C,iB,C,K,O,A,Q,M,mB,A,Q,U,C,C,Y,C,K,S,A,Q,e,C,K,2B,A,Q,kB,C,K,+B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,qB,I,G,E,E,oB,I,G,E,E,uB,I,G,E,E,oB,I,G,E,E,yB,I,G,E,E,wB,I,G,E,E,2B,I,G,E,E,sB,I,G,E,E,iB,I,G,E,E,kB,I,G,I,E,E,S,E,E,SC2DA,SAAS,EACP,EAAkB,+BAA+B,EAEjD,OAAO,AAAA,EAAwB,CAAC,EAAK,SAoGP,EAAK,EAsCP,EAAK,EAnBF,EAAK,EAxEV,EAAK,EApBR,EAAK,QA1BnB,CACL,QAAA,EACA,iBAAkB,IAAI,IACtB,MAAM,MAAM,CAAW,CAAE,CAAqB,EAC5C,IAAM,EAAO,EAAU,EAEjB,CAAA,iBAAE,CAAgB,CAAE,CAAG,IAC7B,GAAI,EAAiB,GAAG,CAAC,GACvB,OAAO,KAET,EAAiB,GAAG,CAAC,GAErB,IAAM,EAAM,MAAM,AAAA,EAAU,EAAM,GAGlC,OAFA,EAAiB,MAAM,CAAC,GAEjB,CACT,MAmF0B,EAlFA,EAkFK,EAlFA,EAmF5B,CACL,YAAa,KACb,MAAM,eAAe,CAAoB,EACvC,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAE,CAAG,IAC3B,EAAU,EACd,GAAI,AAAW,MAAX,EAAiB,CACnB,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,gBAAe,AAAf,EAAiB,GACpC,GAAI,AAAQ,MAAR,EAAc,OAElB,EAAI,CAAE,YADN,EAAU,IAAI,IAAI,EAAK,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,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","sources":["<anon>","packages/column-views/src/data-provider/base.ts"],"sourcesContent":["import \"./column-views.a8ffe072.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport $fUENy$crossfetch from \"cross-fetch\";\nimport {useContext as $fUENy$useContext, useEffect as $fUENy$useEffect, useMemo as $fUENy$useMemo, useState as $fUENy$useState, createContext as $fUENy$createContext} from \"react\";\nimport $fUENy$macrostrathyper from \"@macrostrat/hyper\";\nimport {create as $fUENy$create, useStore as $fUENy$useStore} from \"zustand\";\nimport {APIProvider as $fUENy$APIProvider} from \"@macrostrat/ui-components\";\nimport {ColumnProvider as $fUENy$ColumnProvider} from \"@macrostrat/column-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $8750144f23b92eb9$exports = {};\n\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratStore\", () => $8750144f23b92eb9$export$fb98d5bae3a6800);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratDefs\", () => $8750144f23b92eb9$export$89dd4e5ae4a82373);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratColumns\", () => $8750144f23b92eb9$export$81eaae0b474404fd);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratData\", () => $8750144f23b92eb9$export$b9c9fc603d74a555);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratDataProvider\", () => $8750144f23b92eb9$export$690613f93cdc5576);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratAPIProvider\", () => $8750144f23b92eb9$export$3098013bc6cc316d);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratColumnProvider\", () => $8750144f23b92eb9$export$9e42f9b6e0d67c7d);\n$parcel$export($8750144f23b92eb9$exports, \"LithologiesProvider\", () => $8750144f23b92eb9$export$8492a5cae82b6a70);\n$parcel$export($8750144f23b92eb9$exports, \"useLithologies\", () => $8750144f23b92eb9$export$4d18a90c945d129f);\n$parcel$export($8750144f23b92eb9$exports, \"useEnvironments\", () => $8750144f23b92eb9$export$c6b216bf4c71b61f);\n/** Data provider for information that needs to be loaded in bulk for frontend views */ \n\n\n\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $8750144f23b92eb9$var$createMacrostratStore(baseURL = \"https://macrostrat.org/api/v2\") {\n return (0, $fUENy$create)((set, get)=>{\n return {\n baseURL: baseURL,\n inFlightRequests: new Set(),\n async fetch (url, options) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests: inFlightRequests } = get();\n if (inFlightRequests.has(url1)) return null; // Return null if already in flight\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await (0, $fUENy$crossfetch)(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...$8750144f23b92eb9$var$createLithologiesSlice(set, get),\n ...$8750144f23b92eb9$var$createIntervalsSlice(set, get),\n ...$8750144f23b92eb9$var$createEnvironmentsSlice(set, get),\n ...$8750144f23b92eb9$var$createColumnsSlice(set, get),\n ...$8750144f23b92eb9$var$createRefsSlice(set, get)\n };\n });\n}\nfunction $8750144f23b92eb9$var$createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs (ids) {\n const { refs: refs, fetch: fetch } = get();\n const missing = ids.filter((id)=>!refs.has(id));\n if (missing.length == 0) return ids.map((id)=>refs.get(id));\n const data = await (0, $Piirt.fetchRefs)(missing, fetch);\n if (data == null) return [];\n for (const d of data)refs.set(d.ref_id, d);\n set({\n refs: refs\n });\n return ids.map((id)=>refs.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns (projectID, inProcess) {\n const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) // If no project is specified, in process columns cannot be included\n _inProcess = false;\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: null,\n fetch: fetch\n });\n if (columns == null) return;\n if (_inProcess) {\n const inProcessColumns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: \"in process\",\n fetch: fetch\n });\n if (inProcessColumns == null) return;\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n footprints = {\n project_id: projectID,\n inProcess: inProcess,\n columns: columns\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({\n columnFootprints: columnFootprints2\n });\n }\n return footprints.columns;\n }\n };\n}\nfunction $8750144f23b92eb9$var$createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies (ids) {\n const { lithologies: lithologies, fetch: fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await (0, $Piirt.fetchLithologies)(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d)=>[\n d.lith_id,\n d\n ]));\n set({\n lithologies: lithMap\n });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id)=>lithMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments (ids) {\n const { environments: environments, fetch: fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await (0, $Piirt.fetchEnvironments)(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d)=>[\n d.environ_id,\n d\n ]));\n set({\n environments: envMap\n });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id)=>envMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals (ids, timescaleID) {\n const { intervals: intervals, fetch: fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !$8750144f23b92eb9$var$includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await (0, $Piirt.fetchIntervals)(timescaleID, fetch);\n if (data == null) return [];\n const intervalMap = intervals ?? new Map();\n for (const d of data)intervalMap.set(d.int_id, d);\n _intervals = intervalMap;\n set({\n intervals: _intervals\n });\n }\n if (ids == null && timescaleID == null) return Array.from(_intervals.values());\n if (timescaleID != null) return Array.from(_intervals.values()).filter((d)=>d.timescale_id == timescaleID);\n return ids.map((id)=>intervals.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$includesTimescale(intervals, timescaleID) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some((d)=>d.timescale_id == timescaleID);\n}\nfunction $8750144f23b92eb9$export$fb98d5bae3a6800(selector) {\n const ctx = (0, $fUENy$useContext)($8750144f23b92eb9$var$MacrostratDataProviderContext);\n if (ctx == null) throw new Error(\"Missing MacrostratDataProvider\");\n if (selector === \"api\") return ctx;\n return (0, $fUENy$useStore)(ctx, selector);\n}\nconst $8750144f23b92eb9$var$dataTypeMapping = {\n lithologies: (store)=>store.getLithologies,\n intervals: (store)=>store.getIntervals,\n columns: (store)=>store.getColumns,\n environments: (store)=>store.getEnvironments,\n refs: (store)=>store.getRefs\n};\nfunction $8750144f23b92eb9$export$89dd4e5ae4a82373(dataType) {\n if (dataType == \"columns\") throw new Error(\"Columns are not provided as a map\");\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800($8750144f23b92eb9$var$dataTypeMapping[dataType]);\n (0, $fUENy$useEffect)(()=>{\n operator();\n }, []);\n return $8750144f23b92eb9$export$fb98d5bae3a6800((state)=>state[dataType]);\n}\nfunction $8750144f23b92eb9$export$81eaae0b474404fd(projectID, inProcess) {\n const getColumns = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getColumns);\n const columnsMap = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n (0, $fUENy$useEffect)(()=>{\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || inProcess && !colData.inProcess) getColumns(projectID, inProcess);\n // If we've already fetched the columns there's nothing to do...\n }, [\n colData,\n inProcess,\n getColumns\n ]);\n return (0, $fUENy$useMemo)(()=>{\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter((d)=>d.properties.status != \"in process\");\n return columns;\n }, [\n colData,\n inProcess\n ]);\n}\nfunction $8750144f23b92eb9$export$b9c9fc603d74a555(dataType, ...args) {\n const selector = $8750144f23b92eb9$var$dataTypeMapping[dataType];\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800(selector);\n const [value, setValue] = (0, $fUENy$useState)(null);\n (0, $fUENy$useEffect)(()=>{\n operator(...args).then(setValue);\n }, [\n operator,\n ...args\n ]);\n return value;\n}\n/** By default, we provide a store linked to the production API */ const $8750144f23b92eb9$var$MacrostratDataProviderContext = (0, $fUENy$createContext)($8750144f23b92eb9$var$createMacrostratStore());\nfunction $8750144f23b92eb9$export$690613f93cdc5576(props) {\n const { baseURL: baseURL = \"https://macrostrat.org/api/v2\", children: children } = props;\n const [store] = (0, $fUENy$useState)(()=>$8750144f23b92eb9$var$createMacrostratStore(baseURL));\n return (0, $fUENy$macrostrathyper)($8750144f23b92eb9$export$3098013bc6cc316d, {\n baseURL: baseURL\n }, (0, $fUENy$macrostrathyper)($8750144f23b92eb9$var$MacrostratDataProviderContext.Provider, {\n value: store\n }, children));\n}\nfunction $8750144f23b92eb9$export$3098013bc6cc316d({ children: children, useDev: useDev = false, baseURL: baseURL }) {\n baseURL ?? (baseURL = useDev ? \"https://dev.macrostrat.org/api/v2\" : \"https://macrostrat.org/api/v2\");\n return (0, $fUENy$macrostrathyper)((0, $fUENy$APIProvider), {\n baseURL: baseURL,\n unwrapResponse: (res)=>res.success.data\n }, children);\n}\nfunction $8750144f23b92eb9$export$9e42f9b6e0d67c7d(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */ const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;\n return (0, $fUENy$macrostrathyper)((0, $fUENy$ColumnProvider), {\n axisType: axisType,\n divisions: units,\n range: domain,\n pixelsPerMeter: pixelScale\n }, children);\n}\nfunction $8750144f23b92eb9$export$8492a5cae82b6a70({ children: children }) {\n (0, $fUENy$useEffect)(()=>{\n console.warn(\"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\");\n }, []);\n return children;\n}\nfunction $8750144f23b92eb9$export$4d18a90c945d129f() {\n const getLithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getLithologies);\n const lithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.lithologies);\n (0, $fUENy$useEffect)(()=>{\n if (lithologies == null) getLithologies();\n }, [\n lithologies,\n getLithologies\n ]);\n return lithologies;\n}\nfunction $8750144f23b92eb9$export$c6b216bf4c71b61f() {\n const getEnvironments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getEnvironments);\n const environments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.environments);\n (0, $fUENy$useEffect)(()=>{\n if (environments == null) getEnvironments();\n }, [\n environments,\n getEnvironments\n ]);\n return environments;\n}\n\n\nexport {$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore, $8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs, $8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns, $8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData, $8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider, $8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider, $8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider, $8750144f23b92eb9$export$4d18a90c945d129f as useLithologies, $8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments};\n//# sourceMappingURL=column-views.a0aac838.js.map\n","/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(ids: number[] | null, timescaleID: number | null): Promise<any>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) {\n // If no project is specified, in process columns cannot be included\n _inProcess = false;\n }\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await fetchAllColumns({\n projectID,\n statusCode: null,\n fetch,\n });\n if (columns == null) {\n return;\n }\n if (_inProcess) {\n const inProcessColumns = await fetchAllColumns({\n projectID,\n statusCode: \"in process\",\n fetch,\n });\n if (inProcessColumns == null) {\n return;\n }\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n\n return useStore(ctx, selector);\n}\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: string, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n operator(...args).then(setValue);\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, children } = props;\n return h(\n ColumnProvider,\n { axisType, divisions: units, range: domain, pixelsPerMeter: pixelScale },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":["$fUENy$crossfetch","useContext","$fUENy$useContext","useEffect","$fUENy$useEffect","useMemo","$fUENy$useMemo","useState","$fUENy$useState","createContext","$fUENy$createContext","$fUENy$macrostrathyper","create","$fUENy$create","useStore","$fUENy$useStore","APIProvider","$fUENy$APIProvider","ColumnProvider","$fUENy$ColumnProvider","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$8750144f23b92eb9$exports","$8750144f23b92eb9$export$fb98d5bae3a6800","$8750144f23b92eb9$export$89dd4e5ae4a82373","$8750144f23b92eb9$export$81eaae0b474404fd","$8750144f23b92eb9$export$b9c9fc603d74a555","$8750144f23b92eb9$export$690613f93cdc5576","$8750144f23b92eb9$export$3098013bc6cc316d","$8750144f23b92eb9$export$9e42f9b6e0d67c7d","$8750144f23b92eb9$export$8492a5cae82b6a70","$8750144f23b92eb9$export$4d18a90c945d129f","$8750144f23b92eb9$export$c6b216bf4c71b61f","$Piirt","$wtIgl","$8750144f23b92eb9$var$createMacrostratStore","baseURL","inFlightRequests","Set","fetch","url","options","url1","has","add","res","delete","lithologies","getLithologies","ids","lithMap","data","fetchLithologies","Map","map","d","lith_id","values","intervals","getIntervals","timescaleID","_intervals","Array","from","some","timescale_id","fetchIntervals","intervalMap","int_id","filter","environments","getEnvironments","envMap","fetchEnvironments","environ_id","columnFootprints","getColumns","projectID","inProcess","key","_inProcess","footprints","columns","fetchAllColumns","statusCode","inProcessColumns","concat","project_id","columnFootprints2","refs","getRefs","missing","length","fetchRefs","ref_id","selector","ctx","$8750144f23b92eb9$var$MacrostratDataProviderContext","$8750144f23b92eb9$var$dataTypeMapping","store","dataType","operator","state","columnsMap","colData","features","properties","status","args","value","setValue","then","props","children","Provider","useDev","unwrapResponse","success","axisType","useMacrostratColumnData","units","domain","pixelScale","divisions","range","pixelsPerMeter","console","warn","useMacrostratStore","useMacrostratDefs","useMacrostratColumns","useMacrostratData","MacrostratDataProvider","MacrostratAPIProvider","MacrostratColumnProvider","LithologiesProvider","useLithologies","useEnvironments"],"version":3,"file":"column-views.a0aac838.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import{group as e}from"d3-array";import{createAPIContext as l,useAPIResult as a}from"@macrostrat/ui-components";let o=l({baseURL:"https://training.paleobiodb.org/data1.2",unwrapResponse:e=>e.records});var t,s=((t={}).Occurrences="occs",t.Collections="colls",t);function n(e,{col_id:l}){return a(`/${e}/list.json`,{ms_column:l,show:"full,mslink"},{context:o})}function c(e){let l=null,a=null;return null!==e.msu&&(l=parseInt(e.msu.replace(/^\w+:/,""))),null!==e.msc&&(a=parseInt(e.msc.replace(/^\w+:/,""))),{...e,unit_id:l,col_id:a,cltn_id:parseInt(e.oid.replace(/^col:/,"")),cltn_name:e.nam,t_age:e.t_age,b_age:e.b_age}}function r({col_id:l}){let o=n("colls",{col_id:l}),t=function({col_id:e}){return a("/fossils",{col_id:e})}({col_id:l});return null==o||null==t?null:e([...o.map(c),...t],e=>e.unit_id)}export{s as FossilDataType,n as usePBDBFossilData,r as useFossilData};
2
+ //# sourceMappingURL=column-views.a501cea0.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,O,S,C,K,U,A,Q,oB,C,C,gB,C,K,2B,CCKA,IAAM,EAAiB,AAAA,EAAiB,CACtC,QAAS,0CACT,eAJwB,AAAC,GAAM,EAAE,OAAO,AAK1C,GAEO,IAAK,EAAA,G,CAAA,E,C,G,W,C,O,E,W,C,QAAA,GAKL,SAAS,EACd,CAAoB,CACpB,CAAA,OAAE,CAAM,CAAE,EAMV,OAAO,AAAA,EAAa,CAAC,CAAC,EAAE,EAAK,UAAU,CAAC,CAJzB,CACb,UAAW,EACX,KAAM,aACR,EACkD,CAChD,QAAS,CACX,EACF,CAiBA,SAAS,EAA2B,CAAC,EACnC,IAAI,EAAU,KACV,EAAS,KASb,OAPI,AAAU,OAAV,EAAE,GAAG,EACP,CAAA,EAAU,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,QAAS,IAD5C,EAGI,AAAU,OAAV,EAAE,GAAG,EACP,CAAA,EAAS,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,QAAS,IAD3C,EAIO,CACL,GAAG,CAAC,CACJ,QAAA,EACA,OAAA,EACA,QAAS,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,QAAS,KACzC,UAAW,EAAE,GAAG,CAChB,MAAO,EAAE,KAAK,CACd,MAAO,EAAE,KAAK,AAChB,CACF,CAEO,SAAS,EAAc,CAAA,OAAE,CAAM,CAAE,EAItC,IAAM,EAAK,EAAA,QAA8C,CAAE,OAAA,CAAO,GAE5D,EAAK,AAhCb,SAAiC,CAAA,OAAE,CAAM,CAAE,EACzC,OAAO,AAAA,EAAa,WAAY,CAAE,OAAA,CAAO,EAC3C,EA8BqC,CAAE,OAAA,CAAO,UAE5C,AAAI,AAAM,MAAN,GAAc,AAAM,MAAN,EAAmB,KAK9B,AAAA,EAFM,IAFD,EAAG,GAAG,CAAC,MAEM,EAAG,CAET,AAAC,GAAM,EAAE,OAAO,CACrC,Q,K,c,C,K,iB,C,K,a","sources":["<anon>","packages/column-views/src/facets/fossils/provider.ts"],"sourcesContent":["import {group as $lb6L3$group} from \"d3-array\";\nimport {createAPIContext as $lb6L3$createAPIContext, useAPIResult as $lb6L3$useAPIResult} from \"@macrostrat/ui-components\";\n\n\n\nconst $8e174c7ae24a4598$var$responseUnwrapper = (d)=>d.records;\nconst $8e174c7ae24a4598$var$pbdbAPIContext = (0, $lb6L3$createAPIContext)({\n baseURL: \"https://training.paleobiodb.org/data1.2\",\n unwrapResponse: $8e174c7ae24a4598$var$responseUnwrapper\n});\nvar $8e174c7ae24a4598$export$a990c76b38782f57 = /*#__PURE__*/ function(FossilDataType) {\n FossilDataType[\"Occurrences\"] = \"occs\";\n FossilDataType[\"Collections\"] = \"colls\";\n return FossilDataType;\n}({});\nfunction $8e174c7ae24a4598$export$c4ed16553d869511(type, { col_id: col_id }) {\n const params = {\n ms_column: col_id,\n show: \"full,mslink\"\n };\n return (0, $lb6L3$useAPIResult)(`/${type}/list.json`, params, {\n context: $8e174c7ae24a4598$var$pbdbAPIContext\n });\n}\nfunction $8e174c7ae24a4598$var$useMacrostratFossilData({ col_id: col_id }) {\n return (0, $lb6L3$useAPIResult)(\"/fossils\", {\n col_id: col_id\n });\n}\nfunction $8e174c7ae24a4598$var$createMacrostratCollection(d) {\n let unit_id = null;\n let col_id = null;\n // Standardize names of Macrostrat units and columns\n if (d.msu !== null) unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n if (d.msc !== null) col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n return {\n ...d,\n unit_id: unit_id,\n col_id: col_id,\n cltn_id: parseInt(d.oid.replace(/^col:/, \"\")),\n cltn_name: d.nam,\n t_age: d.t_age,\n b_age: d.b_age\n };\n}\nfunction $8e174c7ae24a4598$export$e6af757fa9780077({ col_id: col_id }) {\n // Fossil links are stored in both Macrostrat and PBDB, depending on how the link was assembled. Here\n // we create a unified view of data over both sources.\n const r1 = $8e174c7ae24a4598$export$c4ed16553d869511(\"colls\", {\n col_id: col_id\n });\n const r2 = $8e174c7ae24a4598$var$useMacrostratFossilData({\n col_id: col_id\n });\n if (r1 == null || r2 == null) return null;\n const r1a = r1.map($8e174c7ae24a4598$var$createMacrostratCollection);\n const data = [\n ...r1a,\n ...r2\n ];\n return (0, $lb6L3$group)(data, (d)=>d.unit_id);\n}\n\n\nexport {$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType, $8e174c7ae24a4598$export$c4ed16553d869511 as usePBDBFossilData, $8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData};\n//# sourceMappingURL=column-views.a501cea0.js.map\n","import { group } from \"d3-array\";\nimport { createAPIContext, useAPIResult } from \"@macrostrat/ui-components\";\n\nconst responseUnwrapper = (d) => d.records;\n\nconst pbdbAPIContext = createAPIContext({\n baseURL: \"https://training.paleobiodb.org/data1.2\",\n unwrapResponse: responseUnwrapper,\n});\n\nexport enum FossilDataType {\n Occurrences = \"occs\",\n Collections = \"colls\",\n}\n\nexport function usePBDBFossilData(\n type: FossilDataType,\n { col_id },\n): any[] | null {\n const params = {\n ms_column: col_id,\n show: \"full,mslink\",\n };\n return useAPIResult(`/${type}/list.json`, params, {\n context: pbdbAPIContext,\n });\n}\n\nexport interface PBDBCollection {\n unit_id: number;\n col_id: number;\n cltn_id: number;\n cltn_name: string;\n pbdb_occs: number;\n t_age: number;\n b_age: number;\n [key: string]: any; // Allow for additional properties\n}\n\nfunction useMacrostratFossilData({ col_id }): PBDBCollection[] | null {\n return useAPIResult(\"/fossils\", { col_id });\n}\n\nfunction createMacrostratCollection(d): PBDBCollection {\n let unit_id = null;\n let col_id = null;\n // Standardize names of Macrostrat units and columns\n if (d.msu !== null) {\n unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n }\n if (d.msc !== null) {\n col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n }\n\n return {\n ...d,\n unit_id,\n col_id,\n cltn_id: parseInt(d.oid.replace(/^col:/, \"\")),\n cltn_name: d.nam,\n t_age: d.t_age,\n b_age: d.b_age,\n };\n}\n\nexport function useFossilData({ col_id }) {\n // Fossil links are stored in both Macrostrat and PBDB, depending on how the link was assembled. Here\n // we create a unified view of data over both sources.\n\n const r1 = usePBDBFossilData(FossilDataType.Collections, { col_id });\n\n const r2 = useMacrostratFossilData({ col_id });\n\n if (r1 == null || r2 == null) return null;\n const r1a = r1.map(createMacrostratCollection);\n\n const data = [...r1a, ...r2];\n\n return group(data, (d) => d.unit_id);\n}\n"],"names":["group","$lb6L3$group","createAPIContext","$lb6L3$createAPIContext","useAPIResult","$lb6L3$useAPIResult","$8e174c7ae24a4598$var$pbdbAPIContext","baseURL","unwrapResponse","d","records","FossilDataType","$8e174c7ae24a4598$export$a990c76b38782f57","$8e174c7ae24a4598$export$c4ed16553d869511","type","col_id","ms_column","show","context","$8e174c7ae24a4598$var$createMacrostratCollection","unit_id","msu","parseInt","replace","msc","cltn_id","oid","cltn_name","nam","t_age","b_age","$8e174c7ae24a4598$export$e6af757fa9780077","r1","r2","$8e174c7ae24a4598$var$useMacrostratFossilData","map","usePBDBFossilData","useFossilData"],"version":3,"file":"column-views.a501cea0.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import{joinURL as t,addQueryString as e,useAPIResult as n}from"@macrostrat/ui-components";import a from"cross-fetch";import{feature as o}from"topojson-client";import{geoArea as r}from"d3-geo";function s(t,e,n,a){Object.defineProperty(t,e,{get:n,set:a,enumerable:!0,configurable:!0})}var l={};function c(t,e){return a("https://macrostrat.org/api/v2"+t,e)}async function i(n={}){let{apiBaseURL:o,projectID:s,format:l="topojson",statusCode:c,fetch:u=a}=n,f={format:l};null!=s&&(f={...f,project_id:s}),null!=c&&(f={...f,status_code:c}),null==s&&(f={...f,all:!0});let p="/columns";null!=o&&(p=t(o,p)),p=e(p,f);let m=await u(p,{method:"GET",headers:{"Content-Type":"application/json"}});if(null==m)return null;let h=await m.json();return d[l](h).filter(t=>null!=t.geometry).map(t=>{if(1e-8>r(t.geometry)){let e=t.geometry.coordinates[0][0];t.geometry={type:"Point",coordinates:e}}return t}).map((t,e)=>({id:t.properties?.col_id,...t}))}function u({apiRoute:t="/columns",status_code:e,project_id:a,format:o="geojson"}){let r;null==e&&null==a&&(r=!0);let s=d[o];return n(t,{format:o,all:r,status_code:e,project_id:a},s)}function f(t){return t?.features}s(l,"fetchAllColumns",()=>i),s(l,"useColumnFeatures",()=>u),s(l,"fetchLithologies",()=>m),s(l,"fetchIntervals",()=>h),s(l,"fetchEnvironments",()=>$),s(l,"fetchRefs",()=>g),s(l,"fetchUnits",()=>j),s(l,"fetchColumnUnits",()=>y);let d={topojson:function(t){try{let{data:e}=t.success,{features:n}=o(e,e.objects.output);return n}catch(t){return console.error(t),[]}},geojson:function(t){return f(t?.success?.data)},geojson_bare:f};async function p(t){return null==t?null:(await t.json()).success.data}async function m(t=c){let e=await t("/defs/lithologies?all");return await p(e)}async function h(t,e=c){let n="/defs/intervals";null!=t?n+=`?timescale_id=${t}`:n+="?all";let a=await e(n);return await p(a)}async function $(t=c){let e=await t("/defs/environments?all");return await p(e)}async function g(t,e=c){let n="/defs/refs";if(0==t.length)return[];n+="?ref_id="+t.join(",");let a=await e(n);return await p(a)}async function j(t,e=c){let n=t.map(t=>y(t,e));return await Promise.all(n)}async function y(t,e=c){let n=new URLSearchParams;n.append("response","long"),n.append("col_id",t.toString());let a=await e("/units?"+n.toString()),o=await a.json();if(!o.success)throw Error("Failed to fetch column units");return{columnID:t,units:o.success.data}}export{i as fetchAllColumns,u as useColumnFeatures,m as fetchLithologies,h as fetchIntervals,$ as fetchEnvironments,g as fetchRefs,j as fetchUnits,y as fetchColumnUnits};
2
+ //# sourceMappingURL=column-views.a8ffe072.js.map