@macrostrat/column-views 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/{resolvers.36013b49.js → column-views.006d5180.js} +5 -2
  3. package/dist/esm/column-views.006d5180.js.map +1 -0
  4. package/dist/esm/column-views.05586d1f.js +22 -0
  5. package/dist/esm/column-views.05586d1f.js.map +1 -0
  6. package/dist/esm/column-views.0732894f.js +86 -0
  7. package/dist/esm/column-views.0732894f.js.map +1 -0
  8. package/dist/esm/column-views.09f22f45.js +64 -0
  9. package/dist/esm/column-views.09f22f45.js.map +1 -0
  10. package/dist/esm/column-views.10eba967.js +11 -0
  11. package/dist/esm/column-views.10eba967.js.map +1 -0
  12. package/dist/esm/{popover.module.c4d6bfb0.css → column-views.16cc7a58.css} +1 -1
  13. package/dist/esm/{popover.module.c4d6bfb0.css.map → column-views.16cc7a58.css.map} +1 -1
  14. package/dist/esm/{selection.f5b0297e.js → column-views.1af9761e.js} +19 -3
  15. package/dist/esm/column-views.1af9761e.js.map +1 -0
  16. package/dist/esm/column-views.1c92b88f.js +16 -0
  17. package/dist/esm/column-views.1c92b88f.js.map +1 -0
  18. package/dist/esm/{store.c4d7a8a4.js → column-views.1e055ed5.js} +6 -5
  19. package/dist/esm/column-views.1e055ed5.js.map +1 -0
  20. package/dist/esm/column-views.210514ec.js +11 -0
  21. package/dist/esm/column-views.210514ec.js.map +1 -0
  22. package/dist/esm/{column.module.a67a6b4c.css → column-views.217078ab.css} +4 -3
  23. package/dist/esm/column-views.217078ab.css.map +1 -0
  24. package/dist/esm/{panel.module.3d2ea3c6.css → column-views.25471fe0.css} +1 -1
  25. package/dist/esm/{panel.module.3d2ea3c6.css.map → column-views.25471fe0.css.map} +1 -1
  26. package/dist/esm/column-views.2c43c055.js +156 -0
  27. package/dist/esm/column-views.2c43c055.js.map +1 -0
  28. package/dist/esm/column-views.2c45a7b5.js +25 -0
  29. package/dist/esm/column-views.2c45a7b5.js.map +1 -0
  30. package/dist/esm/column-views.2ca34210.js +151 -0
  31. package/dist/esm/column-views.2ca34210.js.map +1 -0
  32. package/dist/esm/{unit-details.071cefed.js → column-views.2cb87813.js} +4 -4
  33. package/dist/esm/{unit-details.071cefed.js.map → column-views.2cb87813.js.map} +1 -1
  34. package/dist/esm/{mapbox.cac42eed.js → column-views.2d8e0e0f.js} +10 -9
  35. package/dist/esm/column-views.2d8e0e0f.js.map +1 -0
  36. package/dist/esm/column-views.3048acc1.js +66 -0
  37. package/dist/esm/column-views.3048acc1.js.map +1 -0
  38. package/dist/esm/column-views.3199d35a.css +61 -0
  39. package/dist/esm/column-views.3199d35a.css.map +1 -0
  40. package/dist/esm/{main.module.3dd9500b.css → column-views.338a7a83.css} +1 -1
  41. package/dist/esm/{main.module.3dd9500b.css.map → column-views.338a7a83.css.map} +1 -1
  42. package/dist/esm/{age-model-overlay.module.cd985dcb.js → column-views.3465c8ad.js} +1 -1
  43. package/dist/esm/{age-model-overlay.module.cd985dcb.js.map → column-views.3465c8ad.js.map} +1 -1
  44. package/dist/esm/column-views.34a52db7.js +31 -0
  45. package/dist/esm/column-views.34a52db7.js.map +1 -0
  46. package/dist/esm/{utils.d7a43a2a.js → column-views.39657bbf.js} +1 -1
  47. package/dist/esm/column-views.39657bbf.js.map +1 -0
  48. package/dist/esm/column-views.3b972a9b.css +4 -0
  49. package/dist/esm/{composite.module.69a38fd1.css.map → column-views.3b972a9b.css.map} +1 -1
  50. package/dist/esm/{base.910b80b4.js → column-views.3ba9213d.js} +16 -5
  51. package/dist/esm/column-views.3ba9213d.js.map +1 -0
  52. package/dist/esm/{inset-map.3c18106d.js → column-views.3de4dc43.js} +1 -1
  53. package/dist/esm/{inset-map.3c18106d.js.map → column-views.3de4dc43.js.map} +1 -1
  54. package/dist/esm/column-views.403a7b48.css +24 -0
  55. package/dist/esm/column-views.403a7b48.css.map +1 -0
  56. package/dist/esm/{composite.module.0638e7ee.js → column-views.40cd59b5.js} +1 -1
  57. package/dist/esm/{composite.module.0638e7ee.js.map → column-views.40cd59b5.js.map} +1 -1
  58. package/dist/esm/{column.module.1b776e15.js → column-views.4637f4ce.js} +1 -1
  59. package/dist/esm/column-views.4637f4ce.js.map +1 -0
  60. package/dist/esm/column-views.494447ef.css +2 -0
  61. package/dist/esm/column-views.494447ef.css.map +1 -0
  62. package/dist/esm/column-views.4950ea28.js +28 -0
  63. package/dist/esm/column-views.4950ea28.js.map +1 -0
  64. package/dist/esm/{composite-scale.577bf64a.js → column-views.4ab0ec82.js} +44 -13
  65. package/dist/esm/column-views.4ab0ec82.js.map +1 -0
  66. package/dist/esm/{age-model-overlay.c7226855.js → column-views.4d22c21c.js} +5 -5
  67. package/dist/esm/{age-model-overlay.c7226855.js.map → column-views.4d22c21c.js.map} +1 -1
  68. package/dist/esm/{boxes.module.4ebc7796.js → column-views.4d374a35.js} +1 -1
  69. package/dist/esm/{boxes.module.4ebc7796.js.map → column-views.4d374a35.js.map} +1 -1
  70. package/dist/esm/{keyboard-navigation.a9fc80dd.js → column-views.52a6eb47.js} +3 -3
  71. package/dist/esm/{keyboard-navigation.a9fc80dd.js.map → column-views.52a6eb47.js.map} +1 -1
  72. package/dist/esm/{popover.a810b7bc.js → column-views.52b03330.js} +6 -6
  73. package/dist/esm/{popover.a810b7bc.js.map → column-views.52b03330.js.map} +1 -1
  74. package/dist/esm/column-views.57636733.css +22 -0
  75. package/dist/esm/column-views.57636733.css.map +1 -0
  76. package/dist/esm/{panel.module.386166cc.js → column-views.58b82432.js} +1 -1
  77. package/dist/esm/{panel.module.386166cc.js.map → column-views.58b82432.js.map} +1 -1
  78. package/dist/esm/{main.2e0375a5.js → column-views.59792b70.js} +21 -18
  79. package/dist/esm/column-views.59792b70.js.map +1 -0
  80. package/dist/esm/{svg.4b9a96c1.js → column-views.59bb0cba.js} +2 -3
  81. package/dist/esm/column-views.59bb0cba.js.map +1 -0
  82. package/dist/esm/{correlation-chart.abd8b346.js → column-views.5ae1d963.js} +3 -3
  83. package/dist/esm/{correlation-chart.abd8b346.js.map → column-views.5ae1d963.js.map} +1 -1
  84. package/dist/esm/{fetch.99aec438.js → column-views.5cc09c1d.js} +1 -1
  85. package/dist/esm/column-views.5cc09c1d.js.map +1 -0
  86. package/dist/esm/column-views.5e2dc19d.js +187 -0
  87. package/dist/esm/column-views.5e2dc19d.js.map +1 -0
  88. package/dist/esm/{styles.7bc776d1.js → column-views.633c42a3.js} +2 -1
  89. package/dist/esm/column-views.633c42a3.js.map +1 -0
  90. package/dist/esm/{layers.033d3fb0.js → column-views.6549388a.js} +5 -6
  91. package/dist/esm/column-views.6549388a.js.map +1 -0
  92. package/dist/esm/{panel.598f76a5.js → column-views.66f823ba.js} +66 -15
  93. package/dist/esm/column-views.66f823ba.js.map +1 -0
  94. package/dist/esm/{age-axis.module.3cc91335.js → column-views.686d21ad.js} +10 -1
  95. package/dist/esm/column-views.686d21ad.js.map +1 -0
  96. package/dist/esm/column-views.68afac63.js +90 -0
  97. package/dist/esm/column-views.68afac63.js.map +1 -0
  98. package/dist/esm/column-views.6992ca88.js +25 -0
  99. package/dist/esm/column-views.6992ca88.js.map +1 -0
  100. package/dist/esm/column-views.69c0e90d.js +5 -0
  101. package/dist/esm/column-views.69c0e90d.js.map +1 -0
  102. package/dist/esm/{main.module.c09154b1.js → column-views.6a954628.js} +1 -1
  103. package/dist/esm/{main.module.c09154b1.js.map → column-views.6a954628.js.map} +1 -1
  104. package/dist/esm/{boxes.module.2b5fb18e.css → column-views.6c670c13.css} +1 -1
  105. package/dist/esm/{boxes.module.2b5fb18e.css.map → column-views.6c670c13.css.map} +1 -1
  106. package/dist/esm/{column-nav.5414677c.js → column-views.6d6b73b4.js} +1 -1
  107. package/dist/esm/{column-nav.5414677c.js.map → column-views.6d6b73b4.js.map} +1 -1
  108. package/dist/esm/column-views.708140ab.css +36 -0
  109. package/dist/esm/column-views.708140ab.css.map +1 -0
  110. package/dist/esm/column-views.7631c221.js +13 -0
  111. package/dist/esm/column-views.7631c221.js.map +1 -0
  112. package/dist/esm/{names.a8f2b452.js → column-views.7715e35e.js} +18 -14
  113. package/dist/esm/column-views.7715e35e.js.map +1 -0
  114. package/dist/esm/column-views.7a414dd1.css +56 -0
  115. package/dist/esm/column-views.7a414dd1.css.map +1 -0
  116. package/dist/esm/column-views.7a726ca9.js +24 -0
  117. package/dist/esm/column-views.7a726ca9.js.map +1 -0
  118. package/dist/esm/column-views.7e21d1ec.js +34 -0
  119. package/dist/esm/column-views.7e21d1ec.js.map +1 -0
  120. package/dist/esm/{column-correlation.c8dcfe98.js → column-views.7e350ae2.js} +3 -3
  121. package/dist/esm/{column-correlation.c8dcfe98.js.map → column-views.7e350ae2.js.map} +1 -1
  122. package/dist/esm/column-views.83a557b3.js +11 -0
  123. package/dist/esm/column-views.83a557b3.js.map +1 -0
  124. package/dist/esm/{state.2952cbca.js → column-views.85c6a716.js} +2 -2
  125. package/dist/esm/column-views.85c6a716.js.map +1 -0
  126. package/dist/esm/column-views.86619334.js +9 -0
  127. package/dist/esm/column-views.86619334.js.map +1 -0
  128. package/dist/esm/{age-axis.4a8cf5e6.js → column-views.8833218c.js} +25 -6
  129. package/dist/esm/column-views.8833218c.js.map +1 -0
  130. package/dist/esm/column-views.88984b34.js +92 -0
  131. package/dist/esm/column-views.88984b34.js.map +1 -0
  132. package/dist/esm/{core.91ede078.js → column-views.89b9e542.js} +12 -19
  133. package/dist/esm/column-views.89b9e542.js.map +1 -0
  134. package/dist/esm/column-views.8a1db14e.js +105 -0
  135. package/dist/esm/column-views.8a1db14e.js.map +1 -0
  136. package/dist/esm/column-views.8e7b01d2.js +43 -0
  137. package/dist/esm/column-views.8e7b01d2.js.map +1 -0
  138. package/dist/esm/column-views.8f108485.js +128 -0
  139. package/dist/esm/column-views.8f108485.js.map +1 -0
  140. package/dist/esm/column-views.904b9365.js +57 -0
  141. package/dist/esm/column-views.904b9365.js.map +1 -0
  142. package/dist/esm/column-views.90a863af.js +11 -0
  143. package/dist/esm/column-views.90a863af.js.map +1 -0
  144. package/dist/esm/{column.01d68dd8.js → column-views.91385fdc.js} +69 -32
  145. package/dist/esm/column-views.91385fdc.js.map +1 -0
  146. package/dist/esm/{helpers.2f0a0cb7.js → column-views.9892f825.js} +55 -4
  147. package/dist/esm/column-views.9892f825.js.map +1 -0
  148. package/dist/esm/{colors.395c6db5.js → column-views.9b77388d.js} +6 -5
  149. package/dist/esm/column-views.9b77388d.js.map +1 -0
  150. package/dist/esm/column-views.a582d4b5.js +7 -0
  151. package/dist/esm/column-views.a582d4b5.js.map +1 -0
  152. package/dist/esm/column-views.a7c5ae16.js +25 -0
  153. package/dist/esm/column-views.a7c5ae16.js.map +1 -0
  154. package/dist/esm/{boxes.8292cff2.js → column-views.a91dde4a.js} +14 -13
  155. package/dist/esm/column-views.a91dde4a.js.map +1 -0
  156. package/dist/esm/{_shared.f7eec55a.js → column-views.a94e99a2.js} +3 -3
  157. package/dist/esm/{_shared.f7eec55a.js.map → column-views.a94e99a2.js.map} +1 -1
  158. package/dist/esm/column-views.ad472a38.css +54 -0
  159. package/dist/esm/column-views.ad472a38.css.map +1 -0
  160. package/dist/esm/{age-axis.module.03773a80.css → column-views.b17f793f.css} +21 -1
  161. package/dist/esm/column-views.b17f793f.css.map +1 -0
  162. package/dist/esm/column-views.b2b5f52c.js +19 -0
  163. package/dist/esm/column-views.b2b5f52c.js.map +1 -0
  164. package/dist/esm/column-views.b324842f.css +57 -0
  165. package/dist/esm/column-views.b324842f.css.map +1 -0
  166. package/dist/esm/{state.178ef364.js → column-views.b9fe5176.js} +14 -8
  167. package/dist/esm/column-views.b9fe5176.js.map +1 -0
  168. package/dist/esm/{section.a34d379a.js → column-views.bb46641f.js} +9 -10
  169. package/dist/esm/column-views.bb46641f.js.map +1 -0
  170. package/dist/esm/column-views.bba13f77.css +54 -0
  171. package/dist/esm/column-views.bba13f77.css.map +1 -0
  172. package/dist/esm/{maps.bcdea9c1.js → column-views.bcffe6e5.js} +4 -4
  173. package/dist/esm/{maps.bcdea9c1.js.map → column-views.bcffe6e5.js.map} +1 -1
  174. package/dist/esm/{hash-string.285b37fb.js → column-views.beb54e95.js} +1 -1
  175. package/dist/esm/{hash-string.285b37fb.js.map → column-views.beb54e95.js.map} +1 -1
  176. package/dist/esm/{column-navigation.37cd3245.js → column-views.c25e8b32.js} +3 -3
  177. package/dist/esm/{column-navigation.37cd3245.js.map → column-views.c25e8b32.js.map} +1 -1
  178. package/dist/esm/column-views.c5e108f9.js +34 -0
  179. package/dist/esm/column-views.c5e108f9.js.map +1 -0
  180. package/dist/esm/{prepare-units.6c890a96.js → column-views.c71c321c.js} +12 -12
  181. package/dist/esm/column-views.c71c321c.js.map +1 -0
  182. package/dist/esm/{data-provider.f10c6d0b.js → column-views.c8e2983a.js} +6 -6
  183. package/dist/esm/{data-provider.f10c6d0b.js.map → column-views.c8e2983a.js.map} +1 -1
  184. package/dist/esm/column-views.cae5a0ad.js +37 -0
  185. package/dist/esm/column-views.cae5a0ad.js.map +1 -0
  186. package/dist/esm/{composite.039e4798.js → column-views.d2037465.js} +17 -11
  187. package/dist/esm/column-views.d2037465.js.map +1 -0
  188. package/dist/esm/{keyboard-navigation.6713401b.js → column-views.dc42f5d0.js} +1 -1
  189. package/dist/esm/column-views.dc42f5d0.js.map +1 -0
  190. package/dist/esm/column-views.e20f6a4b.js +124 -0
  191. package/dist/esm/column-views.e20f6a4b.js.map +1 -0
  192. package/dist/esm/{age-model-overlay.module.5d9e78fb.css → column-views.e40b8bfb.css} +1 -1
  193. package/dist/esm/{age-model-overlay.module.5d9e78fb.css.map → column-views.e40b8bfb.css.map} +1 -1
  194. package/dist/esm/column-views.e4975dd6.css +146 -0
  195. package/dist/esm/column-views.e4975dd6.css.map +1 -0
  196. package/dist/esm/column-views.e9f8b2a7.js +20 -0
  197. package/dist/esm/column-views.e9f8b2a7.js.map +1 -0
  198. package/dist/esm/column-views.edeab611.js +204 -0
  199. package/dist/esm/column-views.edeab611.js.map +1 -0
  200. package/dist/esm/{popover.module.c4ba4189.js → column-views.edf77621.js} +1 -1
  201. package/dist/esm/{popover.module.c4ba4189.js.map → column-views.edf77621.js.map} +1 -1
  202. package/dist/esm/{prepare-data.d4284b4a.js → column-views.f08929e2.js} +2 -2
  203. package/dist/esm/column-views.f08929e2.js.map +1 -0
  204. package/dist/esm/column-views.f13a1d6e.js +37 -0
  205. package/dist/esm/column-views.f13a1d6e.js.map +1 -0
  206. package/dist/esm/column-views.f2948ff8.js +101 -0
  207. package/dist/esm/column-views.f2948ff8.js.map +1 -0
  208. package/dist/esm/column-views.f9dab157.js +3 -0
  209. package/dist/esm/column-views.f9dab157.js.map +1 -0
  210. package/dist/esm/column-views.fa19cea0.js +108 -0
  211. package/dist/esm/column-views.fa19cea0.js.map +1 -0
  212. package/dist/esm/index.d.ts +325 -296
  213. package/dist/esm/index.d.ts.map +1 -1
  214. package/dist/esm/index.js +13 -11
  215. package/dist/esm/index.js.map +1 -1
  216. package/dist/node/column-views.007bf6c1.js +2 -0
  217. package/dist/node/column-views.007bf6c1.js.map +1 -0
  218. package/dist/node/column-views.00848c9a.js +2 -0
  219. package/dist/node/column-views.00848c9a.js.map +1 -0
  220. package/dist/node/column-views.0278b7e5.js +2 -0
  221. package/dist/node/column-views.0278b7e5.js.map +1 -0
  222. package/dist/node/column-views.04407342.js +2 -0
  223. package/dist/node/column-views.04407342.js.map +1 -0
  224. package/dist/node/column-views.072d3dcd.js +2 -0
  225. package/dist/node/column-views.072d3dcd.js.map +1 -0
  226. package/dist/node/column-views.0859f5d2.js +2 -0
  227. package/dist/node/column-views.0859f5d2.js.map +1 -0
  228. package/dist/node/column-views.0b579299.css +2 -0
  229. package/dist/node/column-views.0b579299.css.map +1 -0
  230. package/dist/node/column-views.0b72c188.js +2 -0
  231. package/dist/node/column-views.0b72c188.js.map +1 -0
  232. package/dist/node/column-views.1064fcfb.js +2 -0
  233. package/dist/node/column-views.1064fcfb.js.map +1 -0
  234. package/dist/node/column-views.10a2bad6.js +2 -0
  235. package/dist/node/column-views.10a2bad6.js.map +1 -0
  236. package/dist/node/column-views.12864efd.js +2 -0
  237. package/dist/node/column-views.12864efd.js.map +1 -0
  238. package/dist/node/column-views.12a70e9d.js +2 -0
  239. package/dist/node/column-views.12a70e9d.js.map +1 -0
  240. package/dist/node/column-views.139b0855.js +2 -0
  241. package/dist/node/column-views.139b0855.js.map +1 -0
  242. package/dist/node/column-views.1a0b56fc.js +2 -0
  243. package/dist/node/column-views.1a0b56fc.js.map +1 -0
  244. package/dist/node/column-views.1de87649.js +2 -0
  245. package/dist/node/column-views.1de87649.js.map +1 -0
  246. package/dist/node/column-views.22673dc1.js +2 -0
  247. package/dist/node/column-views.22673dc1.js.map +1 -0
  248. package/dist/node/column-views.273ac4a8.js +2 -0
  249. package/dist/node/column-views.273ac4a8.js.map +1 -0
  250. package/dist/node/column-views.28609db2.css +2 -0
  251. package/dist/node/column-views.28609db2.css.map +1 -0
  252. package/dist/node/column-views.286d444d.js +2 -0
  253. package/dist/node/column-views.286d444d.js.map +1 -0
  254. package/dist/node/column-views.2877f398.js +2 -0
  255. package/dist/node/column-views.2877f398.js.map +1 -0
  256. package/dist/node/column-views.2a70b9a2.js +2 -0
  257. package/dist/node/column-views.2a70b9a2.js.map +1 -0
  258. package/dist/node/column-views.2e4e357d.js +2 -0
  259. package/dist/node/column-views.2e4e357d.js.map +1 -0
  260. package/dist/node/column-views.2fa1c4e6.css +2 -0
  261. package/dist/node/column-views.2fa1c4e6.css.map +1 -0
  262. package/dist/node/column-views.33102ceb.js +2 -0
  263. package/dist/node/column-views.33102ceb.js.map +1 -0
  264. package/dist/node/column-views.3345cd7a.js +2 -0
  265. package/dist/node/column-views.3345cd7a.js.map +1 -0
  266. package/dist/node/column-views.33752461.js +2 -0
  267. package/dist/node/column-views.33752461.js.map +1 -0
  268. package/dist/node/column-views.34b48ee4.js +2 -0
  269. package/dist/node/column-views.34b48ee4.js.map +1 -0
  270. package/dist/node/column-views.39d3a0be.js +2 -0
  271. package/dist/node/column-views.39d3a0be.js.map +1 -0
  272. package/dist/node/column-views.3a55ecd7.css +2 -0
  273. package/dist/node/column-views.3a55ecd7.css.map +1 -0
  274. package/dist/node/column-views.3bd09ad6.js +2 -0
  275. package/dist/node/column-views.3bd09ad6.js.map +1 -0
  276. package/dist/node/column-views.3cb3345e.js +2 -0
  277. package/dist/node/column-views.3cb3345e.js.map +1 -0
  278. package/dist/node/column-views.3f3cfcce.js +2 -0
  279. package/dist/node/column-views.3f3cfcce.js.map +1 -0
  280. package/dist/node/column-views.41876859.js +2 -0
  281. package/dist/node/column-views.41876859.js.map +1 -0
  282. package/dist/node/column-views.41d01674.js +2 -0
  283. package/dist/node/column-views.41d01674.js.map +1 -0
  284. package/dist/node/column-views.44b75011.js +2 -0
  285. package/dist/node/column-views.44b75011.js.map +1 -0
  286. package/dist/node/column-views.45168c80.js +2 -0
  287. package/dist/node/column-views.45168c80.js.map +1 -0
  288. package/dist/node/column-views.47f67ad4.js +2 -0
  289. package/dist/node/column-views.47f67ad4.js.map +1 -0
  290. package/dist/node/column-views.4e2bdf9b.js +2 -0
  291. package/dist/node/column-views.4e2bdf9b.js.map +1 -0
  292. package/dist/node/column-views.51fbed89.js +2 -0
  293. package/dist/node/column-views.51fbed89.js.map +1 -0
  294. package/dist/node/column-views.5b6833f0.js +2 -0
  295. package/dist/node/column-views.5b6833f0.js.map +1 -0
  296. package/dist/node/column-views.5c1b0eeb.css +2 -0
  297. package/dist/node/column-views.5c1b0eeb.css.map +1 -0
  298. package/dist/node/column-views.63165cf3.css +2 -0
  299. package/dist/node/column-views.63165cf3.css.map +1 -0
  300. package/dist/node/column-views.65ad6310.css +2 -0
  301. package/dist/node/column-views.65ad6310.css.map +1 -0
  302. package/dist/node/column-views.664dc6c9.js +2 -0
  303. package/dist/node/column-views.664dc6c9.js.map +1 -0
  304. package/dist/node/column-views.68224fdd.css +2 -0
  305. package/dist/node/column-views.68224fdd.css.map +1 -0
  306. package/dist/node/column-views.68ded006.js +2 -0
  307. package/dist/node/column-views.68ded006.js.map +1 -0
  308. package/dist/node/column-views.6a0a35e7.js +2 -0
  309. package/dist/node/column-views.6a0a35e7.js.map +1 -0
  310. package/dist/node/column-views.6a4c2100.css +2 -0
  311. package/dist/node/column-views.6a4c2100.css.map +1 -0
  312. package/dist/node/column-views.6a9da051.js +2 -0
  313. package/dist/node/column-views.6a9da051.js.map +1 -0
  314. package/dist/node/column-views.6b441349.js +2 -0
  315. package/dist/node/column-views.6b441349.js.map +1 -0
  316. package/dist/node/column-views.6b6b756b.js +2 -0
  317. package/dist/node/column-views.6b6b756b.js.map +1 -0
  318. package/dist/node/column-views.6bba8c57.js +2 -0
  319. package/dist/node/column-views.6bba8c57.js.map +1 -0
  320. package/dist/node/column-views.6d1551bd.js +2 -0
  321. package/dist/node/column-views.6d1551bd.js.map +1 -0
  322. package/dist/node/column-views.6da49480.js +2 -0
  323. package/dist/node/column-views.6da49480.js.map +1 -0
  324. package/dist/node/column-views.71c48a11.js +2 -0
  325. package/dist/node/column-views.71c48a11.js.map +1 -0
  326. package/dist/node/column-views.7350ac73.js +2 -0
  327. package/dist/node/column-views.7350ac73.js.map +1 -0
  328. package/dist/node/column-views.755f726e.js +2 -0
  329. package/dist/node/column-views.755f726e.js.map +1 -0
  330. package/dist/node/column-views.770d2c95.js +2 -0
  331. package/dist/node/column-views.770d2c95.js.map +1 -0
  332. package/dist/node/column-views.78d3f3c5.js +2 -0
  333. package/dist/node/column-views.78d3f3c5.js.map +1 -0
  334. package/dist/node/column-views.7b9bd06e.css +2 -0
  335. package/dist/node/column-views.7b9bd06e.css.map +1 -0
  336. package/dist/node/column-views.7be87c6b.js +2 -0
  337. package/dist/node/column-views.7be87c6b.js.map +1 -0
  338. package/dist/node/column-views.7d45bbeb.js +2 -0
  339. package/dist/node/column-views.7d45bbeb.js.map +1 -0
  340. package/dist/node/column-views.7f621850.js +2 -0
  341. package/dist/node/column-views.7f621850.js.map +1 -0
  342. package/dist/node/column-views.82cf7c0d.js +2 -0
  343. package/dist/node/column-views.82cf7c0d.js.map +1 -0
  344. package/dist/node/column-views.869c7199.js +2 -0
  345. package/dist/node/column-views.869c7199.js.map +1 -0
  346. package/dist/node/column-views.8a02b1fe.js +2 -0
  347. package/dist/node/column-views.8a02b1fe.js.map +1 -0
  348. package/dist/node/column-views.8acd24ca.js +2 -0
  349. package/dist/node/column-views.8acd24ca.js.map +1 -0
  350. package/dist/node/column-views.8c00beb4.js +2 -0
  351. package/dist/node/column-views.8c00beb4.js.map +1 -0
  352. package/dist/node/column-views.8cfed88b.js +2 -0
  353. package/dist/node/column-views.8cfed88b.js.map +1 -0
  354. package/dist/node/column-views.8f54691f.js +2 -0
  355. package/dist/node/column-views.8f54691f.js.map +1 -0
  356. package/dist/node/column-views.95411f1b.js +2 -0
  357. package/dist/node/column-views.95411f1b.js.map +1 -0
  358. package/dist/node/column-views.9cb13e51.css +2 -0
  359. package/dist/node/column-views.9cb13e51.css.map +1 -0
  360. package/dist/node/column-views.a0aac838.js +2 -0
  361. package/dist/node/column-views.a0aac838.js.map +1 -0
  362. package/dist/node/column-views.a208338e.js +2 -0
  363. package/dist/node/column-views.a208338e.js.map +1 -0
  364. package/dist/node/column-views.a501cea0.js +2 -0
  365. package/dist/node/column-views.a501cea0.js.map +1 -0
  366. package/dist/node/column-views.a634ac7f.js +2 -0
  367. package/dist/node/column-views.a634ac7f.js.map +1 -0
  368. package/dist/node/column-views.a8ffe072.js +2 -0
  369. package/dist/node/column-views.a8ffe072.js.map +1 -0
  370. package/dist/node/column-views.b169b4b5.css +2 -0
  371. package/dist/node/column-views.b169b4b5.css.map +1 -0
  372. package/dist/node/column-views.b55bd885.css +2 -0
  373. package/dist/node/column-views.b55bd885.css.map +1 -0
  374. package/dist/node/column-views.b773edb8.js +2 -0
  375. package/dist/node/column-views.b773edb8.js.map +1 -0
  376. package/dist/node/column-views.baf032f1.js +2 -0
  377. package/dist/node/column-views.baf032f1.js.map +1 -0
  378. package/dist/node/column-views.bb510980.js +2 -0
  379. package/dist/node/column-views.bb510980.js.map +1 -0
  380. package/dist/node/column-views.c968a185.css +2 -0
  381. package/dist/node/column-views.c968a185.css.map +1 -0
  382. package/dist/node/column-views.ca16625d.js +2 -0
  383. package/dist/node/column-views.ca16625d.js.map +1 -0
  384. package/dist/node/column-views.cd3c430b.js +2 -0
  385. package/dist/node/column-views.cd3c430b.js.map +1 -0
  386. package/dist/node/column-views.cd468adb.css +2 -0
  387. package/dist/node/column-views.cd468adb.css.map +1 -0
  388. package/dist/node/column-views.cdcce702.js +2 -0
  389. package/dist/node/column-views.cdcce702.js.map +1 -0
  390. package/dist/node/column-views.ce6808fe.js +2 -0
  391. package/dist/node/column-views.ce6808fe.js.map +1 -0
  392. package/dist/node/column-views.cf90f63d.js +2 -0
  393. package/dist/node/column-views.cf90f63d.js.map +1 -0
  394. package/dist/node/column-views.d0ee3385.js +2 -0
  395. package/dist/node/column-views.d0ee3385.js.map +1 -0
  396. package/dist/node/column-views.d6708353.js +2 -0
  397. package/dist/node/column-views.d6708353.js.map +1 -0
  398. package/dist/node/column-views.d9bbd6fb.css +2 -0
  399. package/dist/node/column-views.d9bbd6fb.css.map +1 -0
  400. package/dist/node/column-views.dfe9f0a9.js +2 -0
  401. package/dist/node/column-views.dfe9f0a9.js.map +1 -0
  402. package/dist/node/column-views.e52994ea.js +2 -0
  403. package/dist/node/column-views.e52994ea.js.map +1 -0
  404. package/dist/node/column-views.e6720522.js +2 -0
  405. package/dist/node/column-views.e6720522.js.map +1 -0
  406. package/dist/node/column-views.e77dd525.js +2 -0
  407. package/dist/node/column-views.e77dd525.js.map +1 -0
  408. package/dist/node/column-views.e7cd811c.css +2 -0
  409. package/dist/node/column-views.e7cd811c.css.map +1 -0
  410. package/dist/node/column-views.e7e26765.js +2 -0
  411. package/dist/node/column-views.e7e26765.js.map +1 -0
  412. package/dist/node/column-views.e9515ec1.js +2 -0
  413. package/dist/node/column-views.e9515ec1.js.map +1 -0
  414. package/dist/node/column-views.ebb44b7d.js +2 -0
  415. package/dist/node/column-views.ebb44b7d.js.map +1 -0
  416. package/dist/node/column-views.ee8cb107.js +2 -0
  417. package/dist/node/column-views.ee8cb107.js.map +1 -0
  418. package/dist/node/column-views.eea80478.js +2 -0
  419. package/dist/node/column-views.eea80478.js.map +1 -0
  420. package/dist/node/column-views.f7315cbc.css +2 -0
  421. package/dist/node/column-views.f7315cbc.css.map +1 -0
  422. package/dist/node/column-views.f76ba19f.js +2 -0
  423. package/dist/node/column-views.f76ba19f.js.map +1 -0
  424. package/dist/node/column-views.fea32686.js +2 -0
  425. package/dist/node/column-views.fea32686.js.map +1 -0
  426. package/dist/node/index.js +1 -1
  427. package/dist/node/index.js.map +1 -1
  428. package/package.json +23 -23
  429. package/src/age-axis.module.sass +20 -0
  430. package/src/age-axis.ts +25 -3
  431. package/src/age-model-overlay.ts +2 -2
  432. package/src/column.module.sass +3 -3
  433. package/src/column.ts +92 -19
  434. package/src/correlation-chart/main.ts +25 -12
  435. package/src/correlation-chart/prepare-data.ts +6 -6
  436. package/src/correlation-chart/stories/correlation-chart.stories.ts +12 -6
  437. package/src/data-provider/base.ts +20 -11
  438. package/src/data-provider/column-nav.ts +2 -2
  439. package/src/data-provider/fetch.ts +9 -9
  440. package/src/data-provider/store.ts +15 -10
  441. package/src/{carbon-isotopes → facets/carbon-isotopes}/data-area.ts +5 -4
  442. package/src/{carbon-isotopes → facets/carbon-isotopes}/index.ts +0 -1
  443. package/src/facets/carbon-isotopes/isotopes-column.module.sass +31 -0
  444. package/src/{carbon-isotopes → facets/carbon-isotopes}/isotopes-column.ts +119 -87
  445. package/src/facets/detrital-zircon/index.module.sass +22 -0
  446. package/src/facets/detrital-zircon/index.ts +132 -0
  447. package/src/facets/detrital-zircon/provider.ts +51 -0
  448. package/src/facets/fossils/index.module.sass +14 -0
  449. package/src/facets/fossils/index.ts +120 -0
  450. package/src/facets/fossils/provider.ts +80 -0
  451. package/src/facets/index.ts +3 -0
  452. package/src/index.ts +2 -1
  453. package/src/maps/_shared/inset-map.stories.ts +1 -1
  454. package/src/maps/_shared/inset-map.ts +2 -2
  455. package/src/maps/_shared/styles.ts +3 -1
  456. package/src/maps/column-correlation/column-correlation-map.stories.ts +3 -3
  457. package/src/maps/column-correlation/core.ts +17 -26
  458. package/src/maps/column-correlation/state.ts +9 -9
  459. package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +177 -1
  460. package/src/maps/column-navigation/mapbox/index.ts +18 -15
  461. package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +4 -4
  462. package/src/maps/column-navigation/mapbox/state.ts +16 -6
  463. package/src/maps/column-navigation/svg/animated.ts +2 -2
  464. package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +2 -2
  465. package/src/maps/column-navigation/svg/index.ts +2 -4
  466. package/src/maps/column-navigation/svg/layers.ts +5 -7
  467. package/src/maps/column-navigation/utils/keyboard-navigation.ts +1 -1
  468. package/src/notes.ts +49 -0
  469. package/src/prepare-units/composite-scale.ts +73 -25
  470. package/src/prepare-units/helpers.ts +78 -13
  471. package/src/prepare-units/index.ts +17 -17
  472. package/src/prepare-units/utils.ts +7 -7
  473. package/src/section.ts +8 -8
  474. package/src/unit-details/panel.ts +103 -19
  475. package/src/unit-details/popover.ts +5 -5
  476. package/src/units/boxes.ts +20 -10
  477. package/src/units/colors.ts +12 -5
  478. package/src/units/composite.ts +16 -11
  479. package/src/units/index.ts +77 -10
  480. package/src/units/names.ts +19 -16
  481. package/src/units/resolvers.ts +4 -1
  482. package/src/units/selection.ts +44 -11
  483. package/src/units/types.ts +2 -0
  484. package/dist/esm/age-axis.4a8cf5e6.js.map +0 -1
  485. package/dist/esm/age-axis.module.03773a80.css.map +0 -1
  486. package/dist/esm/age-axis.module.3cc91335.js.map +0 -1
  487. package/dist/esm/base.910b80b4.js.map +0 -1
  488. package/dist/esm/boxes.8292cff2.js.map +0 -1
  489. package/dist/esm/carbon-isotopes.10db8285.js +0 -11
  490. package/dist/esm/carbon-isotopes.10db8285.js.map +0 -1
  491. package/dist/esm/colors.395c6db5.js.map +0 -1
  492. package/dist/esm/column.01d68dd8.js.map +0 -1
  493. package/dist/esm/column.a25f8ebd.js +0 -117
  494. package/dist/esm/column.a25f8ebd.js.map +0 -1
  495. package/dist/esm/column.module.1b776e15.js.map +0 -1
  496. package/dist/esm/column.module.7f47d25a.js +0 -34
  497. package/dist/esm/column.module.7f47d25a.js.map +0 -1
  498. package/dist/esm/column.module.a67a6b4c.css.map +0 -1
  499. package/dist/esm/column.module.cbb072df.css +0 -157
  500. package/dist/esm/column.module.cbb072df.css.map +0 -1
  501. package/dist/esm/composite-scale.577bf64a.js.map +0 -1
  502. package/dist/esm/composite.039e4798.js.map +0 -1
  503. package/dist/esm/composite.module.69a38fd1.css +0 -4
  504. package/dist/esm/core.843310d3.js +0 -88
  505. package/dist/esm/core.843310d3.js.map +0 -1
  506. package/dist/esm/core.91ede078.js.map +0 -1
  507. package/dist/esm/data-area.daff8da0.js +0 -86
  508. package/dist/esm/data-area.daff8da0.js.map +0 -1
  509. package/dist/esm/data-provider.1506eb64.js +0 -25
  510. package/dist/esm/data-provider.1506eb64.js.map +0 -1
  511. package/dist/esm/fetch.99aec438.js.map +0 -1
  512. package/dist/esm/helpers.2f0a0cb7.js.map +0 -1
  513. package/dist/esm/isotopes-column.7cb5cc45.js +0 -163
  514. package/dist/esm/isotopes-column.7cb5cc45.js.map +0 -1
  515. package/dist/esm/keyboard-navigation.6713401b.js.map +0 -1
  516. package/dist/esm/layers.033d3fb0.js.map +0 -1
  517. package/dist/esm/main.2e0375a5.js.map +0 -1
  518. package/dist/esm/mapbox.cac42eed.js.map +0 -1
  519. package/dist/esm/names.a8f2b452.js.map +0 -1
  520. package/dist/esm/panel.598f76a5.js.map +0 -1
  521. package/dist/esm/prepare-data.d4284b4a.js.map +0 -1
  522. package/dist/esm/prepare-units.6c890a96.js.map +0 -1
  523. package/dist/esm/resolvers.36013b49.js.map +0 -1
  524. package/dist/esm/section.a34d379a.js.map +0 -1
  525. package/dist/esm/selection.f5b0297e.js.map +0 -1
  526. package/dist/esm/state.178ef364.js.map +0 -1
  527. package/dist/esm/state.2952cbca.js.map +0 -1
  528. package/dist/esm/store.c4d7a8a4.js.map +0 -1
  529. package/dist/esm/styles.7bc776d1.js.map +0 -1
  530. package/dist/esm/svg.4b9a96c1.js.map +0 -1
  531. package/dist/esm/types.0f0b57c9.js +0 -3
  532. package/dist/esm/types.0f0b57c9.js.map +0 -1
  533. package/dist/esm/units.5a4fc058.js +0 -98
  534. package/dist/esm/units.5a4fc058.js.map +0 -1
  535. package/dist/esm/utils.d7a43a2a.js.map +0 -1
  536. package/src/carbon-isotopes/column.module.sass +0 -136
  537. package/src/carbon-isotopes/column.ts +0 -133
  538. package/src/carbon-isotopes/core.ts +0 -81
  539. /package/src/{carbon-isotopes → facets/carbon-isotopes}/data-provider.ts +0 -0
