@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,9 +1,9 @@
1
- import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3} from "./column-views.7d47a72a.js";
2
- import {ResizableMapFrame as $e6046e00d2c8a163$export$c4313db718750a5a, ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099} from "./column-views.f7523c1d.js";
1
+ import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3} from "./column-views.8d24b179.js";
2
+ import {ResizableMapFrame as $e6046e00d2c8a163$export$c4313db718750a5a, ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099} from "./column-views.c92a359e.js";
3
3
 
4
4
 
5
5
 
6
6
 
7
7
 
8
8
  export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap, $e6046e00d2c8a163$export$c4313db718750a5a as ResizableMapFrame, $e6046e00d2c8a163$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $93f116a6493b17c3$export$2254347cd20e6080 as MeasurementsLayer, $93f116a6493b17c3$export$f177ff57c101017a as ColumnFeatures, $93f116a6493b17c3$export$8c41dd563753848 as ColumnKeyboardNavigation, $93f116a6493b17c3$export$f02cc02ad0e0bba3 as Columns, $93f116a6493b17c3$export$4d8f6e6df85d9012 as ColumnCenters, $93f116a6493b17c3$export$b9d912252344e099 as CurrentColumn};
9
- //# sourceMappingURL=column-views.d099eaf9.js.map
9
+ //# sourceMappingURL=column-views.0a8a07f4.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":[],"version":3,"file":"column-views.d099eaf9.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":[],"version":3,"file":"column-views.0a8a07f4.js.map"}
@@ -1,4 +1,4 @@
1
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76} from "./column-views.1e055ed5.js";
1
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76} from "./column-views.4fd4ec92.js";
2
2
  import {line as $iZTQD$line} from "d3-shape";
3
3
  import {createContext as $iZTQD$createContext, useContext as $iZTQD$useContext} from "react";
4
4
  import $iZTQD$macrostrathyper from "@macrostrat/hyper";
