@macrostrat/column-views 2.1.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/esm/{column-views.4ab0ec82.js → column-views.073c42da.js} +142 -76
  3. package/dist/esm/column-views.073c42da.js.map +1 -0
  4. package/dist/esm/column-views.079119f4.js +17 -0
  5. package/dist/esm/column-views.079119f4.js.map +1 -0
  6. package/dist/esm/{column-views.0e06c069.js → column-views.0859feb3.js} +52 -23
  7. package/dist/esm/column-views.0859feb3.js.map +1 -0
  8. package/dist/esm/{column-views.d099eaf9.js → column-views.0a8a07f4.js} +3 -3
  9. package/dist/esm/{column-views.d099eaf9.js.map → column-views.0a8a07f4.js.map} +1 -1
  10. package/dist/esm/{column-views.0732894f.js → column-views.0f7f6ee6.js} +2 -2
  11. package/dist/esm/{column-views.0732894f.js.map → column-views.0f7f6ee6.js.map} +1 -1
  12. package/dist/esm/{column-views.57636733.css → column-views.1151416d.css} +5 -5
  13. package/dist/esm/column-views.1151416d.css.map +1 -0
  14. package/dist/esm/{column-views.53f4160e.js → column-views.1b644998.js} +3 -3
  15. package/dist/esm/{column-views.53f4160e.js.map → column-views.1b644998.js.map} +1 -1
  16. package/dist/esm/{column-views.686d21ad.js → column-views.22ec902b.js} +4 -1
  17. package/dist/esm/column-views.22ec902b.js.map +1 -0
  18. package/dist/esm/{column-views.3b637517.js → column-views.285cbb65.js} +40 -20
  19. package/dist/esm/column-views.285cbb65.js.map +1 -0
  20. package/dist/esm/column-views.2d602a57.js +37 -0
  21. package/dist/esm/column-views.2d602a57.js.map +1 -0
  22. package/dist/esm/{column-views.b17f793f.css → column-views.321af3ae.css} +7 -1
  23. package/dist/esm/{column-views.686d21ad.js.map → column-views.321af3ae.css.map} +1 -1
  24. package/dist/esm/column-views.3a7179c4.js +137 -0
  25. package/dist/esm/column-views.3a7179c4.js.map +1 -0
  26. package/dist/esm/{column-views.49adc09e.js → column-views.3e1b8c7d.js} +2 -2
  27. package/dist/esm/{column-views.49adc09e.js.map → column-views.3e1b8c7d.js.map} +1 -1
  28. package/dist/esm/{column-views.a23b2c92.js → column-views.3f528c5c.js} +50 -22
  29. package/dist/esm/column-views.3f528c5c.js.map +1 -0
  30. package/dist/esm/{column-views.1e055ed5.js → column-views.4fd4ec92.js} +17 -3
  31. package/dist/esm/column-views.4fd4ec92.js.map +1 -0
  32. package/dist/esm/{column-views.6ca980ae.js → column-views.53186d53.js} +2 -2
  33. package/dist/esm/{column-views.6ca980ae.js.map → column-views.53186d53.js.map} +1 -1
  34. package/dist/esm/{column-views.39657bbf.js → column-views.54f8b909.js} +7 -2
  35. package/dist/esm/column-views.54f8b909.js.map +1 -0
  36. package/dist/esm/{column-views.b72918ce.css → column-views.562db43a.css} +10 -2
  37. package/dist/esm/column-views.562db43a.css.map +1 -0
  38. package/dist/esm/{column-views.9e1c82fe.js → column-views.58b891df.js} +2 -2
  39. package/dist/esm/{column-views.9e1c82fe.js.map → column-views.58b891df.js.map} +1 -1
  40. package/dist/esm/{column-views.a2cf8f33.js → column-views.5a49cd68.js} +8 -38
  41. package/dist/esm/column-views.5a49cd68.js.map +1 -0
  42. package/dist/esm/{column-views.2e0ff311.js → column-views.5d969bc5.js} +6 -58
  43. package/dist/esm/column-views.5d969bc5.js.map +1 -0
  44. package/dist/esm/{column-views.43fb819d.js → column-views.63b7e5aa.js} +3 -3
  45. package/dist/esm/{column-views.43fb819d.js.map → column-views.63b7e5aa.js.map} +1 -1
  46. package/dist/esm/column-views.6698b95a.js +108 -0
  47. package/dist/esm/column-views.6698b95a.js.map +1 -0
  48. package/dist/esm/column-views.6c644353.js +184 -0
  49. package/dist/esm/column-views.6c644353.js.map +1 -0
  50. package/dist/esm/column-views.6e7082db.js +16 -0
  51. package/dist/esm/column-views.6e7082db.js.map +1 -0
  52. package/dist/esm/column-views.70164236.js +206 -0
  53. package/dist/esm/column-views.70164236.js.map +1 -0
  54. package/dist/esm/{column-views.34a1ac4f.js → column-views.73b8ff16.js} +20 -22
  55. package/dist/esm/column-views.73b8ff16.js.map +1 -0
  56. package/dist/esm/{column-views.9771145a.js → column-views.77561197.js} +91 -55
  57. package/dist/esm/column-views.77561197.js.map +1 -0
  58. package/dist/esm/{column-views.572b70fd.js → column-views.83395185.js} +3 -3
  59. package/dist/esm/{column-views.572b70fd.js.map → column-views.83395185.js.map} +1 -1
  60. package/dist/esm/{column-views.6dc251d3.js → column-views.86a51ce7.js} +2 -2
  61. package/dist/esm/{column-views.6dc251d3.js.map → column-views.86a51ce7.js.map} +1 -1
  62. package/dist/esm/{column-views.f08929e2.js → column-views.88d63dd0.js} +5 -3
  63. package/dist/esm/column-views.88d63dd0.js.map +1 -0
  64. package/dist/esm/{column-views.3f246167.js → column-views.8c296309.js} +5 -5
  65. package/dist/esm/column-views.8c296309.js.map +1 -0
  66. package/dist/esm/{column-views.7d47a72a.js → column-views.8d24b179.js} +3 -3
  67. package/dist/esm/{column-views.7d47a72a.js.map → column-views.8d24b179.js.map} +1 -1
  68. package/dist/esm/{column-views.3d001ab8.js → column-views.986e7566.js} +7 -7
  69. package/dist/esm/{column-views.3d001ab8.js.map → column-views.986e7566.js.map} +1 -1
  70. package/dist/esm/{column-views.86619334.js → column-views.9ddbe7df.js} +2 -2
  71. package/dist/esm/{column-views.86619334.js.map → column-views.9ddbe7df.js.map} +1 -1
  72. package/dist/esm/{column-views.abe90091.js → column-views.ae7c0a2b.js} +31 -60
  73. package/dist/esm/column-views.ae7c0a2b.js.map +1 -0
  74. package/dist/esm/{column-views.9892f825.js → column-views.aecf25bc.js} +75 -42
  75. package/dist/esm/column-views.aecf25bc.js.map +1 -0
  76. package/dist/esm/column-views.b7016f82.css +54 -0
  77. package/dist/esm/column-views.b7016f82.css.map +1 -0
  78. package/dist/esm/{column-views.a5c1bbf0.js → column-views.ba0381cc.js} +2 -2
  79. package/dist/esm/{column-views.a5c1bbf0.js.map → column-views.ba0381cc.js.map} +1 -1
  80. package/dist/esm/{column-views.ff031876.js → column-views.c518ef14.js} +9 -4
  81. package/dist/esm/column-views.c518ef14.js.map +1 -0
  82. package/dist/esm/{column-views.f7523c1d.js → column-views.c92a359e.js} +2 -2
  83. package/dist/esm/{column-views.f7523c1d.js.map → column-views.c92a359e.js.map} +1 -1
  84. package/dist/esm/{column-views.cdadc5c2.js → column-views.cc733361.js} +7 -1
  85. package/dist/esm/column-views.cc733361.js.map +1 -0
  86. package/dist/esm/{column-views.4d22c21c.js → column-views.d15d8655.js} +22 -4
  87. package/dist/esm/column-views.d15d8655.js.map +1 -0
  88. package/dist/esm/{column-views.5e2dc19d.js → column-views.d261b02d.js} +3 -3
  89. package/dist/esm/{column-views.5e2dc19d.js.map → column-views.d261b02d.js.map} +1 -1
  90. package/dist/esm/{column-views.323cad41.js → column-views.d406665d.js} +5 -5
  91. package/dist/esm/{column-views.323cad41.js.map → column-views.d406665d.js.map} +1 -1
  92. package/dist/esm/{column-views.7715e35e.js → column-views.d69c4a9f.js} +3 -3
  93. package/dist/esm/{column-views.7715e35e.js.map → column-views.d69c4a9f.js.map} +1 -1
  94. package/dist/esm/{column-views.07db2ab1.js → column-views.d9c6b527.js} +15 -12
  95. package/dist/esm/column-views.d9c6b527.js.map +1 -0
  96. package/dist/esm/{column-views.b12a6374.css → column-views.e33ac5c9.css} +30 -9
  97. package/dist/esm/column-views.e33ac5c9.css.map +1 -0
  98. package/dist/esm/column-views.e3bf5384.js +15 -0
  99. package/dist/esm/{column-views.6d5e3098.js.map → column-views.e3bf5384.js.map} +1 -1
  100. package/dist/esm/{column-views.a8926321.js → column-views.e4c26185.js} +2 -2
  101. package/dist/esm/{column-views.a8926321.js.map → column-views.e4c26185.js.map} +1 -1
  102. package/dist/esm/column-views.e84bd756.js +92 -0
  103. package/dist/esm/column-views.e84bd756.js.map +1 -0
  104. package/dist/esm/column-views.ea4ebbb7.js +31 -0
  105. package/dist/esm/column-views.ea4ebbb7.js.map +1 -0
  106. package/dist/esm/column-views.ed05e233.js +13 -0
  107. package/dist/esm/{column-views.3729c372.js.map → column-views.ed05e233.js.map} +1 -1
  108. package/dist/esm/{column-views.64a84c43.js → column-views.f2fd0e4a.js} +10 -2
  109. package/dist/esm/column-views.f2fd0e4a.js.map +1 -0
  110. package/dist/esm/{column-views.103b1cb0.js → column-views.f46a0b36.js} +2 -2
  111. package/dist/esm/{column-views.103b1cb0.js.map → column-views.f46a0b36.js.map} +1 -1
  112. package/dist/esm/{column-views.d48cb0d8.js → column-views.fcf25ec6.js} +7 -1
  113. package/dist/esm/column-views.fcf25ec6.js.map +1 -0
  114. package/dist/esm/index.d.ts +235 -397
  115. package/dist/esm/index.d.ts.map +1 -1
  116. package/dist/esm/index.js +12 -12
  117. package/dist/node/{column-views.36094762.js → column-views.01debc76.js} +2 -2
  118. package/dist/node/{column-views.36094762.js.map → column-views.01debc76.js.map} +1 -1
  119. package/dist/node/{column-views.31f57130.js → column-views.040499c9.js} +2 -2
  120. package/dist/node/{column-views.31f57130.js.map → column-views.040499c9.js.map} +1 -1
  121. package/dist/node/{column-views.50034105.js → column-views.07ff1fdf.js} +2 -2
  122. package/dist/node/{column-views.50034105.js.map → column-views.07ff1fdf.js.map} +1 -1
  123. package/dist/node/{column-views.3a55ecd7.css → column-views.0840b115.css} +2 -2
  124. package/dist/node/column-views.0840b115.css.map +1 -0
  125. package/dist/node/column-views.0b3a384e.js +2 -0
  126. package/dist/node/column-views.0b3a384e.js.map +1 -0
  127. package/dist/node/column-views.0bd15ee4.js +2 -0
  128. package/dist/node/column-views.0bd15ee4.js.map +1 -0
  129. package/dist/node/column-views.105f6ad2.js +2 -0
  130. package/dist/node/column-views.105f6ad2.js.map +1 -0
  131. package/dist/node/column-views.1261be59.js +2 -0
  132. package/dist/node/column-views.1261be59.js.map +1 -0
  133. package/dist/node/{column-views.4381c411.js → column-views.13e69859.js} +2 -2
  134. package/dist/node/{column-views.4381c411.js.map → column-views.13e69859.js.map} +1 -1
  135. package/dist/node/column-views.16f336ee.js +2 -0
  136. package/dist/node/column-views.16f336ee.js.map +1 -0
  137. package/dist/node/{column-views.c18d5bf5.js → column-views.1a7f8afd.js} +2 -2
  138. package/dist/node/{column-views.c18d5bf5.js.map → column-views.1a7f8afd.js.map} +1 -1
  139. package/dist/node/column-views.29eb25bd.css +2 -0
  140. package/dist/node/column-views.29eb25bd.css.map +1 -0
  141. package/dist/node/column-views.2bd97c2e.js +2 -0
  142. package/dist/node/column-views.2bd97c2e.js.map +1 -0
  143. package/dist/node/column-views.3b37363f.js +2 -0
  144. package/dist/node/column-views.3b37363f.js.map +1 -0
  145. package/dist/node/column-views.45296250.js +2 -0
  146. package/dist/node/column-views.45296250.js.map +1 -0
  147. package/dist/node/{column-views.0cbd4a3f.js → column-views.48a3cfa3.js} +2 -2
  148. package/dist/node/{column-views.0cbd4a3f.js.map → column-views.48a3cfa3.js.map} +1 -1
  149. package/dist/node/{column-views.42db0bb8.js → column-views.492c2c72.js} +2 -2
  150. package/dist/node/{column-views.42db0bb8.js.map → column-views.492c2c72.js.map} +1 -1
  151. package/dist/node/column-views.50a992d3.css +2 -0
  152. package/dist/node/column-views.50a992d3.css.map +1 -0
  153. package/dist/node/column-views.573cb29d.js +2 -0
  154. package/dist/node/column-views.573cb29d.js.map +1 -0
  155. package/dist/node/column-views.576e3c5a.js +2 -0
  156. package/dist/node/column-views.576e3c5a.js.map +1 -0
  157. package/dist/node/column-views.5f3b0b04.js +2 -0
  158. package/dist/node/column-views.5f3b0b04.js.map +1 -0
  159. package/dist/node/column-views.6fd5a922.js +2 -0
  160. package/dist/node/column-views.6fd5a922.js.map +1 -0
  161. package/dist/node/column-views.7150ba18.js +2 -0
  162. package/dist/node/column-views.7150ba18.js.map +1 -0
  163. package/dist/node/column-views.728c8dfc.js +2 -0
  164. package/dist/node/column-views.728c8dfc.js.map +1 -0
  165. package/dist/node/column-views.7425d37b.js +2 -0
  166. package/dist/node/column-views.7425d37b.js.map +1 -0
  167. package/dist/node/{column-views.2e4e357d.js → column-views.75582658.js} +2 -2
  168. package/dist/node/{column-views.2e4e357d.js.map → column-views.75582658.js.map} +1 -1
  169. package/dist/node/column-views.77ace3a2.js +2 -0
  170. package/dist/node/column-views.77ace3a2.js.map +1 -0
  171. package/dist/node/column-views.7f9c7448.js +2 -0
  172. package/dist/node/column-views.7f9c7448.js.map +1 -0
  173. package/dist/node/{column-views.a2274834.js → column-views.81294fb7.js} +2 -2
  174. package/dist/node/{column-views.a2274834.js.map → column-views.81294fb7.js.map} +1 -1
  175. package/dist/node/column-views.827a9894.js +2 -0
  176. package/dist/node/column-views.827a9894.js.map +1 -0
  177. package/dist/node/column-views.87b1439e.js +2 -0
  178. package/dist/node/column-views.87b1439e.js.map +1 -0
  179. package/dist/node/{column-views.e4f18ff7.js → column-views.9dda582d.js} +2 -2
  180. package/dist/node/{column-views.e4f18ff7.js.map → column-views.9dda582d.js.map} +1 -1
  181. package/dist/node/column-views.9e155f20.js +2 -0
  182. package/dist/node/column-views.9e155f20.js.map +1 -0
  183. package/dist/node/column-views.a16cd1f2.js +2 -0
  184. package/dist/node/column-views.a16cd1f2.js.map +1 -0
  185. package/dist/node/{column-views.adf9e5b3.js → column-views.a34732e7.js} +2 -2
  186. package/dist/node/{column-views.adf9e5b3.js.map → column-views.a34732e7.js.map} +1 -1
  187. package/dist/node/{column-views.f17b6142.js → column-views.a396d3ac.js} +2 -2
  188. package/dist/node/{column-views.f17b6142.js.map → column-views.a396d3ac.js.map} +1 -1
  189. package/dist/node/column-views.aae09aca.js +2 -0
  190. package/dist/node/column-views.aae09aca.js.map +1 -0
  191. package/dist/node/{column-views.db5d74bd.js → column-views.ac1b58b7.js} +2 -2
  192. package/dist/node/{column-views.db5d74bd.js.map → column-views.ac1b58b7.js.map} +1 -1
  193. package/dist/node/column-views.aef76eee.js +2 -0
  194. package/dist/node/column-views.aef76eee.js.map +1 -0
  195. package/dist/node/column-views.b64cd0ea.js +2 -0
  196. package/dist/node/column-views.b64cd0ea.js.map +1 -0
  197. package/dist/node/column-views.b6cd4360.js +2 -0
  198. package/dist/node/column-views.b6cd4360.js.map +1 -0
  199. package/dist/node/column-views.c0be1157.js +2 -0
  200. package/dist/node/column-views.c0be1157.js.map +1 -0
  201. package/dist/node/column-views.c29e9eb8.js +2 -0
  202. package/dist/node/column-views.c29e9eb8.js.map +1 -0
  203. package/dist/node/column-views.c8df6435.js +2 -0
  204. package/dist/node/column-views.c8df6435.js.map +1 -0
  205. package/dist/node/column-views.cd2a5c85.js +2 -0
  206. package/dist/node/column-views.cd2a5c85.js.map +1 -0
  207. package/dist/node/{column-views.3d220e0c.js → column-views.cd77a1d8.js} +2 -2
  208. package/dist/node/{column-views.3d220e0c.js.map → column-views.cd77a1d8.js.map} +1 -1
  209. package/dist/node/column-views.cd7b223b.css +2 -0
  210. package/dist/node/column-views.cd7b223b.css.map +1 -0
  211. package/dist/node/column-views.cf2a78c1.js +2 -0
  212. package/dist/node/column-views.cf2a78c1.js.map +1 -0
  213. package/dist/node/{column-views.c7f6fc0a.js → column-views.d529d3aa.js} +2 -2
  214. package/dist/node/{column-views.c7f6fc0a.js.map → column-views.d529d3aa.js.map} +1 -1
  215. package/dist/node/{column-views.7010a03b.js → column-views.dd972321.js} +2 -2
  216. package/dist/node/{column-views.7010a03b.js.map → column-views.dd972321.js.map} +1 -1
  217. package/dist/node/column-views.e065152e.js +2 -0
  218. package/dist/node/column-views.e065152e.js.map +1 -0
  219. package/dist/node/{column-views.6c7a40e0.js → column-views.e08f8715.js} +2 -2
  220. package/dist/node/{column-views.6c7a40e0.js.map → column-views.e08f8715.js.map} +1 -1
  221. package/dist/node/{column-views.507635e2.js → column-views.e0d9865e.js} +2 -2
  222. package/dist/node/column-views.e0d9865e.js.map +1 -0
  223. package/dist/node/column-views.e2562224.js +2 -0
  224. package/dist/node/column-views.e2562224.js.map +1 -0
  225. package/dist/node/column-views.e803e4ae.css +2 -0
  226. package/dist/node/column-views.e803e4ae.css.map +1 -0
  227. package/dist/node/column-views.edb4ba54.js +2 -0
  228. package/dist/node/column-views.edb4ba54.js.map +1 -0
  229. package/dist/node/index.js +1 -1
  230. package/dist/node/index.js.map +1 -1
  231. package/package.json +14 -14
  232. package/src/age-axis.module.sass +4 -2
  233. package/src/age-axis.ts +49 -15
  234. package/src/age-model-overlay.ts +22 -1
  235. package/src/column.module.sass +32 -9
  236. package/src/column.ts +91 -19
  237. package/src/correlation-chart/main.ts +10 -2
  238. package/src/correlation-chart/prepare-data.ts +7 -4
  239. package/src/correlation-chart/stories/correlation-chart.stories.ts +26 -1
  240. package/src/data-provider/base.ts +33 -25
  241. package/src/data-provider/fetch.ts +10 -3
  242. package/src/data-provider/store.ts +16 -10
  243. package/src/facets/base-sample-column.module.sass +14 -0
  244. package/src/facets/base-sample-column.ts +114 -0
  245. package/src/facets/detrital-zircon/index.ts +31 -63
  246. package/src/facets/fossils/index.module.sass +43 -13
  247. package/src/facets/fossils/index.ts +246 -80
  248. package/src/facets/fossils/provider.ts +121 -25
  249. package/src/facets/index.ts +2 -0
  250. package/src/facets/measurements/index.ts +38 -0
  251. package/src/facets/measurements/provider.ts +80 -0
  252. package/src/prepare-units/composite-scale.ts +183 -155
  253. package/src/prepare-units/dynamic-scales.ts +298 -0
  254. package/src/prepare-units/helpers.ts +99 -87
  255. package/src/prepare-units/index.ts +77 -51
  256. package/src/prepare-units/types.ts +138 -0
  257. package/src/prepare-units/utils.ts +29 -1
  258. package/src/section.ts +46 -9
  259. package/src/unit-details/panel.module.sass +8 -1
  260. package/src/unit-details/panel.ts +123 -53
  261. package/src/unit-details/popover.ts +5 -0
  262. package/src/units/boxes.ts +2 -69
  263. package/src/units/composite.ts +3 -49
  264. package/src/units/selection.ts +21 -7
  265. package/dist/esm/column-views.07db2ab1.js.map +0 -1
  266. package/dist/esm/column-views.0e06c069.js.map +0 -1
  267. package/dist/esm/column-views.1c92b88f.js +0 -16
  268. package/dist/esm/column-views.1c92b88f.js.map +0 -1
  269. package/dist/esm/column-views.1e055ed5.js.map +0 -1
  270. package/dist/esm/column-views.2e0ff311.js.map +0 -1
  271. package/dist/esm/column-views.3048acc1.js +0 -66
  272. package/dist/esm/column-views.3048acc1.js.map +0 -1
  273. package/dist/esm/column-views.34a1ac4f.js.map +0 -1
  274. package/dist/esm/column-views.3729c372.js +0 -13
  275. package/dist/esm/column-views.39657bbf.js.map +0 -1
  276. package/dist/esm/column-views.3b637517.js.map +0 -1
  277. package/dist/esm/column-views.3f246167.js.map +0 -1
  278. package/dist/esm/column-views.4ab0ec82.js.map +0 -1
  279. package/dist/esm/column-views.4d22c21c.js.map +0 -1
  280. package/dist/esm/column-views.57636733.css.map +0 -1
  281. package/dist/esm/column-views.60dc6bfc.js +0 -108
  282. package/dist/esm/column-views.60dc6bfc.js.map +0 -1
  283. package/dist/esm/column-views.64a84c43.js.map +0 -1
  284. package/dist/esm/column-views.6d5e3098.js +0 -11
  285. package/dist/esm/column-views.9771145a.js.map +0 -1
  286. package/dist/esm/column-views.9892f825.js.map +0 -1
  287. package/dist/esm/column-views.a23b2c92.js.map +0 -1
  288. package/dist/esm/column-views.a2cf8f33.js.map +0 -1
  289. package/dist/esm/column-views.abe90091.js.map +0 -1
  290. package/dist/esm/column-views.b12a6374.css.map +0 -1
  291. package/dist/esm/column-views.b17f793f.css.map +0 -1
  292. package/dist/esm/column-views.b72918ce.css.map +0 -1
  293. package/dist/esm/column-views.c71c321c.js +0 -104
  294. package/dist/esm/column-views.c71c321c.js.map +0 -1
  295. package/dist/esm/column-views.cdadc5c2.js.map +0 -1
  296. package/dist/esm/column-views.d48cb0d8.js.map +0 -1
  297. package/dist/esm/column-views.f08929e2.js.map +0 -1
  298. package/dist/esm/column-views.ff031876.js.map +0 -1
  299. package/dist/node/column-views.0bb1ec93.js +0 -2
  300. package/dist/node/column-views.0bb1ec93.js.map +0 -1
  301. package/dist/node/column-views.13c4ea85.js +0 -2
  302. package/dist/node/column-views.13c4ea85.js.map +0 -1
  303. package/dist/node/column-views.1a0b56fc.js +0 -2
  304. package/dist/node/column-views.1a0b56fc.js.map +0 -1
  305. package/dist/node/column-views.226d0bdb.js +0 -2
  306. package/dist/node/column-views.226d0bdb.js.map +0 -1
  307. package/dist/node/column-views.2926f656.css +0 -2
  308. package/dist/node/column-views.2926f656.css.map +0 -1
  309. package/dist/node/column-views.2ab1c2f8.js +0 -2
  310. package/dist/node/column-views.2ab1c2f8.js.map +0 -1
  311. package/dist/node/column-views.3345cd7a.js +0 -2
  312. package/dist/node/column-views.3345cd7a.js.map +0 -1
  313. package/dist/node/column-views.33752461.js +0 -2
  314. package/dist/node/column-views.33752461.js.map +0 -1
  315. package/dist/node/column-views.372bbee2.js +0 -2
  316. package/dist/node/column-views.372bbee2.js.map +0 -1
  317. package/dist/node/column-views.38357d4a.js +0 -2
  318. package/dist/node/column-views.38357d4a.js.map +0 -1
  319. package/dist/node/column-views.3a55ecd7.css.map +0 -1
  320. package/dist/node/column-views.3eeac38d.js +0 -2
  321. package/dist/node/column-views.3eeac38d.js.map +0 -1
  322. package/dist/node/column-views.3f032518.js +0 -2
  323. package/dist/node/column-views.3f032518.js.map +0 -1
  324. package/dist/node/column-views.45168c80.js +0 -2
  325. package/dist/node/column-views.45168c80.js.map +0 -1
  326. package/dist/node/column-views.507635e2.js.map +0 -1
  327. package/dist/node/column-views.556e8f69.js +0 -2
  328. package/dist/node/column-views.556e8f69.js.map +0 -1
  329. package/dist/node/column-views.5f05b73f.js +0 -2
  330. package/dist/node/column-views.5f05b73f.js.map +0 -1
  331. package/dist/node/column-views.6ae7bb69.js +0 -2
  332. package/dist/node/column-views.6ae7bb69.js.map +0 -1
  333. package/dist/node/column-views.755f726e.js +0 -2
  334. package/dist/node/column-views.755f726e.js.map +0 -1
  335. package/dist/node/column-views.75b0a8f8.js +0 -2
  336. package/dist/node/column-views.75b0a8f8.js.map +0 -1
  337. package/dist/node/column-views.78d3f3c5.js +0 -2
  338. package/dist/node/column-views.78d3f3c5.js.map +0 -1
  339. package/dist/node/column-views.8cfed88b.js +0 -2
  340. package/dist/node/column-views.8cfed88b.js.map +0 -1
  341. package/dist/node/column-views.99fb74c0.js +0 -2
  342. package/dist/node/column-views.99fb74c0.js.map +0 -1
  343. package/dist/node/column-views.a501cea0.js +0 -2
  344. package/dist/node/column-views.a501cea0.js.map +0 -1
  345. package/dist/node/column-views.af275c48.js +0 -2
  346. package/dist/node/column-views.af275c48.js.map +0 -1
  347. package/dist/node/column-views.afbf351c.js +0 -2
  348. package/dist/node/column-views.afbf351c.js.map +0 -1
  349. package/dist/node/column-views.b180e8c9.js +0 -2
  350. package/dist/node/column-views.b180e8c9.js.map +0 -1
  351. package/dist/node/column-views.cd468adb.css +0 -2
  352. package/dist/node/column-views.cd468adb.css.map +0 -1
  353. package/dist/node/column-views.d6708353.js +0 -2
  354. package/dist/node/column-views.d6708353.js.map +0 -1
  355. package/dist/node/column-views.e1a43131.css +0 -2
  356. package/dist/node/column-views.e1a43131.css.map +0 -1
  357. package/dist/node/column-views.e9515ec1.js +0 -2
  358. package/dist/node/column-views.e9515ec1.js.map +0 -1
  359. package/dist/node/column-views.f15a6ed4.js +0 -2
  360. package/dist/node/column-views.f15a6ed4.js.map +0 -1
  361. package/dist/node/column-views.fc05616e.js +0 -2
  362. package/dist/node/column-views.fc05616e.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