@@ -15,7 +15,7 @@ import { geoArea } from "d3-geo";
15
15
 
16
16
  function defaultFetch(
17
17
  url: string,
18
- options: RequestInit | undefined = undefined
18
+ options: RequestInit | undefined = undefined,
19
19
  ) {
20
20
  const baseURL = "https://macrostrat.org/api/v2";
21
21
  return crossFetch(baseURL + url, options);
@@ -30,7 +30,7 @@ export interface ColumnFetchOptions {
30
30
  }
31
31
 
32
32
  export async function fetchAllColumns(
33
- options: ColumnFetchOptions = {}
33
+ options: ColumnFetchOptions = {},
34
34
  ): Promise<ColumnGeoJSONRecord[]> {
35
35
  const {
36
36
  apiBaseURL,
@@ -92,7 +92,7 @@ export function useColumnFeatures({
92
92
  return useAPIResult(
93
93
  apiRoute,
94
94
  { format, all, status_code, project_id },
95
- processor
95
+ processor,
96
96
  );
97
97
  }
98
98
 
@@ -117,12 +117,12 @@ function processTopoJSON(res) {
117
117
 
118
118
  function postProcessColumns(columns) {
119
119
  return promoteColumnIDs(
120
- convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns))
120
+ convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),
121
121
  );
122
122
  }
123
123
 
124
124
  function promoteColumnIDs(
125
- features: ColumnGeoJSONRecord[]
125
+ features: ColumnGeoJSONRecord[],
126
126
  ): ColumnGeoJSONRecordWithID[] {
127
127
  return features.map((f, i) => {
128
128
  return {
@@ -171,7 +171,7 @@ export async function fetchLithologies(fetch = defaultFetch) {
171
171
 
172
172
  export async function fetchIntervals(
173
173
  timescaleID: number | null,
174
- fetch = defaultFetch
174
+ fetch = defaultFetch,
175
175
  ) {
176
176
  let url = `/defs/intervals`;
177
177
  if (timescaleID != null) {
@@ -190,7 +190,7 @@ export async function fetchEnvironments(fetch = defaultFetch) {
190
190
 
191
191
  export async function fetchRefs(
192
192
  refs: number[],
193
- fetch = defaultFetch
193
+ fetch = defaultFetch,
194
194
  ): Promise<MacrostratRef[]> {
195
195
  let url = `/defs/refs`;
196
196
  if (refs.length == 0) {
@@ -208,7 +208,7 @@ export type ColumnData = {
208
208
 
209
209
  export async function fetchUnits(
210
210
  columns: number[],
211
- fetch = defaultFetch
211
+ fetch = defaultFetch,
212
212
  ): Promise<ColumnData[]> {
213
213
  const promises = columns.map((col_id) => fetchColumnUnits(col_id, fetch));
214
214
  return await Promise.all(promises);
@@ -216,7 +216,7 @@ export async function fetchUnits(
216
216
 
217
217
  export async function fetchColumnUnits(
218
218
  col_id: number,
219
- fetch = defaultFetch
219
+ fetch = defaultFetch,
220
220
  ): Promise<ColumnData> {
221
221
  const params = new URLSearchParams();
222
222
  params.append("response", "long");
@@ -1,8 +1,15 @@
1
- import { createContext, useContext, ReactNode, useMemo } from "react";
1
+ import {
2
+ createContext,
3
+ useContext,
4
+ ReactNode,
5
+ useMemo,
6
+ useEffect,
7
+ } from "react";
2
8
  import h from "@macrostrat/hyper";
3
9
  import {
4
10
  createCompositeScale,
5
11
  PackageLayoutData,
12
+ CompositeColumnScale,
6
13
  } from "../prepare-units/composite-scale";
7
14
  import { ExtUnit } from "../prepare-units/helpers";
8
15
  import { ColumnAxisType } from "@macrostrat/column-components";
@@ -51,7 +58,7 @@ export function useMacrostratColumnData() {
51
58
  const ctx = useContext(MacrostratColumnDataContext);
52
59
  if (!ctx) {
53
60
  throw new Error(
54
- "useMacrostratColumnData must be used within a MacrostratColumnDataProvider"
61
+ "useMacrostratColumnData must be used within a MacrostratColumnDataProvider",
55
62
  );
56
63
  }
57
64
  return ctx;
@@ -61,12 +68,10 @@ export function useMacrostratUnits() {
61
68
  return useMacrostratColumnData().units;
62
69
  }
63
70
 
64
- export function useCompositeScale() {
65
- const ctx = useContext(MacrostratColumnDataContext);
66
- if (!ctx) {
67
- throw new Error(
68
- "useCompositeScale must be used within a MacrostratUnitsProvider"
69
- );
70
- }
71
- return createCompositeScale(ctx.sections, true);
71
+ export function useCompositeScale(): CompositeColumnScale {
72
+ const ctx = useMacrostratColumnData();
73
+ return useMemo(
74
+ () => createCompositeScale(ctx.sections, true),
75
+ [ctx.sections],
76
+ );
72
77
  }
@@ -2,6 +2,7 @@ import { line } from "d3-shape";
2
2
  import { createContext, useContext } from "react";
3
3
  import h from "@macrostrat/hyper";
4
4
  import { ColumnLayoutContext } from "@macrostrat/column-components";
5
+ import { useCompositeScale } from "../../data-provider";
5
6
 
6
7
  const inDomain = (scale, num) => {
7
8
  const domain = scale.domain();
@@ -29,9 +30,11 @@ export interface DataAreaProps {
29
30
  }
30
31
 
31
32
  const IsotopesDataArea = function (props: DataAreaProps) {
32
- const { xScale, scale } = useContext(ColumnLayoutContext) ?? {};
33
+ const xScale = useContext(ColumnLayoutContext)?.xScale;
33
34
 
34
- let { corrected, system, children, getHeight, clipY } = props;
35
+ const scale = useCompositeScale();
36
+
37
+ let { corrected, system, children, getHeight, clipY = false } = props;
35
38
  if (getHeight == null) {
36
39
  getHeight = function (d) {
37
40
  if (d.height == null) {
@@ -63,8 +66,6 @@ const IsotopesDataArea = function (props: DataAreaProps) {
63
66
  return h(IsotopesDataContext.Provider, { value }, h("g.data", children));
64
67
  };
65
68
 
66
- IsotopesDataArea.defaultProps = { clipY: false };
67
-
68
69
  const IsotopeDataPoint = function (props) {
69
70
  const { pointLocator } = useContext(IsotopesDataContext);
70
71
  const { datum, strokeWidth, ...rest } = props;
@@ -1,3 +1,2 @@
1
1
  export * from "./isotopes-column";
2
2
  export * from "./data-provider";
3
- export * from "./core";
@@ -0,0 +1,31 @@
1
+ .isotopes-column
2
+ position: relative
3
+
4
+ .isotopes-scale-axis
5
+ position: sticky
6
+ bottom: 0
7
+ left: 0
8
+ pointer-events: none
9
+ margin-top: -45px
10
+ height: 45px
11
+
12
+ svg
13
+ background-color: var(--column-background-color)
14
+
15
+ path, line
16
+ stroke: var(--column-text-color)
17
+ fill: none
18
+
19
+ text
20
+ fill: var(--column-text-color)
21
+
22
+ .scale-lines
23
+ .tick
24
+ &.zero
25
+ line
26
+ stroke-width: 1px
27
+ stroke-dasharray: none
28
+ line
29
+ stroke: var(--column-text-color)
30
+ stroke-dasharray: 1 4
31
+
@@ -1,6 +1,5 @@
1
- import { format } from "d3-format";
2
- import { useContext } from "react";
3
- import h from "@macrostrat/hyper";
1
+ import { useMemo } from "react";
2
+ import hyper from "@macrostrat/hyper";
4
3
  import classNames from "classnames";
5
4
  import { AxisBottom } from "@visx/axis";
6
5
  import { useMeasurementData } from "./data-provider";
@@ -12,14 +11,18 @@ import {
12
11
  } from "./data-area";
13
12
  import { referenceMeasuresToColumn } from "@macrostrat/stratigraphy-utils";
14
13
  import {
15
- CrossAxisLayoutProvider,
16
- ColumnLayoutContext,
17
- useColumnDivisions,
14
+ SVG,
15
+ ColumnLayoutProvider,
16
+ useColumnLayout,
18
17
  } from "@macrostrat/column-components";
19
- import { BaseUnit } from "@macrostrat/api-types";
20
- import { AxisProps } from "@visx/axis/lib/axis/Axis";
18
+ import {
19
+ useMacrostratColumnData,
20
+ useMacrostratUnits,
21
+ } from "../../data-provider";
22
+ import styles from "./isotopes-column.module.sass";
23
+ import { scaleLinear } from "d3-scale";
21
24
 
22
- const fmt = format(".1f");
25
+ const h = hyper.styled(styles);
23
26
 
24
27
  type IsotopesTextProps = {
25
28
  datum: any;
@@ -36,64 +39,10 @@ function IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {
36
39
  y,
37
40
  ...rest,
38
41
  },
39
- text
42
+ text,
40
43
  );
41
44
  }
42
45
 
43
- function ColumnScale(props) {
44
- const {
45
- label,
46
- showAxis = true,
47
- nTicks = 6,
48
- tickValues: _tickVals,
49
- ...rest
50
- } = props;
51
- const { xScale, pixelHeight, width } = useContext(ColumnLayoutContext);
52
-
53
- const tickValues = _tickVals ?? xScale.ticks(nTicks);
54
-
55
- return h("g.scale.isotope-scale-axis", [
56
- h(
57
- "g.scale-lines",
58
- tickValues.map((value) => {
59
- const strokeDasharray = value == 0 ? null : "2 6";
60
- return h(ScaleLine, { value, stroke: "#ddd", strokeDasharray });
61
- })
62
- ),
63
- h.if(showAxis)([
64
- h("rect.underlay", {
65
- x: 0,
66
- y: pixelHeight,
67
- width,
68
- height: 30,
69
- }),
70
- h(AxisBottom, {
71
- scale: xScale,
72
- tickLength: 3,
73
- tickValues,
74
- ...rest,
75
- top: pixelHeight,
76
- tickLabelProps(tickValue, i) {
77
- // Compensate for negative sign
78
- let dx;
79
- if (tickValue < 0) {
80
- dx = -2;
81
- }
82
- return {
83
- dy: "-1px",
84
- dx,
85
- fontSize: 10,
86
- textAnchor: "middle",
87
- fill: "#aaa",
88
- };
89
- },
90
- labelOffset: 0,
91
- label,
92
- }),
93
- ]),
94
- ]);
95
- }
96
-
97
46
  interface ScaleLineProps {
98
47
  value: number;
99
48
  className?: string;
@@ -105,19 +54,27 @@ interface ScaleLineProps {
105
54
 
106
55
  function ScaleLine(props: ScaleLineProps) {
107
56
  let { value, className, labelBottom, labelOffset, ...rest } = props;
108
- if (labelBottom == null) {
109
- labelBottom = false;
110
- }
111
- if (labelOffset == null) {
112
- labelOffset = 12;
113
- }
114
- const { xScale, pixelHeight } = useContext(ColumnLayoutContext);
57
+ const { sections } = useMacrostratColumnData();
58
+
59
+ const { xScale } = useColumnLayout();
115
60
  const x = xScale(value);
116
61
  const transform = `translate(${x})`;
117
62
  className = classNames(className, { zero: value === 0 });
118
63
  return h("g.tick", { transform, className, key: value }, [
119
- h("line", { x0: 0, x1: 0, y0: 0, y1: pixelHeight, ...rest }),
120
- h.if(labelBottom)("text", { y: pixelHeight + labelOffset }, `${value}`),
64
+ h(
65
+ "g.tick-lines",
66
+ sections.map((d) => {
67
+ const { scaleInfo } = d;
68
+ const y1 = scaleInfo.offset;
69
+ const y2 = y1 + scaleInfo.pixelHeight;
70
+ return h("line", {
71
+ y1,
72
+ y2,
73
+ strokeDasharray: props.strokeDasharray,
74
+ strokeWidth: 1,
75
+ });
76
+ }),
77
+ ),
121
78
  ]);
122
79
  }
123
80
 
@@ -151,16 +108,20 @@ interface IsotopeColumnProps extends IsotopesDatasetProps {
151
108
  domain: [number, number];
152
109
  transform?: string;
153
110
  getHeight?: Function;
111
+ nTicks?: number;
112
+ showAxis?: boolean;
154
113
  }
155
114
 
156
115
  function IsotopesDataset(props) {
157
116
  const { parameter, color = "dodgerblue" } = props;
158
- const divisions: BaseUnit[] = useColumnDivisions() as any;
117
+ const units = useMacrostratUnits();
159
118
  const measures = useMeasurementData() ?? [];
160
- const refMeasures = referenceMeasuresToColumn(divisions, measures).filter(
161
- (d) => d.measurement == parameter
162
- );
163
- const points = unnestPoints(refMeasures);
119
+
120
+ const points = useMemo(() => {
121
+ const data = measures.filter((d) => d.measurement === parameter);
122
+ const refMeasures = referenceMeasuresToColumn(units, data);
123
+ return unnestPoints(refMeasures);
124
+ }, [measures, parameter, units]);
164
125
 
165
126
  return h(
166
127
  IsotopesDataArea,
@@ -176,13 +137,13 @@ function IsotopesDataset(props) {
176
137
  datum: d,
177
138
  fill: color,
178
139
  });
179
- })
180
- )
140
+ }),
141
+ ),
181
142
  );
182
143
  }
183
144
 
184
145
  function IsotopesColumn(
185
- props: IsotopeColumnProps & { children?: React.ReactNode } & AxisProps<any>
146
+ props: IsotopeColumnProps & { children?: React.ReactNode },
186
147
  ) {
187
148
  const {
188
149
  width = 120,
@@ -193,21 +154,92 @@ function IsotopesColumn(
193
154
  children = null,
194
155
  transform,
195
156
  getHeight,
157
+ showAxis = true,
158
+ tickValues: _tickVals,
159
+ nTicks = 6,
196
160
  ...rest
197
161
  } = props;
198
162
 
163
+ const { totalHeight } = useMacrostratColumnData();
164
+
199
165
  let _children: any = children;
200
166
  if (children == null && parameter != null) {
201
167
  _children = h(IsotopesDataset, { parameter, color, getHeight });
202
168
  }
203
169
 
170
+ const xScale = useMemo(
171
+ () => scaleLinear().domain(domain).range([0, width]),
172
+ [domain, width],
173
+ );
174
+
175
+ const tickValues = _tickVals ?? xScale.ticks(nTicks);
176
+
177
+ return h("div.isotopes-column", [
178
+ h(
179
+ SVG,
180
+ {
181
+ height: totalHeight,
182
+ innerWidth: width,
183
+ paddingH: 15,
184
+ },
185
+ h(
186
+ ColumnLayoutProvider,
187
+ { width, xScale },
188
+ h("g.isotopes-column", { className: parameter, transform }, [
189
+ h(ColumnScaleLines, {
190
+ xScale,
191
+ tickValues,
192
+ width,
193
+ ...rest,
194
+ }),
195
+ _children,
196
+ ]),
197
+ ),
198
+ ),
199
+ h.if(showAxis)(ColumnScaleAxis, {
200
+ width,
201
+ label: label ?? parameter,
202
+ xScale,
203
+ tickValues,
204
+ ...rest,
205
+ }),
206
+ ]);
207
+ }
208
+
209
+ function ColumnScaleAxis(props) {
210
+ const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;
211
+
212
+ return h("div.isotopes-scale-axis", [
213
+ h(
214
+ SVG,
215
+ {
216
+ innerWidth: width,
217
+ height: 45,
218
+ paddingH: 15,
219
+ },
220
+ [
221
+ h(AxisBottom, {
222
+ scale: xScale,
223
+ tickLength: 5,
224
+ tickValues,
225
+ stroke: "var(--column-stroke-color)",
226
+ tickStroke: "var(--column-stroke-color)",
227
+ ...rest,
228
+ label,
229
+ }),
230
+ ],
231
+ ),
232
+ ]);
233
+ }
234
+
235
+ function ColumnScaleLines(props) {
236
+ const { tickValues, xScale } = props;
237
+
204
238
  return h(
205
- CrossAxisLayoutProvider,
206
- { width, domain },
207
- h("g.isotopes-column", { className: parameter, transform }, [
208
- h(ColumnScale, { label: label ?? parameter, ...rest }),
209
- _children,
210
- ])
239
+ "g.scale-lines",
240
+ tickValues.map((value) => {
241
+ return h(ScaleLine, { value });
242
+ }),
211
243
  );
212
244
  }
213
245
 
@@ -0,0 +1,22 @@
1
+
2
+ .depositional-age
3
+ fill: var(--column-stroke-color)
4
+ fill-opacity: 0.25
5
+ stroke-width: 1px
6
+ stroke: var(--column-stroke-color)
7
+
8
+ .detrital-group
9
+ margin: -5px
10
+ margin-left: -10px
11
+ margin-bottom: -36px
12
+
13
+ &.hide-axis :global .visx-axis
14
+ tspan, text
15
+ display: none
16
+
17
+ .dz-spectra
18
+ position: relative
19
+
20
+ .floating-axis
21
+ position: sticky
22
+ bottom: 0
@@ -0,0 +1,132 @@
1
+ import {
2
+ DetritalSpectrumPlot,
3
+ DetritalSeries,
4
+ usePlotArea,
5
+ } from "@macrostrat/data-components";
6
+ import { IUnit } from "../../units/types";
7
+ import hyper from "@macrostrat/hyper";
8
+ import { useDetritalMeasurements, MeasurementInfo } from "./provider";
9
+ import { useMacrostratUnits } from "../../data-provider";
10
+ import { ColumnNotes } from "../../notes";
11
+ import { useMemo } from "react";
12
+ import styles from "./index.module.sass";
13
+ import classNames from "classnames";
14
+
15
+ const h = hyper.styled(styles);
16
+
17
+ interface DetritalItemProps {
18
+ note: {
19
+ data: MeasurementInfo[];
20
+ unit?: IUnit;
21
+ };
22
+ spacing?: {
23
+ below?: number;
24
+ above?: number;
25
+ };
26
+ width?: number;
27
+ height?: number;
28
+ color?: string;
29
+ }
30
+
31
+ function DepositionalAge({ unit }) {
32
+ const { xScale, height } = usePlotArea();
33
+
34
+ const { t_age, b_age } = unit;
35
+ const x = xScale(t_age);
36
+ const x1 = xScale(b_age);
37
+
38
+ return h("rect.depositional-age", { x, width: x1 - x, y: 0, height });
39
+ }
40
+
41
+ function DetritalGroup(props: DetritalItemProps) {
42
+ const { note, width, height, color, spacing } = props;
43
+ const { data, unit } = note;
44
+ const { geo_unit } = data[0];
45
+
46
+ const _color = color;
47
+
48
+ const spaceBelow = spacing?.below ?? 100;
49
+ const hideAxisLabels = spaceBelow < 60;
50
+
51
+ return h(
52
+ "div.detrital-group",
53
+ { className: classNames({ "hide-axis": hideAxisLabels }) },
54
+ [
55
+ h(
56
+ DetritalSpectrumPlot,
57
+ { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },
58
+ [
59
+ h.if(unit != null)(DepositionalAge, { unit }),
60
+ data.map((d) => {
61
+ return h(DetritalSeries, {
62
+ bandwidth: 20,
63
+ data: d.measure_value,
64
+ color: _color,
65
+ });
66
+ }),
67
+ ],
68
+ ),
69
+ ],
70
+ );
71
+ }
72
+
73
+ const matchingUnit = (dz) => (d) => d.unit_id == dz[0].unit_id;
74
+
75
+ function DetritalColumn({ columnID, color = "magenta" }) {
76
+ const data = useDetritalMeasurements({ col_id: columnID });
77
+ const units = useMacrostratUnits();
78
+
79
+ const notes: any[] = useMemo(() => {
80
+ if (data == null || units == null) return [];
81
+ let dzUnitData = Array.from(data.values());
82
+ dzUnitData.sort((a, b) => {
83
+ const v1 = units.findIndex(matchingUnit(a));
84
+ const v2 = units.findIndex(matchingUnit(b));
85
+ return v1 - v2;
86
+ });
87
+
88
+ const data1 = dzUnitData.map((d) => {
89
+ const unit = units.find(matchingUnit(d));
90
+ return {
91
+ top_height: unit?.t_age,
92
+ height: unit?.b_age,
93
+ data: d,
94
+ unit,
95
+ id: unit?.unit_id,
96
+ };
97
+ });
98
+
99
+ return data1.filter((d) => d.unit != null);
100
+ }, [data, units]);
101
+
102
+ const width = 400;
103
+ const paddingLeft = 40;
104
+
105
+ const spectrumWidth = width - paddingLeft;
106
+
107
+ const noteComponent = useMemo(() => {
108
+ return (props) => {
109
+ return h(DetritalGroup, {
110
+ width: spectrumWidth,
111
+ height: 40,
112
+ color,
113
+ ...props,
114
+ });
115
+ };
116
+ }, [width, color]);
117
+
118
+ if (data == null || units == null) return null;
119
+
120
+ return h(
121
+ "div.dz-spectra",
122
+ h(ColumnNotes, {
123
+ width,
124
+ paddingLeft,
125
+ notes,
126
+ noteComponent,
127
+ deltaConnectorAttachment: 20,
128
+ }),
129
+ );
130
+ }
131
+
132
+ export { DetritalColumn, DetritalGroup };
@@ -0,0 +1,51 @@
1
+ import { group } from "d3-array";
2
+ import { useAPIResult } from "@macrostrat/ui-components";
3
+
4
+ export interface MeasurementInfo {
5
+ measurement_id: number;
6
+ measuremeta_id: number;
7
+ measurement: string;
8
+ measure_units: string;
9
+ measure_phase: string;
10
+ method: string;
11
+ n: number;
12
+ ref_id: number;
13
+ sample_name: string;
14
+ geo_unit: string;
15
+ samp_lith: string;
16
+ samp_lith_id: number;
17
+ samp_desc: string;
18
+ samp_age: string;
19
+ lat: number;
20
+ lng: number;
21
+ unit_id: number;
22
+ unit_rel_pos?: any;
23
+ col_id: number;
24
+ strat_name_id: number;
25
+ match_basis: string;
26
+ ref: string;
27
+ measure_value: number[];
28
+ measure_error: number[];
29
+ measure_position: any[];
30
+ measure_n: number[];
31
+ sample_no: string[];
32
+ error_units: string;
33
+ }
34
+
35
+ export function useDetritalMeasurements(columnArgs) {
36
+ const params = {
37
+ ...columnArgs,
38
+ measure_phase: "zircon",
39
+ response: "long",
40
+ show_values: true,
41
+ // Other isotope systems are organized separately
42
+ measurement: "207Pb-206Pb",
43
+ };
44
+ const res: MeasurementInfo[] = useAPIResult(
45
+ "/measurements",
46
+ params,
47
+ columnArgs,
48
+ );
49
+ if (res == null) return null;
50
+ return group(res, (d) => d.unit_id);
51
+ }
@@ -0,0 +1,14 @@
1
+ .fossil-collections
2
+ padding-left: 0.2em
3
+ font-size: 0.9em
4
+ list-style: none
5
+ border-left: 1px solid var(--column-stroke-color)
6
+ margin: 1px 0
7
+ li
8
+ display: inline
9
+ &:not(:last-child):after
10
+ content: ", "
11
+ color: var(--secondary-color)
12
+ li.too-many
13
+ color: var(--secondary-color)
14
+ font-style: italic