@@ -83,4 +83,4 @@ const $5f39f3d52558a1d0$export$919dbb10b6b5b75 = ()=>(0, $iZTQD$useContext)($5f3
83
83
 
84
84
 
85
85
  export {$5f39f3d52558a1d0$export$309ef8546e07d921 as IsotopesDataArea, $5f39f3d52558a1d0$export$4cb5d059db4e2bd as IsotopeDataPoint, $5f39f3d52558a1d0$export$628a3ef6eb9c3a89 as IsotopeDataLine, $5f39f3d52558a1d0$export$919dbb10b6b5b75 as useDataLocator};
86
- //# sourceMappingURL=column-views.0732894f.js.map
86
+ //# sourceMappingURL=column-views.0f7f6ee6.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;AAMA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,SAAS,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,IAAI;IAEhD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,QAAQ,OAAO,GAAG;IAChE,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"column-views.0732894f.js.map"}
1
+ {"mappings":";;;;;;;;;;;AAMA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,SAAS,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,IAAI;IAEhD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,QAAQ,OAAO,GAAG;IAChE,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"column-views.0f7f6ee6.js.map"}
@@ -1,4 +1,4 @@
1
- .VC2fja_fossil-collections {
1
+ .sf_8dq_truncated-list {
2
2
  border-left: 1px solid var(--column-stroke-color);
3
3
  margin: 1px 0;
4
4
  padding-left: .2em;
@@ -6,17 +6,17 @@
6
6
  list-style: none;
7
7
  }
8
8
 
9
- .VC2fja_fossil-collections li {
9
+ .sf_8dq_truncated-list li {
10
10
  display: inline;
11
11
  }
12
12
 
13
- .VC2fja_fossil-collections li:not(:last-child):after {
13
+ .sf_8dq_truncated-list li:not(:last-child):after {
14
14
  content: ", ";
15
15
  color: var(--secondary-color);
16
16
  }
17
17
 
18
- .VC2fja_fossil-collections li.VC2fja_too-many {
18
+ .sf_8dq_truncated-list li.sf_8dq_too-many {
19
19
  color: var(--secondary-color);
20
20
  font-style: italic;
21
21
  }
22
- /*# sourceMappingURL=column-views.57636733.css.map */
22
+ /*# sourceMappingURL=column-views.1151416d.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA;;;;;;;;AAME;;;;AAEE;;;;;AAGF","sources":["packages/column-views/src/facets/base-sample-column.module.sass"],"sourcesContent":[".truncated-list\n padding-left: 0.2em\n font-size: 0.9em\n list-style: none\n border-left: 1px solid var(--column-stroke-color)\n margin: 1px 0\n li\n display: inline\n &:not(:last-child):after\n content: \", \"\n color: var(--secondary-color)\n li.too-many\n color: var(--secondary-color)\n font-style: italic\n"],"names":[],"version":3,"file":"column-views.1151416d.css.map"}
@@ -1,9 +1,9 @@
1
- import {ColumnCorrelationMap as $dcd183b733f66144$export$8e7d97509e84cc49} from "./column-views.49adc09e.js";
2
- import {ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.6dc251d3.js";
1
+ import {ColumnCorrelationMap as $dcd183b733f66144$export$8e7d97509e84cc49} from "./column-views.3e1b8c7d.js";
2
+ import {ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.86a51ce7.js";
3
3
 
4
4
 
5
5
 
6
6
 
7
7
 
8
8
  export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap, $74e211dc185c20b4$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $74e211dc185c20b4$export$21398703d3a9bb4d as useCorrelationMapStore};
9
- //# sourceMappingURL=column-views.53f4160e.js.map
9
+ //# sourceMappingURL=column-views.1b644998.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/maps/column-correlation/index.ts"],"sourcesContent":["export * from \"./core\";\nexport * from \"./state\";\n"],"names":[],"version":3,"file":"column-views.53f4160e.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/maps/column-correlation/index.ts"],"sourcesContent":["export * from \"./core\";\nexport * from \"./state\";\n"],"names":[],"version":3,"file":"column-views.1b644998.js.map"}
@@ -9,6 +9,7 @@ $parcel$export($047fd20e1964ef56$exports, "age-axis-column", () => $047fd20e1964
9
9
  $parcel$export($047fd20e1964ef56$exports, "age-axis-label", () => $047fd20e1964ef56$export$629e44847e8dc64c, (v) => $047fd20e1964ef56$export$629e44847e8dc64c = v);
10
10
  $parcel$export($047fd20e1964ef56$exports, "age-axis-unit", () => $047fd20e1964ef56$export$1609122694a59b0a, (v) => $047fd20e1964ef56$export$1609122694a59b0a = v);
11
11
  $parcel$export($047fd20e1964ef56$exports, "age-cursor", () => $047fd20e1964ef56$export$38f8eb5614a465ca, (v) => $047fd20e1964ef56$export$38f8eb5614a465ca = v);
12
+ $parcel$export($047fd20e1964ef56$exports, "composite-age-axis", () => $047fd20e1964ef56$export$166435123cbf74ba, (v) => $047fd20e1964ef56$export$166435123cbf74ba = v);
12
13
  $parcel$export($047fd20e1964ef56$exports, "label", () => $047fd20e1964ef56$export$1237798dc640739a, (v) => $047fd20e1964ef56$export$1237798dc640739a = v);
13
14
  $parcel$export($047fd20e1964ef56$exports, "line", () => $047fd20e1964ef56$export$53f1d5ea8de3d7c, (v) => $047fd20e1964ef56$export$53f1d5ea8de3d7c = v);
14
15
  var $047fd20e1964ef56$export$8e012612e152e560;
@@ -16,6 +17,7 @@ var $047fd20e1964ef56$export$5bb449cff67e2830;
16
17
  var $047fd20e1964ef56$export$629e44847e8dc64c;
17
18
  var $047fd20e1964ef56$export$1609122694a59b0a;
18
19
  var $047fd20e1964ef56$export$38f8eb5614a465ca;
20
+ var $047fd20e1964ef56$export$166435123cbf74ba;
19
21
  var $047fd20e1964ef56$export$1237798dc640739a;
20
22
  var $047fd20e1964ef56$export$53f1d5ea8de3d7c;
21
23
  $047fd20e1964ef56$export$8e012612e152e560 = `_FHjpa_age-axis`;
@@ -23,9 +25,10 @@ $047fd20e1964ef56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;
23
25
  $047fd20e1964ef56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;
24
26
  $047fd20e1964ef56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;
25
27
  $047fd20e1964ef56$export$38f8eb5614a465ca = `_FHjpa_age-cursor`;
28
+ $047fd20e1964ef56$export$166435123cbf74ba = `_FHjpa_composite-age-axis`;
26
29
  $047fd20e1964ef56$export$1237798dc640739a = `_FHjpa_label`;
27
30
  $047fd20e1964ef56$export$53f1d5ea8de3d7c = `_FHjpa_line`;
28
31
 
29
32
 
30
33
  export {$047fd20e1964ef56$exports as default};
31
- //# sourceMappingURL=column-views.686d21ad.js.map
34
+ //# sourceMappingURL=column-views.22ec902b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAPA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA0B,CAAC,YAAY,CAAC;AACxC,2CAAyB,CAAC,WAAW,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.22ec902b.js.map"}
@@ -1,7 +1,7 @@
1
- import "./column-views.b17f793f.css";
2
- import $lfxOo$columnviews686d21adjs from "./column-views.686d21ad.js";
3
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
4
- import {AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.9771145a.js";
1
+ import "./column-views.321af3ae.css";
2
+ import $lfxOo$columnviews22ec902bjs from "./column-views.22ec902b.js";
3
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
4
+ import {AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.77561197.js";
5
5
  import $lfxOo$macrostrathyper from "@macrostrat/hyper";
6
6
  import {ColumnContext as $lfxOo$ColumnContext, ColumnAxis as $lfxOo$ColumnAxis, ColumnAxisType as $lfxOo$ColumnAxisType, SVG as $lfxOo$SVG, AgeAxis as $lfxOo$AgeAxis} from "@macrostrat/column-components";
7
7
  import {useContext as $lfxOo$useContext} from "react";
@@ -18,7 +18,7 @@ function $parcel$interopDefault(a) {
18
18
 
19
19
 
20
20
 
21
- const $43794af7643cdf40$var$h = (0, $lfxOo$macrostrathyper).styled((0, ($parcel$interopDefault($lfxOo$columnviews686d21adjs))));
21
+ const $43794af7643cdf40$var$h = (0, $lfxOo$macrostrathyper).styled((0, ($parcel$interopDefault($lfxOo$columnviews22ec902bjs))));
22
22
  const $43794af7643cdf40$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{
23
23
  const { pixelHeight: pixelHeight } = (0, $lfxOo$useContext)((0, $lfxOo$ColumnContext));
24
24
  // A tick roughly every 40 pixels
@@ -47,7 +47,7 @@ function $43794af7643cdf40$export$64204d5cbb3e8227(props) {
47
47
  }, unit)
48
48
  ]);
49
49
  }
50
- function $43794af7643cdf40$export$40b6b0e4520eeb34() {
50
+ function $43794af7643cdf40$export$40b6b0e4520eeb34(rest) {
51
51
  const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
52
52
  const packages = sections.map((section)=>{
53
53
  return {
@@ -58,25 +58,46 @@ function $43794af7643cdf40$export$40b6b0e4520eeb34() {
58
58
  return $43794af7643cdf40$var$h($43794af7643cdf40$export$ac30ca3cf5df959d, {
59
59
  axisType: axisType,
60
60
  packages: packages,
61
- totalHeight: totalHeight
61
+ totalHeight: totalHeight,
62
+ ...rest
63
+ });
64
+ }
65
+ function $43794af7643cdf40$export$82731b9607850ca6(rest) {
66
+ /** Axis to show approximate height based on dynamic column scales */ const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
67
+ const packages = sections.map((section)=>{
68
+ const { scaleInfo: scaleInfo } = section;
69
+ if (scaleInfo.heightScale == null) throw new Error("No height scale available for section");
70
+ return {
71
+ key: `section-${section.section_id}`,
72
+ ...scaleInfo,
73
+ scale: scaleInfo.heightScale
74
+ };
75
+ });
76
+ return $43794af7643cdf40$var$h($43794af7643cdf40$export$ac30ca3cf5df959d, {
77
+ axisType: axisType,
78
+ axisLabel: "Approx. height",
79
+ axisUnit: "m",
80
+ packages: packages,
81
+ totalHeight: totalHeight,
82
+ ...rest
62
83
  });
63
84
  }
64
85
  function $43794af7643cdf40$export$ac30ca3cf5df959d(props) {
65
- const { axisType: axisType, totalHeight: totalHeight, packages: packages } = props;
86
+ const { axisType: axisType, axisLabel: axisLabel, axisUnit: axisUnit, totalHeight: totalHeight, packages: packages, ...rest } = props;
66
87
  if (axisType == (0, $lfxOo$ColumnAxisType).ORDINAL) return null;
67
- let axisLabel = "Age";
68
- let axisUnit = "Ma";
88
+ let _axisLabel = axisLabel ?? "Age";
89
+ let _axisUnit = axisUnit ?? "Ma";
69
90
  if (axisType == (0, $lfxOo$ColumnAxisType).DEPTH) {
70
- axisLabel = "Depth";
71
- axisUnit = "m";
91
+ _axisLabel = "Depth";
92
+ _axisUnit = "m";
72
93
  } else if (axisType == (0, $lfxOo$ColumnAxisType).HEIGHT) {
73
- axisLabel = "Height";
74
- axisUnit = "m";
94
+ _axisLabel = "Height";
95
+ _axisUnit = "m";
75
96
  }
76
- return $43794af7643cdf40$var$h([
97
+ return $43794af7643cdf40$var$h("div.composite-age-axis", rest, [
77
98
  $43794af7643cdf40$var$h($43794af7643cdf40$export$64204d5cbb3e8227, {
78
- label: axisLabel,
79
- unit: axisUnit,
99
+ label: _axisLabel,
100
+ unit: _axisUnit,
80
101
  height: totalHeight
81
102
  }),
82
103
  $43794af7643cdf40$var$h((0, $lfxOo$SVG), {
@@ -101,7 +122,6 @@ function $43794af7643cdf40$export$ac30ca3cf5df959d(props) {
101
122
  function $43794af7643cdf40$export$20d84abfcfa68dfa({ age: age }) {
102
123
  /** A cursor that shows the age at a specific point on the age axis. */ const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
103
124
  const heightPx = scale(age);
104
- console.log(age, heightPx);
105
125
  if (age == null || heightPx == null) return null;
106
126
  return $43794af7643cdf40$var$h("div.age-cursor", {
107
127
  style: {
@@ -117,5 +137,5 @@ function $43794af7643cdf40$export$20d84abfcfa68dfa({ age: age }) {
117
137
  }
118
138
 
119
139
 
120
- export {$43794af7643cdf40$export$64204d5cbb3e8227 as VerticalAxisLabel, $43794af7643cdf40$export$40b6b0e4520eeb34 as CompositeAgeAxis, $43794af7643cdf40$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $43794af7643cdf40$export$20d84abfcfa68dfa as AgeCursor};
121
- //# sourceMappingURL=column-views.3b637517.js.map
140
+ export {$43794af7643cdf40$export$64204d5cbb3e8227 as VerticalAxisLabel, $43794af7643cdf40$export$40b6b0e4520eeb34 as CompositeAgeAxis, $43794af7643cdf40$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $43794af7643cdf40$export$82731b9607850ca6 as ApproximateHeightAxis, $43794af7643cdf40$export$20d84abfcfa68dfa as AgeCursor};
141
+ //# sourceMappingURL=column-views.285cbb65.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAE5B,MAAM,oCAAc,CAAC,SAAE,KAAK,eAAE,cAAc,gBAAI,aAAa,OAAO;IAClE,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IAC/C,iCAAiC;IACjC,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,cAAc,cAAc;IAExD,OAAO,wBAAE,UAAU;QAAE,WAAW;IAAkB,GAAG;QACnD,wBAAE,CAAA,GAAA,iBAAS,GAAG;YACZ,OAAO;wBACP;QACF;KACD;AACH;AAEO,SAAS,0CAAkB,KAAK;IACrC,MAAM,SAAE,QAAQ,aAAO,OAAO,iBAAM,SAAS,UAAE,MAAM,EAAE,GAAG;IAC1D,OAAO,wBACL,wCACA;mBAAE;QAAW,OAAO;oBAAE;QAAO;IAAE,GAC/B;QACE;QACA;QACA,wBAAE,EAAE,CAAC,MAAM,CAAA,GAAA,oBAAY,GAAG;YAAE,WAAW;QAAgB,GAAG;KAC3D;AAEL;AAOO,SAAS,0CAAiB,IAA2B;IAC1D,MAAM,YAAE,QAAQ,YAAE,QAAQ,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElE,MAAM,WAAW,SAAS,GAAG,CAAC,CAAC;QAC7B,OAAO;YACL,KAAK,CAAC,QAAQ,EAAE,QAAQ,UAAU,EAAE;YACpC,GAAG,QAAQ,SAAS;QACtB;IACF;IAEA,OAAO,wBAAE,2CAAsB;kBAC7B;kBACA;qBACA;QACA,GAAG,IAAI;IACT;AACF;AAEO,SAAS,0CAAsB,IAA2B;IAC/D,mEAAmE,GACnE,MAAM,YAAE,QAAQ,YAAE,QAAQ,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElE,MAAM,WAAW,SAAS,GAAG,CAAC,CAAC;QAC7B,MAAM,aAAE,SAAS,EAAE,GAAG;QACtB,IAAI,UAAU,WAAW,IAAI,MAC3B,MAAM,IAAI,MAAM;QAElB,OAAO;YACL,KAAK,CAAC,QAAQ,EAAE,QAAQ,UAAU,EAAE;YACpC,GAAG,SAAS;YACZ,OAAO,UAAU,WAAW;QAE9B;IACF;IAEA,OAAO,wBAAE,2CAAsB;kBAC7B;QACA,WAAW;QACX,UAAU;kBACV;qBACA;QACA,GAAG,IAAI;IACT;AACF;AAUO,SAAS,0CAAqB,KAAsC;IACzE,MAAM,YAAE,QAAQ,aAAE,SAAS,YAAE,QAAQ,eAAE,WAAW,YAAE,QAAQ,EAAE,GAAG,MAAM,GACrE;IAEF,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,OAAO,EACpC,OAAO;IAGT,IAAI,aAAqB,aAAa;IACtC,IAAI,YAAY,YAAY;IAC5B,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,KAAK,EAAE;QACpC,aAAa;QACb,YAAY;IACd,OAAO,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,MAAM,EAAE;QAC5C,aAAa;QACb,YAAY;IACd;IAEA,OAAO,wBAAE,0BAA0B,MAAM;QACvC,wBAAE,2CAAmB;YACnB,OAAO;YACP,MAAM;YACN,QAAQ;QACV;QACA,wBACE,CAAA,GAAA,UAAE,GACF;YACE,WAAW;YACX,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC;gBAAE,QAAQ,GAAG,YAAY,EAAE,CAAC;YAAC;YACnD,OAAO;YACP,QAAQ;QACV,GACA,SAAS,GAAG,CAAC,CAAC,OAAO;YACnB,MAAM,OAAE,GAAG,SAAE,KAAK,EAAE,GAAG;YAEvB,OAAO,wBAAE,CAAA,GAAA,cAAM,GAAG;qBAChB;gBACA,WAAW;uBACX;gBACA,eAAe;YACjB;QACF;KAEH;AACH;AAEO,SAAS,0CAAU,OAAE,GAAG,EAAE;IAC/B,qEAAqE,GACrE,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAC9B,MAAM,WAAW,MAAM;IAEvB,IAAI,OAAO,QAAQ,YAAY,MAC7B,OAAO;IAGT,OAAO,wBACL,kBACA;QACE,OAAO;YACL,KAAK;QACP;IACF,GACA;QAAC,wBAAE;QAAa,wBAAE,CAAA,GAAA,yCAAO,GAAG;iBAAE;YAAK,WAAW;QAAQ;KAAG;AAE7D","sources":["packages/column-views/src/age-axis.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { AgeLabel } from \"./unit-details\";\nimport { PackageScaleLayoutData } from \"./prepare-units/types\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className, height } = props;\n return h(\n \"div.column-axis-label.age-axis-label\",\n { className, style: { height } },\n [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ],\n );\n}\n\ninterface CompositeAgeAxisProps {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CompositeAgeAxis(rest: CompositeAgeAxisProps) {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport function ApproximateHeightAxis(rest: CompositeAgeAxisProps) {\n /** Axis to show approximate height based on dynamic column scales */\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n const { scaleInfo } = section;\n if (scaleInfo.heightScale == null) {\n throw new Error(\"No height scale available for section\");\n }\n return {\n key: `section-${section.section_id}`,\n ...scaleInfo,\n scale: scaleInfo.heightScale, // Use height scale instead of age scale\n // This only works with dynamic columns\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n axisLabel: \"Approx. height\",\n axisUnit: \"m\",\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo extends CompositeAgeAxisProps {\n axisType: ColumnAxisType;\n axisLabel?: string;\n axisUnit?: string;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, axisLabel, axisUnit, totalHeight, packages, ...rest } =\n props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let _axisLabel: string = axisLabel ?? \"Age\";\n let _axisUnit = axisUnit ?? \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n _axisLabel = \"Depth\";\n _axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n _axisLabel = \"Height\";\n _axisUnit = \"m\";\n }\n\n return h(\"div.composite-age-axis\", rest, [\n h(VerticalAxisLabel, {\n label: _axisLabel,\n unit: _axisUnit,\n height: totalHeight,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n }),\n ),\n ]);\n}\n\nexport function AgeCursor({ age }) {\n /** A cursor that shows the age at a specific point on the age axis. */\n const scale = useCompositeScale();\n const heightPx = scale(age);\n\n if (age == null || heightPx == null) {\n return null;\n }\n\n return h(\n \"div.age-cursor\",\n {\n style: {\n top: heightPx,\n },\n },\n [h(\"div.line\"), h(AgeLabel, { age, className: \"label\" })],\n );\n}\n"],"names":[],"version":3,"file":"column-views.285cbb65.js.map"}
@@ -0,0 +1,37 @@
1
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.e84bd756.js";
2
+ import $fqcIO$macrostrathyper from "@macrostrat/hyper";
3
+ import {useAPIResult as $fqcIO$useAPIResult} from "@macrostrat/ui-components";
4
+
5
+
6
+
7
+
8
+ function $6ff130029901daab$var$useSGPData({ col_id: col_id }) {
9
+ const res = (0, $fqcIO$useAPIResult)("https://dev.macrostrat.org/api/pg/sgp_unit_matches", {
10
+ col_id: `eq.${col_id}`
11
+ }, (d)=>d);
12
+ return res;
13
+ }
14
+ function $6ff130029901daab$export$c49cf57576706bab({ columnID: columnID, color: color = "magenta" }) {
15
+ const data = $6ff130029901daab$var$useSGPData({
16
+ col_id: columnID
17
+ });
18
+ if (data == null) return null;
19
+ return (0, $fqcIO$macrostrathyper)((0, $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d), {
20
+ data: data,
21
+ noteComponent: $6ff130029901daab$var$SGPSamplesNote
22
+ });
23
+ }
24
+ function $6ff130029901daab$var$SGPSamplesNote(props) {
25
+ const { note: note } = props;
26
+ const sgp_samples = note?.data?.sgp_samples;
27
+ if (sgp_samples == null || sgp_samples.length === 0) return null;
28
+ return (0, $fqcIO$macrostrathyper)((0, $c6d9d48b3424a44c$export$653e47a7a0da0f0d), {
29
+ className: "sgp-samples",
30
+ data: sgp_samples,
31
+ itemRenderer: (p)=>(0, $fqcIO$macrostrathyper)("span", p.data.name)
32
+ });
33
+ }
34
+
35
+
36
+ export {$6ff130029901daab$export$c49cf57576706bab as SGPMeasurementsColumn};
37
+ //# sourceMappingURL=column-views.2d602a57.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;AAIA,SAAS,iCAAW,UAAE,MAAM,EAAE;IAC5B,MAAM,MAAM,CAAA,GAAA,mBAAW,EACrB,sDACA;QACE,QAAQ,CAAC,GAAG,EAAE,QAAQ;IACxB,GACA,CAAC,IAAM;IAET,OAAO;AACT;AAEO,SAAS,0CAAsB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACnE,MAAM,OAAO,iCAAW;QAAE,QAAQ;IAAS;IAE3C,IAAI,QAAQ,MAAM,OAAO;IAEzB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;QACA,eAAe;IACjB;AACF;AAEA,SAAS,qCAAe,KAAK;IAC3B,MAAM,QAAE,IAAI,EAAE,GAAG;IACjB,MAAM,cAAc,MAAM,MAAM;IAEhC,IAAI,eAAe,QAAQ,YAAY,MAAM,KAAK,GAAG,OAAO;IAE5D,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAY,GAAG;QACtB,WAAW;QACX,MAAM;QACN,cAAc,CAAC,IAAM,CAAA,GAAA,sBAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI;IAC5C;AACF","sources":["packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":[],"version":3,"file":"column-views.2d602a57.js.map"}
@@ -50,4 +50,10 @@
50
50
  padding: 4px 2px;
51
51
  transform: rotate(180deg)translate(16px, 50%);
52
52
  }
53
- /*# sourceMappingURL=column-views.b17f793f.css.map */
53
+
54
+ ._FHjpa_composite-age-axis {
55
+ flex-direction: row;
56
+ display: flex;
57
+ position: relative;
58
+ }
59
+ /*# sourceMappingURL=column-views.321af3ae.css.map */
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AANA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAA0B,CAAC,YAAY,CAAC;AACxC,2CAAyB,CAAC,WAAW,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n\n\n \n"],"names":[],"version":3,"file":"column-views.686d21ad.js.map"}
1
+ {"mappings":"AAAA;;;;AAII;;;;;;;AAOA;;;;AAGJ;;;;AAGA;;;;;;;;;;AAQA;;;;AAGA;;;;;;;AAKE;;;;;AAIA;;;;;;;;AAOF","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.321af3ae.css.map"}
@@ -0,0 +1,137 @@
1
+ import {getSectionAgeRange as $663a0cdd08b02256$export$8093438ec3e4c6fd, getSectionPosRange as $663a0cdd08b02256$export$483b05c497fd70c6, groupUnitsIntoSectionsByOverlap as $663a0cdd08b02256$export$bb26cdbde9c8c08b, groupUnitsIntoSectionsBySectionID as $663a0cdd08b02256$export$eeade20e3eee4638, mergeOverlappingSections as $663a0cdd08b02256$export$e7bb744b9be37f3d, preprocessSectionUnit as $663a0cdd08b02256$export$47e05aac3f0b77d4, preprocessUnits as $663a0cdd08b02256$export$55543e159517d62d} from "./column-views.aecf25bc.js";
2
+ import {collapseUnconformitiesByPixelHeight as $728f6cf6c12cd490$export$edbf01b435c75274, computeSectionHeights as $728f6cf6c12cd490$export$7d3f3129a1a4b84e, finalizeSectionHeights as $728f6cf6c12cd490$export$67442a0f5bef147b} from "./column-views.073c42da.js";
3
+ import {MergeSectionsMode as $b6657fba8924a702$export$e1644389ce074058, agesOverlap as $b6657fba8924a702$export$d92a67740c050efb, unitsOverlap as $b6657fba8924a702$export$f1a15f539858307, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a, createUnitSorter as $b6657fba8924a702$export$ab14c04795685c55, ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, ensureRealFloat as $b6657fba8924a702$export$97de5b0a6b4e4dac} from "./column-views.54f8b909.js";
4
+ import {HybridScaleType as $1254c5929638d7f9$export$45e8e2d7a1794c23, HeightMethod as $1254c5929638d7f9$export$e40aae6f0de9bb95} from "./column-views.079119f4.js";
5
+ import {ColumnAxisType as $iaXiN$ColumnAxisType} from "@macrostrat/column-components";
6
+ import {useMemo as $iaXiN$useMemo} from "react";
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ function $76e92a964ee11b97$export$206a0cb85295e433(data, options) {
15
+ /** This function wraps and memoizes all preparation steps for converting
16
+ * an array of units from the /units route to a form ready for usage.
17
+ */ return (0, $iaXiN$useMemo)(()=>{
18
+ return $76e92a964ee11b97$export$be8c5a449df4bde4(data, options);
19
+ }, [
20
+ data,
21
+ ...Object.values(options)
22
+ ]);
23
+ }
24
+ function $76e92a964ee11b97$export$be8c5a449df4bde4(units, options) {
25
+ /** Prepare units for rendering into Macrostrat columns */ let { t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos } = options;
26
+ const { mergeSections: mergeSections = (0, $b6657fba8924a702$export$e1644389ce074058).OVERLAPPING, axisType: axisType, unconformityHeight: unconformityHeight, collapseSmallUnconformities: collapseSmallUnconformities = false, hybridScale: hybridScale, scale: scale } = options;
27
+ if (scale != null) {
28
+ // Set t_age and b_age based on scale domain if not already set
29
+ const domain = scale.domain();
30
+ if (axisType == (0, $iaXiN$ColumnAxisType).AGE) {
31
+ if (t_age == null) t_age = Math.min(...domain);
32
+ if (b_age == null) b_age = Math.max(...domain);
33
+ } else {
34
+ if (t_pos == null) t_pos = Math.min(...domain);
35
+ if (b_pos == null) b_pos = Math.max(...domain);
36
+ }
37
+ }
38
+ // Start by ensuring that ages and positions are numbers
39
+ // also set up some values for eODP-style columns
40
+ let units1 = units.map((0, $663a0cdd08b02256$export$47e05aac3f0b77d4));
41
+ /** Prototype filtering to age range */ units1 = units1.filter((d)=>{
42
+ // Filter units by t_age and b_age, inclusive
43
+ if (axisType == (0, $iaXiN$ColumnAxisType).AGE) return (0, $b6657fba8924a702$export$d92a67740c050efb)(d, {
44
+ t_age: t_age,
45
+ b_age: b_age
46
+ });
47
+ else return (0, $b6657fba8924a702$export$f1a15f539858307)(d, {
48
+ t_pos: t_pos,
49
+ b_pos: b_pos
50
+ }, axisType);
51
+ });
52
+ let mergeMode = mergeSections;
53
+ // if (axisType != ColumnAxisType.AGE) {
54
+ // // For non-age columns, we always merge sections.
55
+ // // This is because the "groupUnitsIntoSections" function is not well-defined
56
+ // // for non-age columns.
57
+ // mergeMode = MergeSectionsMode.ALL;
58
+ // }
59
+ let sections0;
60
+ if (mergeMode == (0, $b6657fba8924a702$export$e1644389ce074058).ALL) {
61
+ // For the "merge sections" mode, we need to create a single section
62
+ const [b_unit_pos, t_unit_pos] = (0, $663a0cdd08b02256$export$483b05c497fd70c6)(units1, axisType);
63
+ const [b_unit_age, t_unit_age] = (0, $663a0cdd08b02256$export$8093438ec3e4c6fd)(units1);
64
+ sections0 = [
65
+ {
66
+ section_id: 0,
67
+ /**
68
+ * If ages limits are directly specified, use them to define the section bounds.
69
+ * */ t_pos: t_unit_pos,
70
+ b_pos: b_unit_pos,
71
+ t_age: t_unit_age,
72
+ b_age: b_unit_age,
73
+ units: units1
74
+ }
75
+ ];
76
+ } else if (axisType == (0, $iaXiN$ColumnAxisType).AGE) sections0 = (0, $663a0cdd08b02256$export$eeade20e3eee4638)(units1, axisType);
77
+ else sections0 = (0, $663a0cdd08b02256$export$bb26cdbde9c8c08b)(units1, axisType);
78
+ // Limit sections to the range specified by t_age/b_age or t_pos/b_pos global options
79
+ for (let section of sections0){
80
+ if (axisType == (0, $iaXiN$ColumnAxisType).AGE) {
81
+ section.t_age = Math.max(section.t_age, t_age ?? -Infinity);
82
+ section.b_age = Math.min(section.b_age, b_age ?? Infinity);
83
+ } else if (axisType == (0, $iaXiN$ColumnAxisType).DEPTH) {
84
+ section.t_pos = Math.max(section.t_pos, t_pos ?? -Infinity);
85
+ section.b_pos = Math.min(section.b_pos, b_pos ?? Infinity);
86
+ } else if (axisType == (0, $iaXiN$ColumnAxisType).HEIGHT) {
87
+ section.t_pos = Math.max(section.t_pos, t_pos ?? -Infinity);
88
+ section.b_pos = Math.min(section.b_pos, b_pos ?? Infinity);
89
+ }
90
+ }
91
+ /** Merging overlapping sections really only makes sense for age/height/depth
92
+ * columns. Ordinal columns are numbered by section so merging them
93
+ * results in collisions.
94
+ */ let sections = sections0;
95
+ if (mergeSections == (0, $b6657fba8924a702$export$e1644389ce074058).OVERLAPPING && axisType == (0, $iaXiN$ColumnAxisType).AGE) sections = (0, $663a0cdd08b02256$export$e7bb744b9be37f3d)(sections);
96
+ // Filter out undefined sections just in case
97
+ sections = sections.filter((d)=>d != null);
98
+ // SCALES
99
+ /* Compute pixel scales etc. for sections
100
+ * We need to do this now to determine which unconformities
101
+ * are small enough to collapse.
102
+ */ let sectionsWithScales = (0, $728f6cf6c12cd490$export$7d3f3129a1a4b84e)(sections, options);
103
+ if (collapseSmallUnconformities && hybridScale == null) {
104
+ // Collapse small unconformities in pixel height space
105
+ // TODO: this doesn't seem to work properly for non-age columns?
106
+ let threshold = unconformityHeight ?? 30;
107
+ if (typeof collapseSmallUnconformities == "number") threshold = collapseSmallUnconformities;
108
+ sectionsWithScales = (0, $728f6cf6c12cd490$export$edbf01b435c75274)(sectionsWithScales, threshold, options);
109
+ }
110
+ /** Prepare section scale information using groups */ let { totalHeight: totalHeight, sections: sections2 } = (0, $728f6cf6c12cd490$export$67442a0f5bef147b)(sectionsWithScales, unconformityHeight);
111
+ /** For each section, find units that are overlapping.
112
+ * We do this after merging sections so that we can
113
+ * handle cases where there are overlapping units across sections
114
+ * */ const sectionsOut = sections2.map((section)=>{
115
+ return {
116
+ ...section,
117
+ units: (0, $663a0cdd08b02256$export$55543e159517d62d)(section, axisType)
118
+ };
119
+ });
120
+ /** Reconstitute the units so that they are sorted by section and properly enhanced.
121
+ * This is mostly important so that unit keyboard navigation
122
+ * predictably selects adjacent units.
123
+ */ const units2 = sectionsOut.reduce((acc, group)=>{
124
+ const { units: units } = group;
125
+ for (const unit of units)acc.push(unit);
126
+ return acc;
127
+ }, []);
128
+ return {
129
+ units: units2,
130
+ totalHeight: totalHeight,
131
+ sections: sectionsOut
132
+ };
133
+ }
134
+
135
+
136
+ export {$76e92a964ee11b97$export$206a0cb85295e433 as usePreparedColumnUnits, $76e92a964ee11b97$export$be8c5a449df4bde4 as prepareColumnUnits, $663a0cdd08b02256$export$55543e159517d62d as preprocessUnits, $b6657fba8924a702$export$e1644389ce074058 as MergeSectionsMode, $b6657fba8924a702$export$f1a15f539858307 as unitsOverlap, $b6657fba8924a702$export$70e712e2ac0237a as getUnitHeightRange, $b6657fba8924a702$export$d92a67740c050efb as agesOverlap, $b6657fba8924a702$export$ab14c04795685c55 as createUnitSorter, $b6657fba8924a702$export$d0c8ecbd4ed8940c as ensureArray, $b6657fba8924a702$export$97de5b0a6b4e4dac as ensureRealFloat, $1254c5929638d7f9$export$45e8e2d7a1794c23 as HybridScaleType, $1254c5929638d7f9$export$e40aae6f0de9bb95 as HeightMethod};
137
+ //# sourceMappingURL=column-views.3a7179c4.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/prepare-units/index.ts"],"sourcesContent":["import {\n getSectionAgeRange,\n getSectionPosRange,\n groupUnitsIntoSectionsByOverlap,\n groupUnitsIntoSectionsBySectionID,\n mergeOverlappingSections,\n preprocessSectionUnit,\n preprocessUnits,\n} from \"./helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { useMemo } from \"react\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport {\n collapseUnconformitiesByPixelHeight,\n computeSectionHeights,\n finalizeSectionHeights,\n} from \"./composite-scale\";\nimport {\n agesOverlap,\n MergeSectionsMode,\n PrepareColumnOptions,\n PreparedColumnData,\n unitsOverlap,\n} from \"./utils\";\nimport { SectionInfo } from \"./types\";\n\nexport * from \"./utils\";\nexport * from \"./types\";\nexport { preprocessUnits };\n\nexport function usePreparedColumnUnits(\n data: UnitLong[],\n options: PrepareColumnOptions,\n): PreparedColumnData {\n /** This function wraps and memoizes all preparation steps for converting\n * an array of units from the /units route to a form ready for usage.\n */\n return useMemo(() => {\n return prepareColumnUnits(data, options);\n }, [data, ...Object.values(options)]);\n}\n\nexport function prepareColumnUnits(\n units: UnitLong[],\n options: PrepareColumnOptions,\n): PreparedColumnData {\n /** Prepare units for rendering into Macrostrat columns */\n\n let { t_age, b_age, t_pos, b_pos } = options;\n\n const {\n mergeSections = MergeSectionsMode.OVERLAPPING,\n axisType,\n unconformityHeight,\n collapseSmallUnconformities = false,\n hybridScale,\n scale,\n } = options;\n\n if (scale != null) {\n // Set t_age and b_age based on scale domain if not already set\n const domain = scale.domain();\n if (axisType == ColumnAxisType.AGE) {\n if (t_age == null) t_age = Math.min(...domain);\n if (b_age == null) b_age = Math.max(...domain);\n } else {\n if (t_pos == null) t_pos = Math.min(...domain);\n if (b_pos == null) b_pos = Math.max(...domain);\n }\n }\n\n // Start by ensuring that ages and positions are numbers\n // also set up some values for eODP-style columns\n let units1 = units.map(preprocessSectionUnit);\n\n /** Prototype filtering to age range */\n units1 = units1.filter((d) => {\n // Filter units by t_age and b_age, inclusive\n if (axisType == ColumnAxisType.AGE) {\n return agesOverlap(d, { t_age, b_age });\n } else {\n return unitsOverlap(d, { t_pos, b_pos } as any, axisType);\n }\n });\n\n let mergeMode = mergeSections;\n // if (axisType != ColumnAxisType.AGE) {\n // // For non-age columns, we always merge sections.\n // // This is because the \"groupUnitsIntoSections\" function is not well-defined\n // // for non-age columns.\n // mergeMode = MergeSectionsMode.ALL;\n // }\n\n let sections0: SectionInfo<UnitLong>[];\n if (mergeMode == MergeSectionsMode.ALL) {\n // For the \"merge sections\" mode, we need to create a single section\n const [b_unit_pos, t_unit_pos] = getSectionPosRange(units1, axisType);\n const [b_unit_age, t_unit_age] = getSectionAgeRange(units1);\n sections0 = [\n {\n section_id: 0,\n /**\n * If ages limits are directly specified, use them to define the section bounds.\n * */\n t_pos: t_unit_pos,\n b_pos: b_unit_pos,\n t_age: t_unit_age,\n b_age: b_unit_age,\n units: units1,\n },\n ];\n } else if (axisType == ColumnAxisType.AGE) {\n sections0 = groupUnitsIntoSectionsBySectionID(units1, axisType);\n } else {\n sections0 = groupUnitsIntoSectionsByOverlap(units1, axisType);\n }\n\n // Limit sections to the range specified by t_age/b_age or t_pos/b_pos global options\n for (let section of sections0) {\n if (axisType == ColumnAxisType.AGE) {\n section.t_age = Math.max(section.t_age, t_age ?? -Infinity);\n section.b_age = Math.min(section.b_age, b_age ?? Infinity);\n } else if (axisType == ColumnAxisType.DEPTH) {\n section.t_pos = Math.max(section.t_pos, t_pos ?? -Infinity);\n section.b_pos = Math.min(section.b_pos, b_pos ?? Infinity);\n } else if (axisType == ColumnAxisType.HEIGHT) {\n section.t_pos = Math.max(section.t_pos, t_pos ?? -Infinity);\n section.b_pos = Math.min(section.b_pos, b_pos ?? Infinity);\n }\n }\n\n /** Merging overlapping sections really only makes sense for age/height/depth\n * columns. Ordinal columns are numbered by section so merging them\n * results in collisions.\n */\n let sections = sections0;\n if (\n mergeSections == MergeSectionsMode.OVERLAPPING &&\n axisType == ColumnAxisType.AGE\n ) {\n sections = mergeOverlappingSections(sections);\n }\n // Filter out undefined sections just in case\n sections = sections.filter((d) => d != null);\n\n // SCALES\n\n /* Compute pixel scales etc. for sections\n * We need to do this now to determine which unconformities\n * are small enough to collapse.\n */\n let sectionsWithScales = computeSectionHeights(sections, options);\n\n if (collapseSmallUnconformities && hybridScale == null) {\n // Collapse small unconformities in pixel height space\n // TODO: this doesn't seem to work properly for non-age columns?\n let threshold = unconformityHeight ?? 30;\n if (typeof collapseSmallUnconformities == \"number\") {\n threshold = collapseSmallUnconformities;\n }\n\n sectionsWithScales = collapseUnconformitiesByPixelHeight(\n sectionsWithScales,\n threshold,\n options,\n );\n }\n\n /** Prepare section scale information using groups */\n let { totalHeight, sections: sections2 } = finalizeSectionHeights(\n sectionsWithScales,\n unconformityHeight,\n );\n\n /** For each section, find units that are overlapping.\n * We do this after merging sections so that we can\n * handle cases where there are overlapping units across sections\n * */\n const sectionsOut = sections2.map((section) => {\n return {\n ...section,\n units: preprocessUnits(section, axisType),\n };\n });\n\n /** Reconstitute the units so that they are sorted by section and properly enhanced.\n * This is mostly important so that unit keyboard navigation\n * predictably selects adjacent units.\n */\n const units2 = sectionsOut.reduce((acc, group) => {\n const { units } = group;\n for (const unit of units) {\n acc.push(unit);\n }\n return acc;\n }, []);\n\n return {\n units: units2,\n totalHeight,\n sections: sectionsOut,\n };\n}\n"],"names":[],"version":3,"file":"column-views.3a7179c4.js.map"}
@@ -1,4 +1,4 @@
1
- import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.6dc251d3.js";
1
+ import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.86a51ce7.js";
2
2
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
3
3
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
4
4
  import {useMapClickHandler as $6wt91$useMapClickHandler, useMapStyleOperator as $6wt91$useMapStyleOperator, useMapEaseTo as $6wt91$useMapEaseTo} from "@macrostrat/mapbox-react";
@@ -196,4 +196,4 @@ function $dcd183b733f66144$var$SectionLine({ padding: padding }) {
196
196
 
197
197
 
198
198
  export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap};
199
- //# sourceMappingURL=column-views.49adc09e.js.map
199
+ //# sourceMappingURL=column-views.3e1b8c7d.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.49adc09e.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.3e1b8c7d.js.map"}