2
2
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
3
- import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.a8926321.js";
4
- import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.103b1cb0.js";
3
+ import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.e4c26185.js";
4
+ import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.f46a0b36.js";
5
5
  import {useMapStyleOperator as $lRXWn$useMapStyleOperator} from "@macrostrat/mapbox-react";
6
6
  import $lRXWn$macrostrathyper from "@macrostrat/hyper";
7
7
  import {useMemo as $lRXWn$useMemo, useRef as $lRXWn$useRef} from "react";
@@ -165,4 +165,4 @@ function $9d5d216fa2057b5b$var$ColumnsLayer({ enabled: enabled = true }) {
165
165
 
166
166
 
167
167
  export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap};
168
- //# sourceMappingURL=column-views.7d47a72a.js.map
168
+ //# sourceMappingURL=column-views.8d24b179.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.7d47a72a.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.8d24b179.js.map"}
@@ -1,11 +1,11 @@
1
- import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.7715e35e.js";
2
- import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.2e0ff311.js";
1
+ import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.d69c4a9f.js";
2
+ import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5d969bc5.js";
3
3
  import {getMixedUnitColor as $6698edd2a743bf07$export$175d3e927f1a9860} from "./column-views.9b77388d.js";
4
- import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, compositeScale as $8c8238faa5cde49c$export$723b790ebe9cdff8, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.a2cf8f33.js";
5
- import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.34a1ac4f.js";
4
+ import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.5a49cd68.js";
5
+ import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.73b8ff16.js";
6
6
  import {resolveID as $d3e69bd163d41f63$export$7be7d732f3de9464} from "./column-views.006d5180.js";
