@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,124 @@
1
+ import {useDetritalMeasurements as $9f310bd6e88a58bc$export$1b0cf9c36f060135} from "./column-views.05586d1f.js";
2
+ import {useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.1e055ed5.js";
3
+ import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.f13a1d6e.js";
4
+ import $d4hxx$columnviews2c45a7b5js from "./column-views.2c45a7b5.js";
5
+ import "./column-views.403a7b48.css";
6
+ import {usePlotArea as $d4hxx$usePlotArea, DetritalSpectrumPlot as $d4hxx$DetritalSpectrumPlot, DetritalSeries as $d4hxx$DetritalSeries} from "@macrostrat/data-components";
7
+ import $d4hxx$macrostrathyper from "@macrostrat/hyper";
8
+ import {useMemo as $d4hxx$useMemo} from "react";
9
+ import $d4hxx$classnames from "classnames";
10
+
11
+
12
+ function $parcel$interopDefault(a) {
13
+ return a && a.__esModule ? a.default : a;
14
+ }
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ const $715dd5fedd79146a$var$h = (0, $d4hxx$macrostrathyper).styled((0, ($parcel$interopDefault($d4hxx$columnviews2c45a7b5js))));
24
+ function $715dd5fedd79146a$var$DepositionalAge({ unit: unit }) {
25
+ const { xScale: xScale, height: height } = (0, $d4hxx$usePlotArea)();
26
+ const { t_age: t_age, b_age: b_age } = unit;
27
+ const x = xScale(t_age);
28
+ const x1 = xScale(b_age);
29
+ return $715dd5fedd79146a$var$h("rect.depositional-age", {
30
+ x: x,
31
+ width: x1 - x,
32
+ y: 0,
33
+ height: height
34
+ });
35
+ }
36
+ function $715dd5fedd79146a$export$1b3047373cd1c8c7(props) {
37
+ const { note: note, width: width, height: height, color: color, spacing: spacing } = props;
38
+ const { data: data, unit: unit } = note;
39
+ const { geo_unit: geo_unit } = data[0];
40
+ const _color = color;
41
+ const spaceBelow = spacing?.below ?? 100;
42
+ const hideAxisLabels = spaceBelow < 60;
43
+ return $715dd5fedd79146a$var$h("div.detrital-group", {
44
+ className: (0, $d4hxx$classnames)({
45
+ "hide-axis": hideAxisLabels
46
+ })
47
+ }, [
48
+ $715dd5fedd79146a$var$h((0, $d4hxx$DetritalSpectrumPlot), {
49
+ width: width,
50
+ innerHeight: height,
51
+ showAxisLabels: true,
52
+ paddingBottom: 40
53
+ }, [
54
+ $715dd5fedd79146a$var$h.if(unit != null)($715dd5fedd79146a$var$DepositionalAge, {
55
+ unit: unit
56
+ }),
57
+ data.map((d)=>{
58
+ return $715dd5fedd79146a$var$h((0, $d4hxx$DetritalSeries), {
59
+ bandwidth: 20,
60
+ data: d.measure_value,
61
+ color: _color
62
+ });
63
+ })
64
+ ])
65
+ ]);
66
+ }
67
+ const $715dd5fedd79146a$var$matchingUnit = (dz)=>(d)=>d.unit_id == dz[0].unit_id;
68
+ function $715dd5fedd79146a$export$f176396e104db8d5({ columnID: columnID, color: color = "magenta" }) {
69
+ const data = (0, $9f310bd6e88a58bc$export$1b0cf9c36f060135)({
70
+ col_id: columnID
71
+ });
72
+ const units = (0, $d5074f164411387e$export$6fb40844db555b2)();
73
+ const notes = (0, $d4hxx$useMemo)(()=>{
74
+ if (data == null || units == null) return [];
75
+ let dzUnitData = Array.from(data.values());
76
+ dzUnitData.sort((a, b)=>{
77
+ const v1 = units.findIndex($715dd5fedd79146a$var$matchingUnit(a));
78
+ const v2 = units.findIndex($715dd5fedd79146a$var$matchingUnit(b));
79
+ return v1 - v2;
80
+ });
81
+ const data1 = dzUnitData.map((d)=>{
82
+ const unit = units.find($715dd5fedd79146a$var$matchingUnit(d));
83
+ return {
84
+ top_height: unit?.t_age,
85
+ height: unit?.b_age,
86
+ data: d,
87
+ unit: unit,
88
+ id: unit?.unit_id
89
+ };
90
+ });
91
+ return data1.filter((d)=>d.unit != null);
92
+ }, [
93
+ data,
94
+ units
95
+ ]);
96
+ const width = 400;
97
+ const paddingLeft = 40;
98
+ const spectrumWidth = width - paddingLeft;
99
+ const noteComponent = (0, $d4hxx$useMemo)(()=>{
100
+ return (props)=>{
101
+ return $715dd5fedd79146a$var$h($715dd5fedd79146a$export$1b3047373cd1c8c7, {
102
+ width: spectrumWidth,
103
+ height: 40,
104
+ color: color,
105
+ ...props
106
+ });
107
+ };
108
+ }, [
109
+ width,
110
+ color
111
+ ]);
112
+ if (data == null || units == null) return null;
113
+ return $715dd5fedd79146a$var$h("div.dz-spectra", $715dd5fedd79146a$var$h((0, $9e52fe4012c88296$export$fc5babae10f3f77d), {
114
+ width: width,
115
+ paddingLeft: paddingLeft,
116
+ notes: notes,
117
+ noteComponent: noteComponent,
118
+ deltaConnectorAttachment: 20
119
+ }));
120
+ }
121
+
122
+
123
+ export {$715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup, $715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn};
124
+ //# sourceMappingURL=column-views.e20f6a4b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAgB5B,SAAS,sCAAgB,QAAE,IAAI,EAAE;IAC/B,MAAM,UAAE,MAAM,UAAE,MAAM,EAAE,GAAG,CAAA,GAAA,kBAAU;IAErC,MAAM,SAAE,KAAK,SAAE,KAAK,EAAE,GAAG;IACzB,MAAM,IAAI,OAAO;IACjB,MAAM,KAAK,OAAO;IAElB,OAAO,wBAAE,yBAAyB;WAAE;QAAG,OAAO,KAAK;QAAG,GAAG;gBAAG;IAAO;AACrE;AAEA,SAAS,0CAAc,KAAwB;IAC7C,MAAM,QAAE,IAAI,SAAE,KAAK,UAAE,MAAM,SAAE,KAAK,WAAE,OAAO,EAAE,GAAG;IAChD,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;IACvB,MAAM,YAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;IAE5B,MAAM,SAAS;IAEf,MAAM,aAAa,SAAS,SAAS;IACrC,MAAM,iBAAiB,aAAa;IAEpC,OAAO,wBACL,sBACA;QAAE,WAAW,CAAA,GAAA,iBAAS,EAAE;YAAE,aAAa;QAAe;IAAG,GACzD;QACE,wBACE,CAAA,GAAA,2BAAmB,GACnB;mBAAE;YAAO,aAAa;YAAQ,gBAAgB;YAAM,eAAe;QAAG,GACtE;YACE,wBAAE,EAAE,CAAC,QAAQ,MAAM,uCAAiB;sBAAE;YAAK;YAC3C,KAAK,GAAG,CAAC,CAAC;gBACR,OAAO,wBAAE,CAAA,GAAA,qBAAa,GAAG;oBACvB,WAAW;oBACX,MAAM,EAAE,aAAa;oBACrB,OAAO;gBACT;YACF;SACD;KAEJ;AAEL;AAEA,MAAM,qCAAe,CAAC,KAAO,CAAC,IAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO;AAE9D,SAAS,0CAAe,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACrD,MAAM,OAAO,CAAA,GAAA,yCAAsB,EAAE;QAAE,QAAQ;IAAS;IACxD,MAAM,QAAQ,CAAA,GAAA,wCAAiB;IAE/B,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,aAAa,MAAM,IAAI,CAAC,KAAK,MAAM;QACvC,WAAW,IAAI,CAAC,CAAC,GAAG;YAClB,MAAM,KAAK,MAAM,SAAS,CAAC,mCAAa;YACxC,MAAM,KAAK,MAAM,SAAS,CAAC,mCAAa;YACxC,OAAO,KAAK;QACd;QAEA,MAAM,QAAQ,WAAW,GAAG,CAAC,CAAC;YAC5B,MAAM,OAAO,MAAM,IAAI,CAAC,mCAAa;YACrC,OAAO;gBACL,YAAY,MAAM;gBAClB,QAAQ,MAAM;gBACd,MAAM;sBACN;gBACA,IAAI,MAAM;YACZ;QACF;QAEA,OAAO,MAAM,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;IACvC,GAAG;QAAC;QAAM;KAAM;IAEhB,MAAM,QAAQ;IACd,MAAM,cAAc;IAEpB,MAAM,gBAAgB,QAAQ;IAE9B,MAAM,gBAAgB,CAAA,GAAA,cAAM,EAAE;QAC5B,OAAO,CAAC;YACN,OAAO,wBAAE,2CAAe;gBACtB,OAAO;gBACP,QAAQ;uBACR;gBACA,GAAG,KAAK;YACV;QACF;IACF,GAAG;QAAC;QAAO;KAAM;IAEjB,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,kBACA,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;QACA,0BAA0B;IAC5B;AAEJ","sources":["packages/column-views/src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMacrostratUnits } from \"../../data-provider\";\nimport { ColumnNotes } from \"../../notes\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\n\nconst h = hyper.styled(styles);\n\ninterface DetritalItemProps {\n note: {\n data: MeasurementInfo[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\nfunction DepositionalAge({ unit }) {\n const { xScale, height } = usePlotArea();\n\n const { t_age, b_age } = unit;\n const x = xScale(t_age);\n const x1 = xScale(b_age);\n\n return h(\"rect.depositional-age\", { x, width: x1 - x, y: 0, height });\n}\n\nfunction DetritalGroup(props: DetritalItemProps) {\n const { note, width, height, color, spacing } = props;\n const { data, unit } = note;\n const { geo_unit } = data[0];\n\n const _color = color;\n\n const spaceBelow = spacing?.below ?? 100;\n const hideAxisLabels = spaceBelow < 60;\n\n return h(\n \"div.detrital-group\",\n { className: classNames({ \"hide-axis\": hideAxisLabels }) },\n [\n h(\n DetritalSpectrumPlot,\n { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },\n [\n h.if(unit != null)(DepositionalAge, { unit }),\n data.map((d) => {\n return h(DetritalSeries, {\n bandwidth: 20,\n data: d.measure_value,\n color: _color,\n });\n }),\n ],\n ),\n ],\n );\n}\n\nconst matchingUnit = (dz) => (d) => d.unit_id == dz[0].unit_id;\n\nfunction DetritalColumn({ columnID, color = \"magenta\" }) {\n const data = useDetritalMeasurements({ col_id: columnID });\n const units = useMacrostratUnits();\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let dzUnitData = Array.from(data.values());\n dzUnitData.sort((a, b) => {\n const v1 = units.findIndex(matchingUnit(a));\n const v2 = units.findIndex(matchingUnit(b));\n return v1 - v2;\n });\n\n const data1 = dzUnitData.map((d) => {\n const unit = units.find(matchingUnit(d));\n return {\n top_height: unit?.t_age,\n height: unit?.b_age,\n data: d,\n unit,\n id: unit?.unit_id,\n };\n });\n\n return data1.filter((d) => d.unit != null);\n }, [data, units]);\n\n const width = 400;\n const paddingLeft = 40;\n\n const spectrumWidth = width - paddingLeft;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(DetritalGroup, {\n width: spectrumWidth,\n height: 40,\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div.dz-spectra\",\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n deltaConnectorAttachment: 20,\n }),\n );\n}\n\nexport { DetritalColumn, DetritalGroup };\n"],"names":[],"version":3,"file":"column-views.e20f6a4b.js.map"}
@@ -1,4 +1,4 @@
1
- import {MergeSectionsMode as $76e92a964ee11b97$export$e1644389ce074058, prepareColumnUnits as $76e92a964ee11b97$export$be8c5a449df4bde4, preprocessUnits as $a52J6$preprocessUnits} from "./column-views.34636ec7.js";
1
+ import {MergeSectionsMode as $76e92a964ee11b97$export$e1644389ce074058, prepareColumnUnits as $76e92a964ee11b97$export$be8c5a449df4bde4, preprocessUnits as $a52J6$preprocessUnits} from "./column-views.c71c321c.js";
2
2
  import {ColumnAxisType as $a52J6$ColumnAxisType} from "@macrostrat/column-components";
3
3
  import {mergeAgeRanges as $a52J6$mergeAgeRanges} from "@macrostrat/stratigraphy-utils";
4
4
 
@@ -122,4 +122,4 @@ function $2c6a8e6a98a077ae$export$63b33da9b6dd754c(col) {
122
122
 
123
123
 
124
124
  export {$2c6a8e6a98a077ae$export$7f21dc14b8199dc0 as buildCorrelationChartData, $2c6a8e6a98a077ae$export$cc5d9b95e199a6de as findLaterallyExtensiveUnits, $2c6a8e6a98a077ae$export$3e71a3125322d04b as splitStratIntoBoxes, $2c6a8e6a98a077ae$export$63b33da9b6dd754c as columnGeoJSONRecordToColumnIdentifier};
125
- //# sourceMappingURL=column-views.57c4ddf3.js.map
125
+ //# sourceMappingURL=column-views.f08929e2.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/correlation-chart/prepare-data.ts"],"sourcesContent":["import { CompositeStratigraphicScaleInfo } from \"../age-axis\";\nimport { PackageLayoutData } from \"../prepare-units/composite-scale\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { type ColumnGeoJSONRecord, UnitLong } from \"@macrostrat/api-types\";\nimport {\n MergeSectionsMode,\n PrepareColumnOptions,\n prepareColumnUnits,\n preprocessUnits,\n} from \"../prepare-units\";\nimport { mergeAgeRanges } from \"@macrostrat/stratigraphy-utils\";\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\ninterface ColumnData {\n columnID: number;\n units: UnitLong[];\n}\n\nexport interface CorrelationChartSettings\n extends Omit<PrepareColumnOptions, \"axisType\"> {\n targetUnitHeight?: number;\n}\n\nexport interface CorrelationChartData {\n packages: MultiColumnPackageData[];\n scaleInfo: CompositeStratigraphicScaleInfo;\n nColumns: number;\n}\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\nexport function buildCorrelationChartData(\n columns: ColumnData[],\n settings: CorrelationChartSettings,\n): CorrelationChartData {\n console.log(settings);\n const {\n mergeSections = MergeSectionsMode.OVERLAPPING,\n targetUnitHeight,\n ...rest\n } = settings;\n\n const opts: PrepareColumnOptions = {\n axisType: ColumnAxisType.AGE,\n targetUnitHeight,\n ...rest,\n };\n\n if (columns.length == 0) {\n return null;\n }\n\n // Flatten the units array to pretend that all units are in the same column\n const _units = columns.map((d) => d.units).flat();\n\n const columnIDs = columns.map((d) => d.columnID);\n\n const preparedUnits = prepareColumnUnits(_units, opts);\n\n const { sections, totalHeight } = preparedUnits;\n\n const scaleInfo: CompositeStratigraphicScaleInfo = {\n axisType: ColumnAxisType.AGE,\n totalHeight,\n packages: sections.map((d) => d.scaleInfo),\n };\n\n const packages = sections.map((d) => {\n return separateColumns(d, columnIDs);\n });\n\n return { scaleInfo, packages, nColumns: columnIDs.length };\n}\n\ninterface UnitGroup {\n b_age: number;\n t_age: number;\n strat_name_id: number;\n strat_name_long: string;\n units: (UnitLong | null)[];\n}\n\nexport interface UnitGroupBox extends UnitGroup {\n units: UnitLong[];\n startCol: number;\n endCol: number;\n}\n\ninterface ColumnExt {\n columnID: number;\n units: UnitLong[];\n}\n\ninterface MultiColumnPackageData {\n columnData: ColumnExt[];\n bestPixelScale: number;\n b_age: number;\n t_age: number;\n}\n\nexport function findLaterallyExtensiveUnits(\n pkg: MultiColumnPackageData,\n): UnitGroup[] {\n const { columnData, b_age, t_age } = pkg;\n // Group units by strat_name_id\n const unitIndex = new Map<number, Map<number, UnitLong>>();\n for (const column of columnData) {\n const { units } = column;\n for (const unit of units) {\n if (unit.strat_name_id == null) continue;\n if (!unitIndex.has(unit.strat_name_id)) {\n unitIndex.set(unit.strat_name_id, new Map());\n }\n unitIndex.get(unit.strat_name_id).set(column.columnID, unit);\n }\n }\n\n // Prepare grouped units for rendering\n const unitGroups: UnitGroup[] = [];\n for (const [strat_name_id, unitIndex0] of unitIndex) {\n const units = columnData.map((d) => unitIndex0.get(d.columnID) ?? null);\n const filteredUnits = units.filter((d) => d != null);\n const [t_age, b_age] = mergeAgeRanges(\n filteredUnits.map((d) => [d.t_age, d.b_age]),\n );\n if (filteredUnits.length <= 1) continue;\n\n unitGroups.push({\n b_age,\n t_age,\n strat_name_id,\n strat_name_long: filteredUnits[0].strat_name_long,\n units,\n });\n }\n\n return unitGroups;\n}\n\nexport function splitStratIntoBoxes(pkg: UnitGroup): UnitGroupBox[] {\n const { strat_name_long, strat_name_id, units } = pkg;\n const boxes: UnitGroupBox[] = [];\n let currentBox: UnitGroupBox = null;\n for (let i = 0; i < units.length; i++) {\n const unit = units[i];\n if (unit == null) {\n if (currentBox != null) {\n boxes.push(currentBox);\n currentBox = null;\n }\n continue;\n }\n if (currentBox == null) {\n currentBox = {\n startCol: i,\n endCol: i,\n strat_name_id,\n strat_name_long,\n t_age: unit.t_age,\n b_age: unit.b_age,\n units: [],\n };\n } else {\n currentBox.endCol = i;\n }\n currentBox.units.push(unit);\n }\n return boxes;\n}\n\nfunction separateColumns(\n pkg: PackageLayoutData,\n columnIDs: number[],\n): MultiColumnPackageData {\n /** Separate columns by col_id */\n const { units, t_age, b_age } = pkg;\n\n return {\n columnData: columnIDs.map((d) => {\n const u1 = units.filter((unit) => unit.col_id == d);\n u1.sort((a, b) => a.t_age - b.t_age);\n return {\n columnID: d,\n // Ensure that the units correctly show overlap\n units: preprocessUnits(\n {\n ...pkg,\n units: u1,\n },\n ColumnAxisType.AGE,\n ),\n };\n }),\n bestPixelScale: pkg.scaleInfo.pixelScale,\n t_age,\n b_age,\n };\n}\n\nexport function columnGeoJSONRecordToColumnIdentifier(\n col: ColumnGeoJSONRecord,\n): ColumnIdentifier {\n return {\n col_id: col.properties.col_id,\n col_name: col.properties.col_name,\n project_id: col.properties.project_id,\n };\n}\n"],"names":[],"version":3,"file":"column-views.f08929e2.js.map"}
@@ -0,0 +1,37 @@
1
+ import {ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.d2037465.js";
2
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
3
+ import $aB7pQ$macrostrathyper from "@macrostrat/hyper";
4
+ import {SVG as $aB7pQ$SVG, StaticNotesColumn as $aB7pQ$StaticNotesColumn} from "@macrostrat/column-components";
5
+
6
+
7
+
8
+
9
+
10
+ function $9e52fe4012c88296$export$fc5babae10f3f77d({ notes: notes, width: width = 200, noteComponent: noteComponent, paddingLeft: paddingLeft = 60, deltaConnectorAttachment: deltaConnectorAttachment, children: children }) {
11
+ const { totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
12
+ const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
13
+ return (0, $aB7pQ$macrostrathyper)((0, $8c8238faa5cde49c$export$6cc7a9df4edde18), {
14
+ scale: scale,
15
+ totalHeight: totalHeight,
16
+ pixelScale: -1
17
+ }, [
18
+ (0, $aB7pQ$macrostrathyper)((0, $aB7pQ$SVG), {
19
+ width: width,
20
+ height: totalHeight,
21
+ paddingH: 4
22
+ }, [
23
+ (0, $aB7pQ$macrostrathyper)((0, $aB7pQ$StaticNotesColumn), {
24
+ width: width,
25
+ notes: notes,
26
+ noteComponent: noteComponent,
27
+ paddingLeft: paddingLeft,
28
+ deltaConnectorAttachment: deltaConnectorAttachment
29
+ })
30
+ ]),
31
+ children
32
+ ]);
33
+ }
34
+
35
+
36
+ export {$9e52fe4012c88296$export$fc5babae10f3f77d as ColumnNotes};
37
+ //# sourceMappingURL=column-views.f13a1d6e.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;AAiBO,SAAS,0CAAY,SAC1B,KAAK,SACL,QAAQ,oBACR,aAAa,eACb,cAAc,8BACd,wBAAwB,YACxB,QAAQ,EACS;IACjB,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAC9C,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,OAAO,CAAA,GAAA,sBAAA,EACL,CAAA,GAAA,wCAAkB,GAClB;eACE;qBACA;QACA,YAAY;IACd,GACA;QACE,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,UAAE,GAAG;mBAAE;YAAO,QAAQ;YAAa,UAAU;QAAE,GAAG;YAClD,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,wBAAgB,GAAG;uBACnB;uBACA;+BACA;6BACA;0CACA;YACF;SACD;QACD;KACD;AAEL","sources":["packages/column-views/src/notes.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\n\nimport { ColumnNotesProvider } from \"./units\";\n\nimport { StaticNotesColumn, SVG } from \"@macrostrat/column-components\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport type { ReactNode } from \"react\";\n\ninterface ColumnNotesProps {\n notes: any[];\n width?: number;\n noteComponent?: any;\n paddingLeft?: number;\n deltaConnectorAttachment?: number;\n children?: ReactNode;\n}\n\nexport function ColumnNotes({\n notes,\n width = 200,\n noteComponent,\n paddingLeft = 60,\n deltaConnectorAttachment,\n children,\n}: ColumnNotesProps) {\n const { totalHeight } = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n return h(\n ColumnNotesProvider,\n {\n scale,\n totalHeight,\n pixelScale: -1,\n },\n [\n h(SVG, { width, height: totalHeight, paddingH: 4 }, [\n h(StaticNotesColumn, {\n width,\n notes,\n noteComponent,\n paddingLeft,\n deltaConnectorAttachment,\n }),\n ]),\n children,\n ],\n );\n}\n"],"names":[],"version":3,"file":"column-views.f13a1d6e.js.map"}
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/units/types.ts"],"sourcesContent":["export interface IUnit {\n unit_id: number;\n col_id: number;\n section_id: number;\n t_age: number;\n b_age: number;\n [x: string]: any;\n}\n\nexport interface RectBounds {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n"],"names":[],"version":3,"file":"column-views.f9dab157.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/units/types.ts"],"sourcesContent":["export interface IUnit {\n unit_id: number;\n col_id: number;\n section_id: number;\n t_age: number;\n b_age: number;\n [x: string]: any;\n patternID?: string | number;\n color?: string;\n}\n\nexport interface RectBounds {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n"],"names":[],"version":3,"file":"column-views.f9dab157.js.map"}
@@ -0,0 +1,108 @@
1
+ import {getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.39657bbf.js";
2
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
3
+ import {useFossilData as $a3ff7da576c02df0$export$e6af757fa9780077} from "./column-views.3048acc1.js";
4
+ import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.f13a1d6e.js";
5
+ import "./column-views.57636733.css";
6
+ import $6u76g$columnviews1c92b88fjs from "./column-views.1c92b88f.js";
7
+ import $6u76g$macrostrathyper from "@macrostrat/hyper";
8
+ import {useMemo as $6u76g$useMemo} from "react";
9
+
10
+
11
+ function $parcel$interopDefault(a) {
12
+ return a && a.__esModule ? a.default : a;
13
+ }
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ const $b9286605a04210d4$var$h = (0, $6u76g$macrostrathyper).styled((0, ($parcel$interopDefault($6u76g$columnviews1c92b88fjs))));
22
+ function $b9286605a04210d4$var$FossilInfo(props) {
23
+ const { note: note, spacing: spacing } = props;
24
+ const { data: data, unit: unit } = note;
25
+ let d1 = data;
26
+ let tooMany = null;
27
+ if (data.length > 5) {
28
+ const n = data.length - 5;
29
+ d1 = data.slice(0, 5);
30
+ tooMany = $b9286605a04210d4$var$h("li.too-many", `and ${n} more`);
31
+ }
32
+ return $b9286605a04210d4$var$h("ul.fossil-collections", [
33
+ d1.map((d)=>{
34
+ return $b9286605a04210d4$var$h("li.collection", {
35
+ key: d.cltn_id
36
+ }, [
37
+ $b9286605a04210d4$var$h($b9286605a04210d4$var$PBDBCollectionLink, {
38
+ collection: d
39
+ })
40
+ ]);
41
+ }),
42
+ tooMany
43
+ ]);
44
+ }
45
+ function $b9286605a04210d4$var$PBDBCollectionLink({ collection: collection }) {
46
+ return $b9286605a04210d4$var$h("a.link-id", {
47
+ href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${collection.cltn_id}`
48
+ }, collection.cltn_name);
49
+ }
50
+ const $b9286605a04210d4$var$matchingUnit = (dz)=>(d)=>d.unit_id == dz.unit_id;
51
+ function $b9286605a04210d4$export$554267114407ef68({ columnID: columnID, color: color = "magenta" }) {
52
+ const data = (0, $a3ff7da576c02df0$export$e6af757fa9780077)({
53
+ col_id: columnID
54
+ });
55
+ const { axisType: axisType, units: units } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
56
+ const notes = (0, $6u76g$useMemo)(()=>{
57
+ if (data == null || units == null) return [];
58
+ let unitRefData = Array.from(data.values()).map((d)=>{
59
+ return {
60
+ data: d,
61
+ unit: units.find($b9286605a04210d4$var$matchingUnit(d[0]))
62
+ };
63
+ }).filter((d)=>d.unit != null);
64
+ unitRefData.sort((a, b)=>{
65
+ const v1 = units.indexOf(a.unit);
66
+ const v2 = units.indexOf(b.unit);
67
+ return v1 - v2;
68
+ });
69
+ return unitRefData.map((d)=>{
70
+ const { unit: unit, data: data } = d;
71
+ const heightRange = (0, $b6657fba8924a702$export$70e712e2ac0237a)(unit, axisType);
72
+ return {
73
+ top_height: heightRange[1],
74
+ height: heightRange[0],
75
+ data: data,
76
+ unit: unit,
77
+ id: unit.unit_id
78
+ };
79
+ });
80
+ }, [
81
+ data,
82
+ units
83
+ ]);
84
+ const width = 500;
85
+ const paddingLeft = 40;
86
+ const noteComponent = (0, $6u76g$useMemo)(()=>{
87
+ return (props)=>{
88
+ return $b9286605a04210d4$var$h($b9286605a04210d4$var$FossilInfo, {
89
+ color: color,
90
+ ...props
91
+ });
92
+ };
93
+ }, [
94
+ width,
95
+ color
96
+ ]);
97
+ if (data == null || units == null) return null;
98
+ return $b9286605a04210d4$var$h("div.dz-spectra", $b9286605a04210d4$var$h((0, $9e52fe4012c88296$export$fc5babae10f3f77d), {
99
+ width: width,
100
+ paddingLeft: paddingLeft,
101
+ notes: notes,
102
+ noteComponent: noteComponent
103
+ }));
104
+ }
105
+
106
+
107
+ export {$b9286605a04210d4$export$554267114407ef68 as PBDBFossilsColumn};
108
+ //# sourceMappingURL=column-views.fa19cea0.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;AAUA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAgB5B,SAAS,iCAAW,KAAsB;IACxC,MAAM,QAAE,IAAI,WAAE,OAAO,EAAE,GAAG;IAC1B,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;IAEvB,IAAI,KAAK;IAET,IAAI,UAAU;IACd,IAAI,KAAK,MAAM,GAAG,GAAG;QACnB,MAAM,IAAI,KAAK,MAAM,GAAG;QACxB,KAAK,KAAK,KAAK,CAAC,GAAG;QACnB,UAAU,wBAAE,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;IAC5C;IAEA,OAAO,wBAAE,yBAAyB;QAChC,GAAG,GAAG,CAAC,CAAC;YACN,OAAO,wBAAE,iBAAiB;gBAAE,KAAK,EAAE,OAAO;YAAC,GAAG;gBAC5C,wBAAE,0CAAoB;oBAAE,YAAY;gBAAE;aACvC;QACH;QACA;KACD;AACH;AAEA,SAAS,yCAAmB,cAAE,UAAU,EAAkC;IACxE,OAAO,wBACL,aACA;QACE,MAAM,CAAC,mEAAmE,EAAE,WAAW,OAAO,EAAE;IAClG,GACA,WAAW,SAAS;AAExB;AAEA,MAAM,qCAAe,CAAC,KAAO,CAAC,IAAM,EAAE,OAAO,IAAI,GAAG,OAAO;AAEpD,SAAS,0CAAkB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IAC/D,MAAM,OAAO,CAAA,GAAA,yCAAY,EAAE;QAAE,QAAQ;IAAS;IAC9C,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElD,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,cAAc,MAAM,IAAI,CAAC,KAAK,MAAM,IACrC,GAAG,CAAC,CAAC;YACJ,OAAO;gBACL,MAAM;gBACN,MAAM,MAAM,IAAI,CAAC,mCAAa,CAAC,CAAC,EAAE;YACpC;QACF,GACC,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;QAE3B,YAAY,IAAI,CAAC,CAAC,GAAG;YACnB,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,OAAO,KAAK;QACd;QAEA,OAAO,YAAY,GAAG,CAAC,CAAC;YACtB,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;YACvB,MAAM,cAAc,CAAA,GAAA,wCAAiB,EAAE,MAAM;YAE7C,OAAO;gBACL,YAAY,WAAW,CAAC,EAAE;gBAC1B,QAAQ,WAAW,CAAC,EAAE;sBACtB;sBACA;gBACA,IAAI,KAAK,OAAO;YAClB;QACF;IACF,GAAG;QAAC;QAAM;KAAM;IAEhB,MAAM,QAAQ;IACd,MAAM,cAAc;IAEpB,MAAM,gBAAgB,CAAA,GAAA,cAAM,EAAE;QAC5B,OAAO,CAAC;YACN,OAAO,wBAAE,kCAAY;uBACnB;gBACA,GAAG,KAAK;YACV;QACF;IACF,GAAG;QAAC;QAAO;KAAM;IAEjB,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,kBACA,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;IACF;AAEJ","sources":["packages/column-views/src/facets/fossils/index.ts"],"sourcesContent":["import { getUnitHeightRange } from \"../../prepare-units\";\nimport { useMacrostratColumnData } from \"../../data-provider\";\nimport hyper from \"@macrostrat/hyper\";\nimport { PBDBCollection, useFossilData } from \"./provider\";\nimport { useMacrostratUnits } from \"../../data-provider\";\nimport { ColumnNotes } from \"../../notes\";\nimport { useMemo } from \"react\";\nimport type { IUnit } from \"../../units\";\nimport styles from \"./index.module.sass\";\n\nconst h = hyper.styled(styles);\n\ninterface FossilItemProps {\n note: {\n data: PBDBCollection[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\nfunction FossilInfo(props: FossilItemProps) {\n const { note, spacing } = props;\n const { data, unit } = note;\n\n let d1 = data;\n\n let tooMany = null;\n if (data.length > 5) {\n const n = data.length - 5;\n d1 = data.slice(0, 5);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.fossil-collections\", [\n d1.map((d) => {\n return h(\"li.collection\", { key: d.cltn_id }, [\n h(PBDBCollectionLink, { collection: d }),\n ]);\n }),\n tooMany,\n ]);\n}\n\nfunction PBDBCollectionLink({ collection }: { collection: PBDBCollection }) {\n return h(\n \"a.link-id\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${collection.cltn_id}`,\n },\n collection.cltn_name,\n );\n}\n\nconst matchingUnit = (dz) => (d) => d.unit_id == dz.unit_id;\n\nexport function PBDBFossilsColumn({ columnID, color = \"magenta\" }) {\n const data = useFossilData({ col_id: columnID });\n const { axisType, units } = useMacrostratColumnData();\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(matchingUnit(d[0])),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units]);\n\n const width = 500;\n const paddingLeft = 40;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(FossilInfo, {\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div.dz-spectra\",\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n"],"names":[],"version":3,"file":"column-views.fa19cea0.js.map"}
@@ -1,17 +1,17 @@
1
1
  import $bTsJU$columnviews4637f4cejs from "./column-views.4637f4ce.js";
2
- import "./column-views.240ef158.css";
3
- import {UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.8e51206e.js";
4
- import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.343b5aa2.js";
5
- import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.f2e5a72f.js";
6
- import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.ea237aa8.js";
7
- import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.fa6f3292.js";
8
- import {CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.9ced149e.js";
9
- import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.34636ec7.js";
2
+ import "./column-views.217078ab.css";
3
+ import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.2ca34210.js";
4
+ import {UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.1af9761e.js";
5
+ import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.c8cc249a.js";
6
+ import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
7
+ import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.4df0b803.js";
8
+ import {CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.c32d6ad0.js";
9
+ import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.c71c321c.js";
10
10
  import {ColumnAxisType as $bTsJU$ColumnAxisType} from "@macrostrat/column-components";
11
11
  import {hyperStyled as $bTsJU$hyperStyled} from "@macrostrat/hyper";
12
12
  import {useDarkMode as $bTsJU$useDarkMode} from "@macrostrat/ui-components";
13
13
  import $bTsJU$classnames from "classnames";
14
- import {useRef as $bTsJU$useRef} from "react";
14
+ import {useRef as $bTsJU$useRef, useCallback as $bTsJU$useCallback} from "react";
15
15
  import {NonIdealState as $bTsJU$NonIdealState} from "@blueprintjs/core";
16
16
 
17
17
 
@@ -33,7 +33,7 @@ function $parcel$interopDefault(a) {
33
33
 
34
34
  const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviews4637f4cejs))));
35
35
  function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
36
- const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $bTsJU$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, ...rest } = props;
36
+ const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $bTsJU$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, ...rest } = props;
37
37
  const ref = (0, $bTsJU$useRef)();
38
38
  // Selected item position
39
39
  const { sections: sections, units: units, totalHeight: totalHeight } = (0, $76e92a964ee11b97$export$206a0cb85295e433)(rawUnits, {
@@ -53,17 +53,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
53
53
  description: "No sections found in this column.",
54
54
  icon: "warning-sign"
55
55
  }));
56
- return $2118f0266dc7e955$var$h((0, $d5074f164411387e$export$7fec7bd80ff9c10e), {
57
- units: units,
58
- sections: sections,
59
- totalHeight: totalHeight,
60
- axisType: axisType
61
- }, $2118f0266dc7e955$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
62
- columnRef: ref,
63
- onUnitSelected: onUnitSelected,
64
- selectedUnit: selectedUnit,
65
- units: units
66
- }, $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
56
+ let main = $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
67
57
  columnRef: ref,
68
58
  ...rest
69
59
  }, [
@@ -72,24 +62,37 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
72
62
  $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1), {
73
63
  units: units
74
64
  })
75
- ])));
65
+ ]);
66
+ /* By default, unit selection is disabled. However, if any related props are passed,
67
+ we enable it.
68
+ */ let _allowUnitSelection = allowUnitSelection ?? false;
69
+ if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;
70
+ if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
71
+ columnRef: ref,
72
+ onUnitSelected: onUnitSelected,
73
+ selectedUnit: selectedUnit,
74
+ units: units
75
+ }, main);
76
+ return $2118f0266dc7e955$var$h((0, $d5074f164411387e$export$7fec7bd80ff9c10e), {
77
+ units: units,
78
+ sections: sections,
79
+ totalHeight: totalHeight,
80
+ axisType: axisType
81
+ }, main);
76
82
  }
77
83
  function $2118f0266dc7e955$var$ColumnInner(props) {
78
- const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns } = props;
84
+ const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver } = props;
79
85
  const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
80
- const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
81
86
  let width = _width;
82
87
  let columnWidth = _columnWidth;
83
88
  if (columnWidth > width) columnWidth = width;
84
89
  let showLabelColumn = _showLabelColumn;
85
90
  if (columnWidth > width - 10) showLabelColumn = false;
86
- let _showTimescale = showTimescale;
87
- if (timescaleLevels !== null) _showTimescale = true;
91
+ let _showTimescale = showTimescale ?? true;
92
+ if (timescaleLevels != null) _showTimescale = true;
88
93
  _showTimescale = axisType == (0, $bTsJU$ColumnAxisType).AGE && _showTimescale;
89
94
  return $2118f0266dc7e955$var$h($2118f0266dc7e955$export$2194471aa3d52446, {
90
- onClick (evt) {
91
- dispatch?.(null, null, evt);
92
- },
95
+ ...$2118f0266dc7e955$var$useMouseEventHandlers(onMouseOver),
93
96
  className: className
94
97
  }, $2118f0266dc7e955$var$h("div.column", {
95
98
  ref: columnRef
@@ -111,6 +114,40 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
111
114
  children
112
115
  ]));