7
7
  import "./column-views.f9dab157.js";
8
- import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5, useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./column-views.64a84c43.js";
8
+ import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5, useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./column-views.f2fd0e4a.js";
9
9
  import $7H3th$macrostrathyper from "@macrostrat/hyper";
10
10
  import {LithologyColumn as $7H3th$LithologyColumn, useColumnLayout as $7H3th$useColumnLayout, useGeologicPattern as $7H3th$useGeologicPattern} from "@macrostrat/column-components";
11
11
  import {useInDarkMode as $7H3th$useInDarkMode} from "@macrostrat/ui-components";
@@ -147,5 +147,5 @@ function $4c8184c4a7317749$var$getPatternID(liths, lithMap) {
147
147
  }
148
148
 
149
149
 
150
- export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$723b790ebe9cdff8 as compositeScale, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider, $4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
151
- //# sourceMappingURL=column-views.3d001ab8.js.map
150
+ export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider, $4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
151
+ //# sourceMappingURL=column-views.986e7566.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/units/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./selection\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":[],"version":3,"file":"column-views.3d001ab8.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/units/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./selection\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":[],"version":3,"file":"column-views.986e7566.js.map"}
@@ -1,4 +1,4 @@
1
- import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748} from "./column-views.5e2dc19d.js";
1
+ import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748} from "./column-views.d261b02d.js";
2
2
  import {MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, MeasurementDataProvider as $5dbb619f2c7bef60$export$5f01d5b342a89841, useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.a7c5ae16.js";
3
3
 
4
4
 
@@ -6,4 +6,4 @@ import {MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, Mea
6
6
 
7
7
 
8
8
  export {$d71d096cfe00860f$export$c69bd0285aa5d775 as IsotopesDataset, $d71d096cfe00860f$export$5d8aa8022c284748 as IsotopesColumn, $5dbb619f2c7bef60$export$c644ef985ce7a4c4 as MeasurementDataContext, $5dbb619f2c7bef60$export$5f01d5b342a89841 as MeasurementDataProvider, $5dbb619f2c7bef60$export$8a0335fd9ff72150 as useMeasurementData};
9
- //# sourceMappingURL=column-views.86619334.js.map
9
+ //# sourceMappingURL=column-views.9ddbe7df.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\n"],"names":[],"version":3,"file":"column-views.86619334.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\n"],"names":[],"version":3,"file":"column-views.9ddbe7df.js.map"}
@@ -1,8 +1,7 @@
1
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.572b70fd.js";
4
2
  import $d4hxx$columnviews2c45a7b5js from "./column-views.2c45a7b5.js";
5
3
  import "./column-views.403a7b48.css";
4
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d} from "./column-views.e84bd756.js";
6
5
  import {usePlotArea as $d4hxx$usePlotArea, DetritalSpectrumPlot as $d4hxx$DetritalSpectrumPlot, DetritalSeries as $d4hxx$DetritalSeries} from "@macrostrat/data-components";
7
6
  import $d4hxx$macrostrathyper from "@macrostrat/hyper";
8
7
  import {useMemo as $d4hxx$useMemo} from "react";
@@ -19,8 +18,35 @@ function $parcel$interopDefault(a) {
19
18
 
20
19
 
21
20
 
22
-
23
21
  const $715dd5fedd79146a$var$h = (0, $d4hxx$macrostrathyper).styled((0, ($parcel$interopDefault($d4hxx$columnviews2c45a7b5js))));
22
+ const $715dd5fedd79146a$var$matchingUnit = (dz)=>(d)=>d.unit_id == dz[0].unit_id;
23
+ function $715dd5fedd79146a$export$f176396e104db8d5({ columnID: columnID, color: color = "magenta" }) {
24
+ const data = (0, $9f310bd6e88a58bc$export$1b0cf9c36f060135)({
25
+ col_id: columnID
26
+ });
27
+ const width = 400;
28
+ const paddingLeft = 40;
29
+ const spectrumWidth = width - paddingLeft;
30
+ const noteComponent = (0, $d4hxx$useMemo)(()=>{
31
+ return (props)=>{
32
+ return $715dd5fedd79146a$var$h($715dd5fedd79146a$export$1b3047373cd1c8c7, {
33
+ width: spectrumWidth,
34
+ height: 40,
35
+ color: color,
36
+ ...props
37
+ });
38
+ };
39
+ }, [
40
+ width,
41
+ color
42
+ ]);
43
+ return $715dd5fedd79146a$var$h((0, $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d), {
44
+ data: data,
45
+ noteComponent: noteComponent,
46
+ getUnitID: (d)=>d[0].unit_id,
47
+ matchingUnit: $715dd5fedd79146a$var$matchingUnit
48
+ });
49
+ }
24
50
  function $715dd5fedd79146a$var$DepositionalAge({ unit: unit }) {
25
51
  const { xScale: xScale, height: height } = (0, $d4hxx$usePlotArea)();
26
52
  const { t_age: t_age, b_age: b_age } = unit;
@@ -36,7 +62,6 @@ function $715dd5fedd79146a$var$DepositionalAge({ unit: unit }) {
36
62
  function $715dd5fedd79146a$export$1b3047373cd1c8c7(props) {
37
63
  const { note: note, width: width, height: height, color: color, spacing: spacing } = props;
38
64
  const { data: data, unit: unit } = note;
39
- const { geo_unit: geo_unit } = data[0];
40
65
  const _color = color;
41
66
  const spaceBelow = spacing?.below ?? 100;
42
67
  const hideAxisLabels = spaceBelow < 60;
@@ -64,61 +89,7 @@ function $715dd5fedd79146a$export$1b3047373cd1c8c7(props) {
64
89
  ])
65
90
  ]);
66
91
  }
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
92
 
122
93
 
123
- export {$715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup, $715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn};
124
- //# sourceMappingURL=column-views.abe90091.js.map
94
+ export {$715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn, $715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup};
95
+ //# sourceMappingURL=column-views.ae7c0a2b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAgB5B,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;IAExD,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,OAAO,wBAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;uBACA;QACA,WAAW,CAAC,IAAM,CAAC,CAAC,EAAE,CAAC,OAAO;sBAC9B;IACF;AACF;AAEA,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;IAEvB,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","sources":["packages/column-views/src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport type { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\nimport { BaseMeasurementsColumn } from \"../base-sample-column\";\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\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\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 return h(BaseMeasurementsColumn, {\n data,\n noteComponent,\n getUnitID: (d) => d[0].unit_id,\n matchingUnit,\n });\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\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\nexport { DetritalColumn, DetritalGroup };\n"],"names":[],"version":3,"file":"column-views.ae7c0a2b.js.map"}
@@ -1,7 +1,7 @@
1
- import {createUnitSorter as $b6657fba8924a702$export$ab14c04795685c55, ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, ensureRealFloat as $b6657fba8924a702$export$97de5b0a6b4e4dac, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a, unitsOverlap as $b6657fba8924a702$export$f1a15f539858307} from "./column-views.39657bbf.js";
1
+ import {createUnitSorter as $b6657fba8924a702$export$ab14c04795685c55, ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, ensureRealFloat as $b6657fba8924a702$export$97de5b0a6b4e4dac, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a, unitsOverlap as $b6657fba8924a702$export$f1a15f539858307} from "./column-views.54f8b909.js";
2
2
  import {group as $ailTa$group} from "d3-array";
3
3
  import {ColumnAxisType as $ailTa$ColumnAxisType} from "@macrostrat/column-components";
4
- import {compareAgeRanges as $ailTa$compareAgeRanges} from "@macrostrat/stratigraphy-utils";
4
+ import {compareAgeRanges as $ailTa$compareAgeRanges, AgeRangeRelationship as $ailTa$AgeRangeRelationship} from "@macrostrat/stratigraphy-utils";
5
5
 
6
6
 
7
7
 
@@ -9,7 +9,7 @@ import {compareAgeRanges as $ailTa$compareAgeRanges} from "@macrostrat/stratigra
9
9
 
10
10
  const $663a0cdd08b02256$var$dt = 0.001;
11
11
  function $663a0cdd08b02256$export$55543e159517d62d(section, axisType = (0, $ailTa$ColumnAxisType).AGE) {
12
- /** Preprocess units to add overlapping units and columns. */ const units = section.units;
12
+ /** Preprocess units to add overlapping units and columns. */ let units = section.units;
13
13
  let divisions = units.map((...args)=>$663a0cdd08b02256$var$extendDivision(...args, axisType));
14
14
  for (let d of divisions){
15
15
  const overlappingUnits = divisions.filter((u)=>d.overlappingUnits.includes(u.unit_id));
@@ -22,22 +22,31 @@ function $663a0cdd08b02256$export$55543e159517d62d(section, axisType = (0, $ailT
22
22
  d.column = col;
23
23
  }
24
24
  // If unit overlaps the edges of a section, set the clip positions
25
+ const [b_pos, t_pos] = (0, $b6657fba8924a702$export$70e712e2ac0237a)(d, axisType);
25
26
  if (axisType == (0, $ailTa$ColumnAxisType).AGE) {
26
- const [b_pos, t_pos] = (0, $b6657fba8924a702$export$70e712e2ac0237a)(d, axisType);
27
27
  if (b_pos > section.b_age) d.b_clip_pos = section.b_age;
28
28
  if (t_pos < section.t_age) d.t_clip_pos = section.t_age;
29
29
  }
30
- }
31
- // TODO: we may want to re-enable this simpler processing for sections,
32
- // but we want it to be less universally applied.
33
- // if (axisType != ColumnAxisType.AGE) {
34
- // return preprocessSectionUnits(divisions, axisType);
30
+ if (axisType == (0, $ailTa$ColumnAxisType).DEPTH) {
31
+ if (b_pos > section.b_pos) d.b_clip_pos = section.b_pos;
32
+ if (t_pos < section.t_pos) d.t_clip_pos = section.t_pos;
33
+ }
34
+ // if (axisType == ColumnAxisType.HEIGHT) {
35
+ // if (b_pos < section.b_pos) {
36
+ // d.b_clip_pos = section.b_pos;
37
+ // }
38
+ // if (t_pos > section.t_pos) {
39
+ // d.t_clip_pos = section.t_pos;
40
+ // }
35
41
  // }
36
- //
42
+ }
37
43
  return divisions;
38
44
  }
39
45
  function $663a0cdd08b02256$var$extendDivision(unit, i, divisions, axisType = (0, $ailTa$ColumnAxisType).AGE) {
40
- const overlappingUnits = divisions.filter((d)=>d.unit_id != unit.unit_id && (0, $b6657fba8924a702$export$f1a15f539858307)(unit, d, axisType));
46
+ // TODO: make this configurable
47
+ let tolerance = 0.001; // 1 kyr tolerance for age columns
48
+ if (axisType != (0, $ailTa$ColumnAxisType).AGE) tolerance = 0.01; // 1cm tolerance for height/depth columns
49
+ const overlappingUnits = divisions.filter((d)=>d.unit_id != unit.unit_id && (0, $b6657fba8924a702$export$f1a15f539858307)(unit, d, axisType, tolerance));
41
50
  const u_pos = (0, $b6657fba8924a702$export$70e712e2ac0237a)(unit, axisType);
42
51
  const bottomOverlap = overlappingUnits.some((d)=>{
43
52
  const d_pos = (0, $b6657fba8924a702$export$70e712e2ac0237a)(d, axisType);
@@ -53,30 +62,32 @@ function $663a0cdd08b02256$var$extendDivision(unit, i, divisions, axisType = (0,
53
62
  overlappingUnits: overlappingUnits.map((d)=>d.unit_id)
54
63
  };
55
64
  }
56
- function $663a0cdd08b02256$export$dfbd00399d639b4c(units, axisType = (0, $ailTa$ColumnAxisType).AGE) {
57
- if (axisType != (0, $ailTa$ColumnAxisType).AGE) return $663a0cdd08b02256$var$groupUnitsIntoSectionByOverlap(units, axisType);
65
+ function $663a0cdd08b02256$export$eeade20e3eee4638(units, axisType = (0, $ailTa$ColumnAxisType).AGE) {
58
66
  /** Group units into sections by section_id.
59
67
  * This works for large-scale Macrostrat columns, where units are grouped by section_id.
60
68
  * */ let groups = Array.from((0, $ailTa$group)(units, (d)=>d.section_id));
61
69
  const unitComparator = (0, $b6657fba8924a702$export$ab14c04795685c55)(axisType);
62
70
  const groups1 = groups.map(([section_id, sectionUnits])=>{
63
71
  const [b_age, t_age] = $663a0cdd08b02256$export$8093438ec3e4c6fd(sectionUnits);
72
+ const [b_pos, t_pos] = $663a0cdd08b02256$export$483b05c497fd70c6(sectionUnits, axisType);
64
73
  // sort units by position
65
74
  sectionUnits.sort(unitComparator);
66
75
  return {
67
76
  section_id: section_id,
68
77
  t_age: t_age,
69
78
  b_age: b_age,
79
+ b_pos: b_pos,
80
+ t_pos: t_pos,
70
81
  units: sectionUnits
71
82
  };
72
83
  });
73
84
  // Sort sections by increasing top age, then increasing bottom age.
74
85
  // Sections have no relative ordinal position other than age...
75
- const compareSections = (0, $b6657fba8924a702$export$ab14c04795685c55)((0, $ailTa$ColumnAxisType).AGE);
86
+ const compareSections = (0, $b6657fba8924a702$export$ab14c04795685c55)(axisType);
76
87
  groups1.sort(compareSections);
77
88
  return groups1;
78
89
  }
79
- function $663a0cdd08b02256$var$groupUnitsIntoSectionByOverlap(units, axisType = (0, $ailTa$ColumnAxisType).AGE) {
90
+ function $663a0cdd08b02256$export$bb26cdbde9c8c08b(units, axisType = (0, $ailTa$ColumnAxisType).AGE) {
80
91
  /** Group units into sections by overlap.
81
92
  * This creates "synthetic" sections that correspond to packages bound by scale gaps.
82
93
  * This is most useful in the height and depth domains, where gaps (e.g., missing core) are
@@ -86,7 +97,7 @@ function $663a0cdd08b02256$var$groupUnitsIntoSectionByOverlap(units, axisType =
86
97
  for (const unit of units){
87
98
  // Check if the unit overlaps with any existing section
88
99
  const heightRange = (0, $b6657fba8924a702$export$70e712e2ac0237a)(unit, axisType);
89
- let section = sectionList.find((s)=>(0, $ailTa$compareAgeRanges)(heightRange, s.heightRange));
100
+ let section = sectionList.find((s)=>(0, $ailTa$compareAgeRanges)(heightRange, s.heightRange) !== (0, $ailTa$AgeRangeRelationship).Disjoint);
90
101
  if (section == null) // No overlap, create a new section
91
102
  sectionList.push({
92
103
  heightRange: heightRange,
@@ -98,35 +109,69 @@ function $663a0cdd08b02256$var$groupUnitsIntoSectionByOverlap(units, axisType =
98
109
  // Overlap, merge the unit into the section
99
110
  section.units.push(unit);
100
111
  // Update the height range
101
- section.heightRange = [
112
+ if (axisType == (0, $ailTa$ColumnAxisType).DEPTH || axisType == (0, $ailTa$ColumnAxisType).AGE) section.heightRange = [
102
113
  Math.max(section.heightRange[0], heightRange[0]),
103
114
  Math.min(section.heightRange[1], heightRange[1])
104
115
  ];
116
+ else section.heightRange = [
117
+ Math.min(section.heightRange[0], heightRange[0]),
118
+ Math.max(section.heightRange[1], heightRange[1])
119
+ ];
105
120
  }
106
121
  }
107
122
  // We should have a section for each unit, now we can convert to SectionInfo
108
123
  // Ages have to be really actually ages, not heights
109
124
  return sectionList.map((section, i)=>{
110
125
  const [b_age, t_age] = $663a0cdd08b02256$export$8093438ec3e4c6fd(section.units);
126
+ const [b_pos, t_pos] = $663a0cdd08b02256$export$483b05c497fd70c6(section.units, axisType);
111
127
  return {
112
128
  // Negative section IDs are used to indicate that these are synthetic sections
113
129
  section_id: -i,
114
130
  t_age: t_age,
115
131
  b_age: b_age,
132
+ t_pos: t_pos,
133
+ b_pos: b_pos,
116
134
  units: section.units
117
135
  };
118
136
  });
119
137
  }
120
- function $663a0cdd08b02256$export$8093438ec3e4c6fd(units) {
121
- /** Get the overall age range of a set of units. */ const t_ages = units.map((d)=>d.t_age);
122
- const b_ages = units.map((d)=>d.b_age);
123
- const t_age = Math.min(...t_ages);
124
- const b_age = Math.max(...b_ages);
125
- return [
126
- b_age,
127
- t_age
138
+ function $663a0cdd08b02256$export$483b05c497fd70c6(units, axisType) {
139
+ /** Get the overall position range of a set of units. */ const t_positions = units.map((d)=>{
140
+ switch(axisType){
141
+ case (0, $ailTa$ColumnAxisType).AGE:
142
+ return d.t_age;
143
+ case (0, $ailTa$ColumnAxisType).DEPTH:
144
+ case (0, $ailTa$ColumnAxisType).HEIGHT:
145
+ case (0, $ailTa$ColumnAxisType).ORDINAL:
146
+ return d.t_pos;
147
+ default:
148
+ throw new Error(`Unknown axis type: ${axisType}`);
149
+ }
150
+ });
151
+ const b_positions = units.map((d)=>{
152
+ switch(axisType){
153
+ case (0, $ailTa$ColumnAxisType).AGE:
154
+ return d.b_age;
155
+ case (0, $ailTa$ColumnAxisType).DEPTH:
156
+ case (0, $ailTa$ColumnAxisType).HEIGHT:
157
+ case (0, $ailTa$ColumnAxisType).ORDINAL:
158
+ return d.b_pos;
159
+ default:
160
+ throw new Error(`Unknown axis type: ${axisType}`);
161
+ }
162
+ });
163
+ if (axisType == (0, $ailTa$ColumnAxisType).AGE || axisType == (0, $ailTa$ColumnAxisType).DEPTH) return [
164
+ Math.max(...b_positions),
165
+ Math.min(...t_positions)
166
+ ];
167
+ else return [
168
+ Math.min(...b_positions),
169
+ Math.max(...t_positions)
128
170
  ];
129
171
  }
172
+ function $663a0cdd08b02256$export$8093438ec3e4c6fd(units) {
173
+ /** Get the overall age range of a set of units. */ return $663a0cdd08b02256$export$483b05c497fd70c6(units, (0, $ailTa$ColumnAxisType).AGE);
174
+ }
130
175
  function $663a0cdd08b02256$export$e7bb744b9be37f3d(sections) {
131
176
  /** Columns can have sections that overlap in time. Here, we merge overlapping
132
177
  * sections into a single section to correctly render gap-bound packages.
@@ -152,21 +197,11 @@ function $663a0cdd08b02256$export$e7bb744b9be37f3d(sections) {
152
197
  }
153
198
  return newSections;
154
199
  }
155
- function $663a0cdd08b02256$var$preprocessSectionUnits(units, axisType = (0, $ailTa$ColumnAxisType).DEPTH) {
156
- /** Preprocess units for a "section" column type, which is guaranteed to be simpler. */ // We have to assume the units are ordered...
157
- let thickness = 0;
158
- return units.map((unit, i)=>{
159
- let u1 = $663a0cdd08b02256$var$preprocessSectionUnit(unit, i, units, thickness, axisType);
160
- thickness += Math.abs(u1.t_pos - u1.b_pos);
161
- return u1;
162
- });
163
- }
164
- function $663a0cdd08b02256$var$preprocessSectionUnit(unit, i, units, accumulatedThickness = 0, axisType = (0, $ailTa$ColumnAxisType).DEPTH) {
200
+ function $663a0cdd08b02256$export$47e05aac3f0b77d4(unit) {
165
201
  /** Preprocess a single unit for a "section" column type.
166
- * No provision for overlapping units.
202
+ * This mostly handles vagaries of eODP-style columns.
167
203
  * */ let b_pos = unit.b_pos;
168
204
  let t_pos = unit.t_pos;
169
- if (b_pos == t_pos && axisType == (0, $ailTa$ColumnAxisType).ORDINAL) t_pos = t_pos - 1;
170
205
  let unit_name = unit.unit_name;
171
206
  // eODP columns sometimes have overlapping core sections, which are encoded in the name field
172
207
  // Match eODP section names
@@ -181,12 +216,10 @@ function $663a0cdd08b02256$var$preprocessSectionUnit(unit, i, units, accumulated
181
216
  ...unit,
182
217
  b_pos: (0, $b6657fba8924a702$export$97de5b0a6b4e4dac)(b_pos),
183
218
  t_pos: (0, $b6657fba8924a702$export$97de5b0a6b4e4dac)(t_pos),
184
- unit_name: unit_name,
185
- bottomOverlap: false,
186
- overlappingUnits: []
219
+ unit_name: unit_name
187
220
  };
188
221
  }
189
222
 
190
223
 
191
- export {$663a0cdd08b02256$export$55543e159517d62d as preprocessUnits, $663a0cdd08b02256$export$dfbd00399d639b4c as groupUnitsIntoSections, $663a0cdd08b02256$export$8093438ec3e4c6fd as getSectionAgeRange, $663a0cdd08b02256$export$e7bb744b9be37f3d as mergeOverlappingSections};
192
- //# sourceMappingURL=column-views.9892f825.js.map
224
+ export {$663a0cdd08b02256$export$55543e159517d62d as preprocessUnits, $663a0cdd08b02256$export$eeade20e3eee4638 as groupUnitsIntoSectionsBySectionID, $663a0cdd08b02256$export$8093438ec3e4c6fd as getSectionAgeRange, $663a0cdd08b02256$export$483b05c497fd70c6 as getSectionPosRange, $663a0cdd08b02256$export$bb26cdbde9c8c08b as groupUnitsIntoSectionsByOverlap, $663a0cdd08b02256$export$e7bb744b9be37f3d as mergeOverlappingSections, $663a0cdd08b02256$export$47e05aac3f0b77d4 as preprocessSectionUnit};
225
+ //# sourceMappingURL=column-views.aecf25bc.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/prepare-units/helpers.ts"],"sourcesContent":["import type { BaseUnit, UnitLong } from \"@macrostrat/api-types\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport {\n createUnitSorter,\n ensureArray,\n ensureRealFloat,\n getUnitHeightRange,\n unitsOverlap,\n} from \"./utils\";\nimport {\n AgeRangeRelationship,\n compareAgeRanges,\n} from \"@macrostrat/stratigraphy-utils\";\nimport type { ExtUnit, SectionInfo, StratigraphicPackage } from \"./types\";\n\nconst dt = 0.001;\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 let units = section.units;\n\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 const [b_pos, t_pos] = getUnitHeightRange(d, axisType);\n if (axisType == ColumnAxisType.AGE) {\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 if (axisType == ColumnAxisType.DEPTH) {\n if (b_pos > section.b_pos) {\n d.b_clip_pos = section.b_pos;\n }\n if (t_pos < section.t_pos) {\n d.t_clip_pos = section.t_pos;\n }\n }\n // if (axisType == ColumnAxisType.HEIGHT) {\n // if (b_pos < section.b_pos) {\n // d.b_clip_pos = section.b_pos;\n // }\n // if (t_pos > section.t_pos) {\n // d.t_clip_pos = section.t_pos;\n // }\n // }\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 // TODO: make this configurable\n let tolerance = 0.001; // 1 kyr tolerance for age columns\n if (axisType != ColumnAxisType.AGE) {\n tolerance = 0.01; // 1cm tolerance for height/depth columns\n }\n\n const overlappingUnits = divisions.filter(\n (d) =>\n d.unit_id != unit.unit_id && unitsOverlap(unit, d, axisType, tolerance),\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 groupUnitsIntoSectionsBySectionID<T extends UnitLong>(\n units: T[],\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n): SectionInfo<T>[] {\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 const [b_pos, t_pos] = getSectionPosRange(sectionUnits, axisType);\n\n // sort units by position\n sectionUnits.sort(unitComparator);\n return { section_id, t_age, b_age, b_pos, t_pos, 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(axisType) 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\nexport function groupUnitsIntoSectionsByOverlap<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(\n (s) =>\n compareAgeRanges(heightRange, s.heightRange) !==\n AgeRangeRelationship.Disjoint,\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 if (axisType == ColumnAxisType.DEPTH || axisType == ColumnAxisType.AGE) {\n section.heightRange = [\n Math.max(section.heightRange[0], heightRange[0]),\n Math.min(section.heightRange[1], heightRange[1]),\n ];\n } else {\n section.heightRange = [\n Math.min(section.heightRange[0], heightRange[0]),\n Math.max(section.heightRange[1], heightRange[1]),\n ];\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 const [b_pos, t_pos] = getSectionPosRange(section.units, axisType);\n return {\n // Negative section IDs are used to indicate that these are synthetic sections\n section_id: -i,\n t_age,\n b_age,\n t_pos,\n b_pos,\n units: section.units as T[],\n };\n });\n}\n\nexport function getSectionPosRange(\n units: BaseUnit[],\n axisType: ColumnAxisType,\n): [number, number] {\n /** Get the overall position range of a set of units. */\n const t_positions = units.map((d) => {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return d.t_age;\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.HEIGHT:\n case ColumnAxisType.ORDINAL:\n return d.t_pos;\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n });\n const b_positions = units.map((d) => {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return d.b_age;\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.HEIGHT:\n case ColumnAxisType.ORDINAL:\n return d.b_pos;\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n });\n if (axisType == ColumnAxisType.AGE || axisType == ColumnAxisType.DEPTH) {\n return [Math.max(...b_positions), Math.min(...t_positions)];\n } else {\n return [Math.min(...b_positions), Math.max(...t_positions)];\n }\n}\n\nexport function getSectionAgeRange(units: BaseUnit[]): [number, number] {\n /** Get the overall age range of a set of units. */\n return getSectionPosRange(units, ColumnAxisType.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\nexport function preprocessSectionUnit(unit: UnitLong): UnitLong {\n /** Preprocess a single unit for a \"section\" column type.\n * This mostly handles vagaries of eODP-style columns.\n * */\n\n let b_pos = unit.b_pos;\n let t_pos = unit.t_pos;\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 };\n}\n"],"names":[],"version":3,"file":"column-views.aecf25bc.js.map"}
@@ -0,0 +1,54 @@
1
+ .VC2fja_taxa-occurrences-matrix {
2
+ color: var(--column-text-color);
3
+ }
4
+
5
+ .VC2fja_taxa-occurrences-matrix line {
6
+ stroke: var(--column-stroke-color);
7
+ stroke-width: 2px;
8
+ }
9
+
10
+ .VC2fja_taxa-occurrences-matrix text.VC2fja_taxon-name {
11
+ fill: var(--column-text-color);
12
+ text-anchor: end;
13
+ position: sticky;
14
+ top: 0;
15
+ transform: rotate(90deg)translate(0, 4px);
16
+ }
17
+
18
+ .VC2fja_taxon-ranges {
19
+ position: relative;
20
+ }
21
+
22
+ .VC2fja_taxon-ranges > svg {
23
+ height: 100%;
24
+ position: absolute;
25
+ }
26
+
27
+ .VC2fja_taxon-labels {
28
+ z-index: 10;
29
+ pointer-events: none;
30
+ width: 100%;
31
+ height: 100%;
32
+ position: absolute;
33
+ }
34
+
35
+ .VC2fja_taxon-labels .VC2fja_taxon-label {
36
+ height: 100%;
37
+ position: absolute;
38
+ }
39
+
40
+ .VC2fja_taxon-labels .VC2fja_taxon-label-inner {
41
+ top: calc(var(--label-width, 200px) - 10px);
42
+ transform-origin: 0 100%;
43
+ background-color: var(--column-background-color);
44
+ position: sticky;
45
+ transform: rotate(-90deg)translate(10px, 8px);
46
+ }
47
+
48
+ .VC2fja_taxon-labels .VC2fja_taxon-label-text {
49
+ text-align: left;
50
+ max-width: 300px;
51
+ padding: 0 8px;
52
+ font-style: italic;
53
+ }
54
+ /*# sourceMappingURL=column-views.b7016f82.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA;;;;AAEE;;;;;AAGA;;;;;;;;AAOF;;;;AAEE;;;;;AAIF;;;;;;;;AAOE;;;;;AAIA;;;;;;;;AAOA","sources":["packages/column-views/src/facets/fossils/index.module.sass"],"sourcesContent":[".taxa-occurrences-matrix\n color: var(--column-text-color)\n line\n stroke: var(--column-stroke-color)\n stroke-width: 2px\n text.taxon-name\n fill: var(--column-text-color)\n transform: rotate(90deg) translate(0, 4px)\n text-anchor: end\n position: sticky\n top: 0\n\n.taxon-ranges\n position: relative\n &>svg\n position: absolute\n height: 100%\n\n.taxon-labels\n z-index: 10\n position: absolute\n width: 100%\n height: 100%\n pointer-events: none\n\n .taxon-label\n position: absolute\n height: 100%\n\n .taxon-label-inner\n position: sticky\n top: calc(var(--label-width, 200px) - 10px)\n transform: rotate(-90deg) translate(10px, 8px)\n transform-origin: bottom left\n background-color: var(--column-background-color)\n\n .taxon-label-text\n\n font-style: italic\n text-align: left\n padding: 0 8px\n max-width: 300px\n //position: sticky\n //top: 200px\n"],"names":[],"version":3,"file":"column-views.b7016f82.css.map"}
@@ -1,4 +1,4 @@
1
- import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.9771145a.js";
1
+ import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.77561197.js";
2
2
  import {Button as $fodo6$Button} from "@blueprintjs/core";
3
3
  import {useKeyHandler as $fodo6$useKeyHandler} from "@macrostrat/ui-components";
4
4
  import $fodo6$macrostrathyper from "@macrostrat/hyper";
@@ -57,4 +57,4 @@ function $d418ca9cbe9b0f3c$export$cfdbe8496aa51962(props) {
57
57
 
58
58
 
59
59
  export {$d418ca9cbe9b0f3c$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
60
- //# sourceMappingURL=column-views.a5c1bbf0.js.map
60
+ //# sourceMappingURL=column-views.ba0381cc.js.map