113
116
  }
117
+ function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
118
+ /** Click event handler */ // Click handler for unit selection
119
+ const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
120
+ const onClick = (0, $bTsJU$useCallback)((evt)=>{
121
+ dispatch?.(null, null, evt);
122
+ }, [
123
+ dispatch
124
+ ]);
125
+ /** Hover event handlers */ const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
126
+ const onMouseOver = (0, $bTsJU$useCallback)((evt)=>{
127
+ const height = scale.invert(evt.clientY - evt.currentTarget.getBoundingClientRect().top);
128
+ _onMouseOver?.(null, height, evt);
129
+ }, [
130
+ scale,
131
+ _onMouseOver
132
+ ]);
133
+ const onMouseOut = (0, $bTsJU$useCallback)(()=>{
134
+ _onMouseOver?.(null, null, null);
135
+ }, [
136
+ _onMouseOver
137
+ ]);
138
+ if (_onMouseOver == null) return {
139
+ onClick: onClick,
140
+ onMouseOver: undefined,
141
+ onMouseMove: undefined,
142
+ onMouseOut: undefined
143
+ };
144
+ return {
145
+ onMouseOver: onMouseOver,
146
+ onMouseMove: onMouseOver,
147
+ onMouseOut: onMouseOut,
148
+ onClick: onClick
149
+ };
150
+ }
114
151
  function $2118f0266dc7e955$export$2194471aa3d52446(props) {
115
152
  const { className: className, ...rest } = props;
116
153
  const darkMode = (0, $bTsJU$useDarkMode)();
@@ -124,4 +161,4 @@ function $2118f0266dc7e955$export$2194471aa3d52446(props) {
124
161
 
125
162
 
126
163
  export {$2118f0266dc7e955$export$816b5d811295e6bc as Column, $2118f0266dc7e955$export$2194471aa3d52446 as ColumnContainer};
127
- //# sourceMappingURL=column-views.f71ec4b4.js.map
164
+ //# sourceMappingURL=column-views.fdb0e9ec.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport { useDarkMode } from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport { RefObject, useRef, HTMLAttributes, useCallback } from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n UnitSelectionProvider,\n UnitComponent,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./units\";\n\nimport { ColumnHeightScaleOptions } from \"./prepare-units/composite-scale\";\nimport { UnitSelectionPopover } from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { CompositeAgeAxis } from \"./age-axis\";\nimport { MergeSectionsMode, usePreparedColumnUnits } from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps extends BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n axisType = ColumnAxisType.AGE,\n t_age,\n b_age,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType,\n t_age,\n b_age,\n mergeSections,\n targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale,\n minSectionHeight,\n collapseSmallUnconformities,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(ColumnInner, { columnRef: ref, ...rest }, [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ]);\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(CompositeAgeAxis),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(\"div.column-container\", {\n className: classNames(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n }),\n ...rest,\n });\n}\n"],"names":[],"version":3,"file":"column-views.fdb0e9ec.js.map"}