@macrostrat/column-views 2.0.1 → 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 (499) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/esm/{column-views.8dd877af.js → column-views.006d5180.js} +2 -1
  3. package/dist/esm/column-views.006d5180.js.map +1 -0
  4. package/dist/esm/column-views.05586d1f.js +22 -0
  5. package/dist/esm/column-views.05586d1f.js.map +1 -0
  6. package/dist/esm/column-views.0732894f.js +86 -0
  7. package/dist/esm/column-views.0732894f.js.map +1 -0
  8. package/dist/esm/column-views.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/{column-views.8e51206e.js → column-views.1af9761e.js} +19 -3
  13. package/dist/esm/column-views.1af9761e.js.map +1 -0
  14. package/dist/esm/column-views.1c92b88f.js +16 -0
  15. package/dist/esm/column-views.1c92b88f.js.map +1 -0
  16. package/dist/esm/{column-views.ea237aa8.js → column-views.1e055ed5.js} +6 -5
  17. package/dist/esm/column-views.1e055ed5.js.map +1 -0
  18. package/dist/esm/column-views.210514ec.js +11 -0
  19. package/dist/esm/column-views.210514ec.js.map +1 -0
  20. package/dist/esm/{column-views.240ef158.css → column-views.217078ab.css} +4 -3
  21. package/dist/esm/column-views.217078ab.css.map +1 -0
  22. package/dist/esm/column-views.2c43c055.js +156 -0
  23. package/dist/esm/column-views.2c43c055.js.map +1 -0
  24. package/dist/esm/column-views.2c45a7b5.js +25 -0
  25. package/dist/esm/column-views.2c45a7b5.js.map +1 -0
  26. package/dist/esm/column-views.2ca34210.js +151 -0
  27. package/dist/esm/column-views.2ca34210.js.map +1 -0
  28. package/dist/esm/{column-views.88de2cee.js → column-views.2cb87813.js} +4 -4
  29. package/dist/esm/{column-views.88de2cee.js.map → column-views.2cb87813.js.map} +1 -1
  30. package/dist/esm/{column-views.3bec70d6.js → column-views.2d8e0e0f.js} +9 -8
  31. package/dist/esm/column-views.2d8e0e0f.js.map +1 -0
  32. package/dist/esm/column-views.3048acc1.js +66 -0
  33. package/dist/esm/column-views.3048acc1.js.map +1 -0
  34. package/dist/esm/column-views.3199d35a.css +61 -0
  35. package/dist/esm/column-views.3199d35a.css.map +1 -0
  36. package/dist/esm/column-views.34a52db7.js +31 -0
  37. package/dist/esm/column-views.34a52db7.js.map +1 -0
  38. package/dist/esm/column-views.39657bbf.js.map +1 -1
  39. package/dist/esm/{column-views.28ee5f43.js → column-views.3ba9213d.js} +16 -5
  40. package/dist/esm/column-views.3ba9213d.js.map +1 -0
  41. package/dist/esm/column-views.3de4dc43.js.map +1 -1
  42. package/dist/esm/column-views.403a7b48.css +24 -0
  43. package/dist/esm/column-views.403a7b48.css.map +1 -0
  44. package/dist/esm/column-views.4637f4ce.js.map +1 -1
  45. package/dist/esm/column-views.494447ef.css +2 -0
  46. package/dist/esm/column-views.494447ef.css.map +1 -0
  47. package/dist/esm/column-views.4950ea28.js +28 -0
  48. package/dist/esm/column-views.4950ea28.js.map +1 -0
  49. package/dist/esm/{column-views.86c4b36f.js → column-views.4ab0ec82.js} +44 -13
  50. package/dist/esm/column-views.4ab0ec82.js.map +1 -0
  51. package/dist/esm/{column-views.9bdd477a.js → column-views.4d22c21c.js} +2 -2
  52. package/dist/esm/{column-views.9bdd477a.js.map → column-views.4d22c21c.js.map} +1 -1
  53. package/dist/esm/{column-views.b775c0a3.js → column-views.52a6eb47.js} +3 -3
  54. package/dist/esm/{column-views.b775c0a3.js.map → column-views.52a6eb47.js.map} +1 -1
  55. package/dist/esm/{column-views.f2e5a72f.js → column-views.52b03330.js} +3 -3
  56. package/dist/esm/{column-views.f2e5a72f.js.map → column-views.52b03330.js.map} +1 -1
  57. package/dist/esm/column-views.57636733.css +22 -0
  58. package/dist/esm/column-views.57636733.css.map +1 -0
  59. package/dist/esm/{column-views.aa9fcdba.js → column-views.59792b70.js} +18 -15
  60. package/dist/esm/column-views.59792b70.js.map +1 -0
  61. package/dist/esm/{column-views.68409161.js → column-views.59bb0cba.js} +2 -3
  62. package/dist/esm/column-views.59bb0cba.js.map +1 -0
  63. package/dist/esm/{column-views.134b2e2a.js → column-views.5ae1d963.js} +2 -2
  64. package/dist/esm/{column-views.134b2e2a.js.map → column-views.5ae1d963.js.map} +1 -1
  65. package/dist/esm/column-views.5cc09c1d.js.map +1 -1
  66. package/dist/esm/column-views.5e2dc19d.js +187 -0
  67. package/dist/esm/column-views.5e2dc19d.js.map +1 -0
  68. package/dist/esm/{column-views.33dbc778.js → column-views.633c42a3.js} +2 -1
  69. package/dist/esm/column-views.633c42a3.js.map +1 -0
  70. package/dist/esm/{column-views.e77b9d6b.js → column-views.6549388a.js} +4 -5
  71. package/dist/esm/column-views.6549388a.js.map +1 -0
  72. package/dist/esm/{column-views.1ece326b.js → column-views.66f823ba.js} +63 -12
  73. package/dist/esm/column-views.66f823ba.js.map +1 -0
  74. package/dist/esm/{column-views.dff52504.js → column-views.686d21ad.js} +10 -1
  75. package/dist/esm/column-views.686d21ad.js.map +1 -0
  76. package/dist/esm/column-views.68afac63.js +90 -0
  77. package/dist/esm/column-views.68afac63.js.map +1 -0
  78. package/dist/esm/column-views.6992ca88.js +25 -0
  79. package/dist/esm/column-views.6992ca88.js.map +1 -0
  80. package/dist/esm/column-views.69c0e90d.js +5 -0
  81. package/dist/esm/column-views.69c0e90d.js.map +1 -0
  82. package/dist/esm/column-views.6d6b73b4.js.map +1 -1
  83. package/dist/esm/column-views.708140ab.css +36 -0
  84. package/dist/esm/column-views.708140ab.css.map +1 -0
  85. package/dist/esm/column-views.7631c221.js +13 -0
  86. package/dist/esm/column-views.7631c221.js.map +1 -0
  87. package/dist/esm/{column-views.650bd9f5.js → column-views.7715e35e.js} +17 -13
  88. package/dist/esm/column-views.7715e35e.js.map +1 -0
  89. package/dist/esm/column-views.7a414dd1.css +56 -0
  90. package/dist/esm/column-views.7a414dd1.css.map +1 -0
  91. package/dist/esm/column-views.7a726ca9.js +24 -0
  92. package/dist/esm/column-views.7a726ca9.js.map +1 -0
  93. package/dist/esm/column-views.7e21d1ec.js +34 -0
  94. package/dist/esm/column-views.7e21d1ec.js.map +1 -0
  95. package/dist/esm/{column-views.a98214b2.js → column-views.7e350ae2.js} +3 -3
  96. package/dist/esm/{column-views.a98214b2.js.map → column-views.7e350ae2.js.map} +1 -1
  97. package/dist/esm/column-views.83a557b3.js +11 -0
  98. package/dist/esm/column-views.83a557b3.js.map +1 -0
  99. package/dist/esm/{column-views.30646469.js → column-views.85c6a716.js} +2 -2
  100. package/dist/esm/column-views.85c6a716.js.map +1 -0
  101. package/dist/esm/column-views.86619334.js +9 -0
  102. package/dist/esm/column-views.86619334.js.map +1 -0
  103. package/dist/esm/{column-views.9ced149e.js → column-views.8833218c.js} +25 -6
  104. package/dist/esm/column-views.8833218c.js.map +1 -0
  105. package/dist/esm/column-views.88984b34.js +92 -0
  106. package/dist/esm/column-views.88984b34.js.map +1 -0
  107. package/dist/esm/{column-views.40c1f361.js → column-views.89b9e542.js} +11 -18
  108. package/dist/esm/column-views.89b9e542.js.map +1 -0
  109. package/dist/esm/column-views.8a1db14e.js +105 -0
  110. package/dist/esm/column-views.8a1db14e.js.map +1 -0
  111. package/dist/esm/column-views.8e7b01d2.js +43 -0
  112. package/dist/esm/column-views.8e7b01d2.js.map +1 -0
  113. package/dist/esm/column-views.8f108485.js +128 -0
  114. package/dist/esm/column-views.8f108485.js.map +1 -0
  115. package/dist/esm/column-views.904b9365.js +57 -0
  116. package/dist/esm/column-views.904b9365.js.map +1 -0
  117. package/dist/esm/column-views.90a863af.js +11 -0
  118. package/dist/esm/column-views.90a863af.js.map +1 -0
  119. package/dist/esm/{column-views.f71ec4b4.js → column-views.91385fdc.js} +67 -30
  120. package/dist/esm/column-views.91385fdc.js.map +1 -0
  121. package/dist/esm/{column-views.1c589cc4.js → column-views.9892f825.js} +55 -4
  122. package/dist/esm/column-views.9892f825.js.map +1 -0
  123. package/dist/esm/{column-views.1edc7300.js → column-views.9b77388d.js} +6 -5
  124. package/dist/esm/column-views.9b77388d.js.map +1 -0
  125. package/dist/esm/column-views.a582d4b5.js +7 -0
  126. package/dist/esm/column-views.a582d4b5.js.map +1 -0
  127. package/dist/esm/column-views.a7c5ae16.js +25 -0
  128. package/dist/esm/column-views.a7c5ae16.js.map +1 -0
  129. package/dist/esm/{column-views.5c02fee2.js → column-views.a91dde4a.js} +10 -9
  130. package/dist/esm/column-views.a91dde4a.js.map +1 -0
  131. package/dist/esm/{column-views.fc2b4611.js → column-views.a94e99a2.js} +2 -2
  132. package/dist/esm/{column-views.fc2b4611.js.map → column-views.a94e99a2.js.map} +1 -1
  133. package/dist/esm/column-views.ad472a38.css +54 -0
  134. package/dist/esm/column-views.ad472a38.css.map +1 -0
  135. package/dist/esm/{column-views.e2b9c23c.css → column-views.b17f793f.css} +21 -1
  136. package/dist/esm/column-views.b17f793f.css.map +1 -0
  137. package/dist/esm/column-views.b2b5f52c.js +19 -0
  138. package/dist/esm/column-views.b2b5f52c.js.map +1 -0
  139. package/dist/esm/column-views.b324842f.css +57 -0
  140. package/dist/esm/column-views.b324842f.css.map +1 -0
  141. package/dist/esm/{column-views.9804efda.js → column-views.b9fe5176.js} +14 -8
  142. package/dist/esm/column-views.b9fe5176.js.map +1 -0
  143. package/dist/esm/{column-views.fa6f3292.js → column-views.bb46641f.js} +7 -8
  144. package/dist/esm/column-views.bb46641f.js.map +1 -0
  145. package/dist/esm/column-views.bba13f77.css +54 -0
  146. package/dist/esm/column-views.bba13f77.css.map +1 -0
  147. package/dist/esm/{column-views.b2e5f1d9.js → column-views.bcffe6e5.js} +4 -4
  148. package/dist/esm/{column-views.b2e5f1d9.js.map → column-views.bcffe6e5.js.map} +1 -1
  149. package/dist/esm/{column-views.f1efcc2c.js → column-views.c25e8b32.js} +3 -3
  150. package/dist/esm/{column-views.f1efcc2c.js.map → column-views.c25e8b32.js.map} +1 -1
  151. package/dist/esm/column-views.c5e108f9.js +34 -0
  152. package/dist/esm/column-views.c5e108f9.js.map +1 -0
  153. package/dist/esm/{column-views.34636ec7.js → column-views.c71c321c.js} +11 -11
  154. package/dist/esm/column-views.c71c321c.js.map +1 -0
  155. package/dist/esm/{column-views.5b2635fd.js → column-views.c8e2983a.js} +4 -4
  156. package/dist/esm/{column-views.5b2635fd.js.map → column-views.c8e2983a.js.map} +1 -1
  157. package/dist/esm/column-views.cae5a0ad.js +37 -0
  158. package/dist/esm/column-views.cae5a0ad.js.map +1 -0
  159. package/dist/esm/{column-views.4c4c5bac.js → column-views.d2037465.js} +14 -8
  160. package/dist/esm/column-views.d2037465.js.map +1 -0
  161. package/dist/esm/column-views.dc42f5d0.js.map +1 -1
  162. package/dist/esm/column-views.e20f6a4b.js +124 -0
  163. package/dist/esm/column-views.e20f6a4b.js.map +1 -0
  164. package/dist/esm/column-views.e4975dd6.css +146 -0
  165. package/dist/esm/column-views.e4975dd6.css.map +1 -0
  166. package/dist/esm/column-views.e9f8b2a7.js +20 -0
  167. package/dist/esm/column-views.e9f8b2a7.js.map +1 -0
  168. package/dist/esm/column-views.edeab611.js +204 -0
  169. package/dist/esm/column-views.edeab611.js.map +1 -0
  170. package/dist/esm/{column-views.57c4ddf3.js → column-views.f08929e2.js} +2 -2
  171. package/dist/esm/column-views.f08929e2.js.map +1 -0
  172. package/dist/esm/column-views.f13a1d6e.js +37 -0
  173. package/dist/esm/column-views.f13a1d6e.js.map +1 -0
  174. package/dist/esm/column-views.f2948ff8.js +101 -0
  175. package/dist/esm/column-views.f2948ff8.js.map +1 -0
  176. package/dist/esm/column-views.f9dab157.js.map +1 -1
  177. package/dist/esm/column-views.fa19cea0.js +108 -0
  178. package/dist/esm/column-views.fa19cea0.js.map +1 -0
  179. package/dist/esm/index.d.ts +325 -296
  180. package/dist/esm/index.d.ts.map +1 -1
  181. package/dist/esm/index.js +13 -11
  182. package/dist/esm/index.js.map +1 -1
  183. package/dist/node/column-views.007bf6c1.js +2 -0
  184. package/dist/node/column-views.007bf6c1.js.map +1 -0
  185. package/dist/node/column-views.00848c9a.js +2 -0
  186. package/dist/node/column-views.00848c9a.js.map +1 -0
  187. package/dist/node/column-views.0278b7e5.js +2 -0
  188. package/dist/node/column-views.0278b7e5.js.map +1 -0
  189. package/dist/node/column-views.04407342.js +2 -0
  190. package/dist/node/column-views.04407342.js.map +1 -0
  191. package/dist/node/column-views.072d3dcd.js +2 -0
  192. package/dist/node/column-views.072d3dcd.js.map +1 -0
  193. package/dist/node/column-views.0859f5d2.js +2 -0
  194. package/dist/node/column-views.0859f5d2.js.map +1 -0
  195. package/dist/node/column-views.0b579299.css +2 -0
  196. package/dist/node/column-views.0b579299.css.map +1 -0
  197. package/dist/node/column-views.0b72c188.js +2 -0
  198. package/dist/node/column-views.0b72c188.js.map +1 -0
  199. package/dist/node/column-views.1064fcfb.js +2 -0
  200. package/dist/node/column-views.1064fcfb.js.map +1 -0
  201. package/dist/node/column-views.10a2bad6.js +2 -0
  202. package/dist/node/column-views.10a2bad6.js.map +1 -0
  203. package/dist/node/column-views.12864efd.js +2 -0
  204. package/dist/node/column-views.12864efd.js.map +1 -0
  205. package/dist/node/column-views.12a70e9d.js +2 -0
  206. package/dist/node/column-views.12a70e9d.js.map +1 -0
  207. package/dist/node/column-views.139b0855.js +2 -0
  208. package/dist/node/column-views.139b0855.js.map +1 -0
  209. package/dist/node/column-views.1a0b56fc.js +2 -0
  210. package/dist/node/column-views.1a0b56fc.js.map +1 -0
  211. package/dist/node/column-views.1de87649.js +2 -0
  212. package/dist/node/column-views.1de87649.js.map +1 -0
  213. package/dist/node/column-views.22673dc1.js +2 -0
  214. package/dist/node/column-views.22673dc1.js.map +1 -0
  215. package/dist/node/column-views.273ac4a8.js +2 -0
  216. package/dist/node/column-views.273ac4a8.js.map +1 -0
  217. package/dist/node/column-views.28609db2.css +2 -0
  218. package/dist/node/column-views.28609db2.css.map +1 -0
  219. package/dist/node/column-views.286d444d.js +2 -0
  220. package/dist/node/column-views.286d444d.js.map +1 -0
  221. package/dist/node/column-views.2877f398.js +2 -0
  222. package/dist/node/column-views.2877f398.js.map +1 -0
  223. package/dist/node/column-views.2a70b9a2.js +2 -0
  224. package/dist/node/column-views.2a70b9a2.js.map +1 -0
  225. package/dist/node/column-views.2e4e357d.js +2 -0
  226. package/dist/node/column-views.2e4e357d.js.map +1 -0
  227. package/dist/node/column-views.2fa1c4e6.css +2 -0
  228. package/dist/node/column-views.2fa1c4e6.css.map +1 -0
  229. package/dist/node/column-views.33102ceb.js +2 -0
  230. package/dist/node/column-views.33102ceb.js.map +1 -0
  231. package/dist/node/column-views.3345cd7a.js +2 -0
  232. package/dist/node/column-views.3345cd7a.js.map +1 -0
  233. package/dist/node/column-views.33752461.js +2 -0
  234. package/dist/node/column-views.33752461.js.map +1 -0
  235. package/dist/node/column-views.34b48ee4.js +2 -0
  236. package/dist/node/column-views.34b48ee4.js.map +1 -0
  237. package/dist/node/column-views.39d3a0be.js +2 -0
  238. package/dist/node/column-views.39d3a0be.js.map +1 -0
  239. package/dist/node/column-views.3a55ecd7.css +2 -0
  240. package/dist/node/column-views.3a55ecd7.css.map +1 -0
  241. package/dist/node/column-views.3bd09ad6.js +2 -0
  242. package/dist/node/column-views.3bd09ad6.js.map +1 -0
  243. package/dist/node/column-views.3cb3345e.js +2 -0
  244. package/dist/node/column-views.3cb3345e.js.map +1 -0
  245. package/dist/node/column-views.3f3cfcce.js +2 -0
  246. package/dist/node/column-views.3f3cfcce.js.map +1 -0
  247. package/dist/node/column-views.41876859.js +2 -0
  248. package/dist/node/column-views.41876859.js.map +1 -0
  249. package/dist/node/column-views.41d01674.js +2 -0
  250. package/dist/node/column-views.41d01674.js.map +1 -0
  251. package/dist/node/column-views.44b75011.js +2 -0
  252. package/dist/node/column-views.44b75011.js.map +1 -0
  253. package/dist/node/column-views.45168c80.js +2 -0
  254. package/dist/node/column-views.45168c80.js.map +1 -0
  255. package/dist/node/column-views.47f67ad4.js +2 -0
  256. package/dist/node/column-views.47f67ad4.js.map +1 -0
  257. package/dist/node/column-views.4e2bdf9b.js +2 -0
  258. package/dist/node/column-views.4e2bdf9b.js.map +1 -0
  259. package/dist/node/column-views.51fbed89.js +2 -0
  260. package/dist/node/column-views.51fbed89.js.map +1 -0
  261. package/dist/node/column-views.5b6833f0.js +2 -0
  262. package/dist/node/column-views.5b6833f0.js.map +1 -0
  263. package/dist/node/column-views.5c1b0eeb.css +2 -0
  264. package/dist/node/column-views.5c1b0eeb.css.map +1 -0
  265. package/dist/node/column-views.63165cf3.css +2 -0
  266. package/dist/node/column-views.63165cf3.css.map +1 -0
  267. package/dist/node/column-views.65ad6310.css +2 -0
  268. package/dist/node/column-views.65ad6310.css.map +1 -0
  269. package/dist/node/column-views.664dc6c9.js +2 -0
  270. package/dist/node/column-views.664dc6c9.js.map +1 -0
  271. package/dist/node/column-views.68224fdd.css +2 -0
  272. package/dist/node/column-views.68224fdd.css.map +1 -0
  273. package/dist/node/column-views.68ded006.js +2 -0
  274. package/dist/node/column-views.68ded006.js.map +1 -0
  275. package/dist/node/column-views.6a0a35e7.js +2 -0
  276. package/dist/node/column-views.6a0a35e7.js.map +1 -0
  277. package/dist/node/column-views.6a4c2100.css +2 -0
  278. package/dist/node/column-views.6a4c2100.css.map +1 -0
  279. package/dist/node/column-views.6a9da051.js +2 -0
  280. package/dist/node/column-views.6a9da051.js.map +1 -0
  281. package/dist/node/column-views.6b441349.js +2 -0
  282. package/dist/node/column-views.6b441349.js.map +1 -0
  283. package/dist/node/column-views.6b6b756b.js +2 -0
  284. package/dist/node/column-views.6b6b756b.js.map +1 -0
  285. package/dist/node/column-views.6bba8c57.js +2 -0
  286. package/dist/node/column-views.6bba8c57.js.map +1 -0
  287. package/dist/node/column-views.6d1551bd.js +2 -0
  288. package/dist/node/column-views.6d1551bd.js.map +1 -0
  289. package/dist/node/column-views.6da49480.js +2 -0
  290. package/dist/node/column-views.6da49480.js.map +1 -0
  291. package/dist/node/column-views.71c48a11.js +2 -0
  292. package/dist/node/column-views.71c48a11.js.map +1 -0
  293. package/dist/node/column-views.7350ac73.js +2 -0
  294. package/dist/node/column-views.7350ac73.js.map +1 -0
  295. package/dist/node/column-views.755f726e.js +2 -0
  296. package/dist/node/column-views.755f726e.js.map +1 -0
  297. package/dist/node/column-views.770d2c95.js +2 -0
  298. package/dist/node/column-views.770d2c95.js.map +1 -0
  299. package/dist/node/column-views.78d3f3c5.js +2 -0
  300. package/dist/node/column-views.78d3f3c5.js.map +1 -0
  301. package/dist/node/column-views.7b9bd06e.css +2 -0
  302. package/dist/node/column-views.7b9bd06e.css.map +1 -0
  303. package/dist/node/column-views.7be87c6b.js +2 -0
  304. package/dist/node/column-views.7be87c6b.js.map +1 -0
  305. package/dist/node/column-views.7d45bbeb.js +2 -0
  306. package/dist/node/column-views.7d45bbeb.js.map +1 -0
  307. package/dist/node/column-views.7f621850.js +2 -0
  308. package/dist/node/column-views.7f621850.js.map +1 -0
  309. package/dist/node/column-views.82cf7c0d.js +2 -0
  310. package/dist/node/column-views.82cf7c0d.js.map +1 -0
  311. package/dist/node/column-views.869c7199.js +2 -0
  312. package/dist/node/column-views.869c7199.js.map +1 -0
  313. package/dist/node/column-views.8a02b1fe.js +2 -0
  314. package/dist/node/column-views.8a02b1fe.js.map +1 -0
  315. package/dist/node/column-views.8acd24ca.js +2 -0
  316. package/dist/node/column-views.8acd24ca.js.map +1 -0
  317. package/dist/node/column-views.8c00beb4.js +2 -0
  318. package/dist/node/column-views.8c00beb4.js.map +1 -0
  319. package/dist/node/column-views.8cfed88b.js +2 -0
  320. package/dist/node/column-views.8cfed88b.js.map +1 -0
  321. package/dist/node/column-views.8f54691f.js +2 -0
  322. package/dist/node/column-views.8f54691f.js.map +1 -0
  323. package/dist/node/column-views.95411f1b.js +2 -0
  324. package/dist/node/column-views.95411f1b.js.map +1 -0
  325. package/dist/node/column-views.9cb13e51.css +2 -0
  326. package/dist/node/column-views.9cb13e51.css.map +1 -0
  327. package/dist/node/column-views.a0aac838.js +2 -0
  328. package/dist/node/column-views.a0aac838.js.map +1 -0
  329. package/dist/node/column-views.a208338e.js +2 -0
  330. package/dist/node/column-views.a208338e.js.map +1 -0
  331. package/dist/node/column-views.a501cea0.js +2 -0
  332. package/dist/node/column-views.a501cea0.js.map +1 -0
  333. package/dist/node/column-views.a634ac7f.js +2 -0
  334. package/dist/node/column-views.a634ac7f.js.map +1 -0
  335. package/dist/node/column-views.a8ffe072.js +2 -0
  336. package/dist/node/column-views.a8ffe072.js.map +1 -0
  337. package/dist/node/column-views.b169b4b5.css +2 -0
  338. package/dist/node/column-views.b169b4b5.css.map +1 -0
  339. package/dist/node/column-views.b55bd885.css +2 -0
  340. package/dist/node/column-views.b55bd885.css.map +1 -0
  341. package/dist/node/column-views.b773edb8.js +2 -0
  342. package/dist/node/column-views.b773edb8.js.map +1 -0
  343. package/dist/node/column-views.baf032f1.js +2 -0
  344. package/dist/node/column-views.baf032f1.js.map +1 -0
  345. package/dist/node/column-views.bb510980.js +2 -0
  346. package/dist/node/column-views.bb510980.js.map +1 -0
  347. package/dist/node/column-views.c968a185.css +2 -0
  348. package/dist/node/column-views.c968a185.css.map +1 -0
  349. package/dist/node/column-views.ca16625d.js +2 -0
  350. package/dist/node/column-views.ca16625d.js.map +1 -0
  351. package/dist/node/column-views.cd3c430b.js +2 -0
  352. package/dist/node/column-views.cd3c430b.js.map +1 -0
  353. package/dist/node/column-views.cd468adb.css +2 -0
  354. package/dist/node/column-views.cd468adb.css.map +1 -0
  355. package/dist/node/column-views.cdcce702.js +2 -0
  356. package/dist/node/column-views.cdcce702.js.map +1 -0
  357. package/dist/node/column-views.ce6808fe.js +2 -0
  358. package/dist/node/column-views.ce6808fe.js.map +1 -0
  359. package/dist/node/column-views.cf90f63d.js +2 -0
  360. package/dist/node/column-views.cf90f63d.js.map +1 -0
  361. package/dist/node/column-views.d0ee3385.js +2 -0
  362. package/dist/node/column-views.d0ee3385.js.map +1 -0
  363. package/dist/node/column-views.d6708353.js +2 -0
  364. package/dist/node/column-views.d6708353.js.map +1 -0
  365. package/dist/node/column-views.d9bbd6fb.css +2 -0
  366. package/dist/node/column-views.d9bbd6fb.css.map +1 -0
  367. package/dist/node/column-views.dfe9f0a9.js +2 -0
  368. package/dist/node/column-views.dfe9f0a9.js.map +1 -0
  369. package/dist/node/column-views.e52994ea.js +2 -0
  370. package/dist/node/column-views.e52994ea.js.map +1 -0
  371. package/dist/node/column-views.e6720522.js +2 -0
  372. package/dist/node/column-views.e6720522.js.map +1 -0
  373. package/dist/node/column-views.e77dd525.js +2 -0
  374. package/dist/node/column-views.e77dd525.js.map +1 -0
  375. package/dist/node/column-views.e7cd811c.css +2 -0
  376. package/dist/node/column-views.e7cd811c.css.map +1 -0
  377. package/dist/node/column-views.e7e26765.js +2 -0
  378. package/dist/node/column-views.e7e26765.js.map +1 -0
  379. package/dist/node/column-views.e9515ec1.js +2 -0
  380. package/dist/node/column-views.e9515ec1.js.map +1 -0
  381. package/dist/node/column-views.ebb44b7d.js +2 -0
  382. package/dist/node/column-views.ebb44b7d.js.map +1 -0
  383. package/dist/node/column-views.ee8cb107.js +2 -0
  384. package/dist/node/column-views.ee8cb107.js.map +1 -0
  385. package/dist/node/column-views.eea80478.js +2 -0
  386. package/dist/node/column-views.eea80478.js.map +1 -0
  387. package/dist/node/column-views.f7315cbc.css +2 -0
  388. package/dist/node/column-views.f7315cbc.css.map +1 -0
  389. package/dist/node/column-views.f76ba19f.js +2 -0
  390. package/dist/node/column-views.f76ba19f.js.map +1 -0
  391. package/dist/node/column-views.fea32686.js +2 -0
  392. package/dist/node/column-views.fea32686.js.map +1 -0
  393. package/dist/node/index.js +1 -1
  394. package/dist/node/index.js.map +1 -1
  395. package/package.json +16 -15
  396. package/src/age-axis.module.sass +20 -0
  397. package/src/age-axis.ts +25 -3
  398. package/src/age-model-overlay.ts +2 -2
  399. package/src/column.module.sass +3 -3
  400. package/src/column.ts +92 -19
  401. package/src/correlation-chart/main.ts +25 -12
  402. package/src/correlation-chart/prepare-data.ts +6 -6
  403. package/src/correlation-chart/stories/correlation-chart.stories.ts +12 -6
  404. package/src/data-provider/base.ts +20 -11
  405. package/src/data-provider/column-nav.ts +2 -2
  406. package/src/data-provider/fetch.ts +9 -9
  407. package/src/data-provider/store.ts +15 -10
  408. package/src/{carbon-isotopes → facets/carbon-isotopes}/data-area.ts +5 -4
  409. package/src/{carbon-isotopes → facets/carbon-isotopes}/index.ts +0 -1
  410. package/src/facets/carbon-isotopes/isotopes-column.module.sass +31 -0
  411. package/src/{carbon-isotopes → facets/carbon-isotopes}/isotopes-column.ts +119 -87
  412. package/src/facets/detrital-zircon/index.module.sass +22 -0
  413. package/src/facets/detrital-zircon/index.ts +132 -0
  414. package/src/facets/detrital-zircon/provider.ts +51 -0
  415. package/src/facets/fossils/index.module.sass +14 -0
  416. package/src/facets/fossils/index.ts +120 -0
  417. package/src/facets/fossils/provider.ts +80 -0
  418. package/src/facets/index.ts +3 -0
  419. package/src/index.ts +2 -1
  420. package/src/maps/_shared/inset-map.stories.ts +1 -1
  421. package/src/maps/_shared/inset-map.ts +2 -2
  422. package/src/maps/_shared/styles.ts +3 -1
  423. package/src/maps/column-correlation/column-correlation-map.stories.ts +3 -3
  424. package/src/maps/column-correlation/core.ts +17 -26
  425. package/src/maps/column-correlation/state.ts +9 -9
  426. package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +177 -1
  427. package/src/maps/column-navigation/mapbox/index.ts +18 -15
  428. package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +4 -4
  429. package/src/maps/column-navigation/mapbox/state.ts +16 -6
  430. package/src/maps/column-navigation/svg/animated.ts +2 -2
  431. package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +2 -2
  432. package/src/maps/column-navigation/svg/index.ts +2 -4
  433. package/src/maps/column-navigation/svg/layers.ts +5 -7
  434. package/src/maps/column-navigation/utils/keyboard-navigation.ts +1 -1
  435. package/src/notes.ts +49 -0
  436. package/src/prepare-units/composite-scale.ts +73 -25
  437. package/src/prepare-units/helpers.ts +78 -13
  438. package/src/prepare-units/index.ts +17 -17
  439. package/src/prepare-units/utils.ts +7 -7
  440. package/src/section.ts +8 -8
  441. package/src/unit-details/panel.ts +103 -19
  442. package/src/unit-details/popover.ts +5 -5
  443. package/src/units/boxes.ts +20 -10
  444. package/src/units/colors.ts +12 -5
  445. package/src/units/composite.ts +16 -11
  446. package/src/units/index.ts +77 -10
  447. package/src/units/names.ts +19 -16
  448. package/src/units/resolvers.ts +3 -0
  449. package/src/units/selection.ts +44 -11
  450. package/src/units/types.ts +2 -0
  451. package/dist/esm/column-views.062d164a.js +0 -86
  452. package/dist/esm/column-views.062d164a.js.map +0 -1
  453. package/dist/esm/column-views.07521ce6.js +0 -25
  454. package/dist/esm/column-views.07521ce6.js.map +0 -1
  455. package/dist/esm/column-views.1c589cc4.js.map +0 -1
  456. package/dist/esm/column-views.1ece326b.js.map +0 -1
  457. package/dist/esm/column-views.1edc7300.js.map +0 -1
  458. package/dist/esm/column-views.240ef158.css.map +0 -1
  459. package/dist/esm/column-views.28ee5f43.js.map +0 -1
  460. package/dist/esm/column-views.30646469.js.map +0 -1
  461. package/dist/esm/column-views.33dbc778.js.map +0 -1
  462. package/dist/esm/column-views.343b5aa2.js +0 -98
  463. package/dist/esm/column-views.343b5aa2.js.map +0 -1
  464. package/dist/esm/column-views.34636ec7.js.map +0 -1
  465. package/dist/esm/column-views.3bec70d6.js.map +0 -1
  466. package/dist/esm/column-views.3f4db8cb.js +0 -117
  467. package/dist/esm/column-views.3f4db8cb.js.map +0 -1
  468. package/dist/esm/column-views.40c1f361.js.map +0 -1
  469. package/dist/esm/column-views.4c4c5bac.js.map +0 -1
  470. package/dist/esm/column-views.57c4ddf3.js.map +0 -1
  471. package/dist/esm/column-views.5c02fee2.js.map +0 -1
  472. package/dist/esm/column-views.650bd9f5.js.map +0 -1
  473. package/dist/esm/column-views.68409161.js.map +0 -1
  474. package/dist/esm/column-views.86c4b36f.js.map +0 -1
  475. package/dist/esm/column-views.8dd877af.js.map +0 -1
  476. package/dist/esm/column-views.8e51206e.js.map +0 -1
  477. package/dist/esm/column-views.94b5cca1.js +0 -34
  478. package/dist/esm/column-views.94b5cca1.js.map +0 -1
  479. package/dist/esm/column-views.9804efda.js.map +0 -1
  480. package/dist/esm/column-views.9ced149e.js.map +0 -1
  481. package/dist/esm/column-views.a7be0a4a.css +0 -157
  482. package/dist/esm/column-views.a7be0a4a.css.map +0 -1
  483. package/dist/esm/column-views.aa9fcdba.js.map +0 -1
  484. package/dist/esm/column-views.ac9fb5e1.js +0 -163
  485. package/dist/esm/column-views.ac9fb5e1.js.map +0 -1
  486. package/dist/esm/column-views.c58aad3f.js +0 -88
  487. package/dist/esm/column-views.c58aad3f.js.map +0 -1
  488. package/dist/esm/column-views.d1ad48eb.js +0 -11
  489. package/dist/esm/column-views.d1ad48eb.js.map +0 -1
  490. package/dist/esm/column-views.dff52504.js.map +0 -1
  491. package/dist/esm/column-views.e2b9c23c.css.map +0 -1
  492. package/dist/esm/column-views.e77b9d6b.js.map +0 -1
  493. package/dist/esm/column-views.ea237aa8.js.map +0 -1
  494. package/dist/esm/column-views.f71ec4b4.js.map +0 -1
  495. package/dist/esm/column-views.fa6f3292.js.map +0 -1
  496. package/src/carbon-isotopes/column.module.sass +0 -136
  497. package/src/carbon-isotopes/column.ts +0 -133
  498. package/src/carbon-isotopes/core.ts +0 -81
  499. /package/src/{carbon-isotopes → facets/carbon-isotopes}/data-provider.ts +0 -0
@@ -32,15 +32,17 @@ export interface ColumnNavigationMapProps extends InsetMapProps {
32
32
  }
33
33
 
34
34
  export function ColumnNavigationMap(
35
- props: ColumnNavigationMapProps & NavigationProviderProps
35
+ props: ColumnNavigationMapProps & NavigationProviderProps,
36
36
  ) {
37
37
  const {
38
38
  columns,
39
+ columnIDs,
39
40
  onSelectColumn,
40
41
  onHoverColumn,
41
42
  selectedColumn,
42
43
  hoveredColumn,
43
44
  projectID,
45
+ children,
44
46
  inProcess,
45
47
  ...rest
46
48
  } = props;
@@ -49,6 +51,7 @@ export function ColumnNavigationMap(
49
51
  ColumnNavigationProvider,
50
52
  {
51
53
  columns,
54
+ columnIDs,
52
55
  onSelectColumn,
53
56
  onHoverColumn,
54
57
  selectedColumn,
@@ -56,7 +59,7 @@ export function ColumnNavigationMap(
56
59
  projectID,
57
60
  inProcess,
58
61
  },
59
- h(_ColumnNavigationMap, rest)
62
+ h(_ColumnNavigationMap, props),
60
63
  );
61
64
  }
62
65
 
@@ -89,23 +92,23 @@ function _ColumnNavigationMap(props: ColumnNavigationMapProps) {
89
92
  },
90
93
  [
91
94
  h(ColumnsLayer),
92
- h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),
93
95
  children,
94
- ]
96
+ h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),
97
+ ],
95
98
  );
96
99
  }
97
100
 
98
101
  function ColumnsLayer({ enabled = true }) {
99
102
  const columns = useColumnNavigationStore((state) => state.columns);
100
103
  const selectedColumn = useColumnNavigationStore(
101
- (state) => state.selectedColumn
104
+ (state) => state.selectedColumn,
102
105
  );
103
106
  const hoveredColumn = useColumnNavigationStore(
104
- (state) => state.hoveredColumn
107
+ (state) => state.hoveredColumn,
105
108
  );
106
109
  const selectColumn = useColumnNavigationStore((state) => state.selectColumn);
107
110
  const setHoveredColumn = useColumnNavigationStore(
108
- (state) => state.setHoveredColumn
111
+ (state) => state.setHoveredColumn,
109
112
  );
110
113
 
111
114
  useMapStyleOperator(
@@ -150,7 +153,7 @@ function ColumnsLayer({ enabled = true }) {
150
153
  map.off("click", layers, clickHandler);
151
154
  };
152
155
  },
153
- [columns, enabled]
156
+ [columns, enabled],
154
157
  );
155
158
 
156
159
  const hoveredColumnRef = useRef(null);
@@ -162,17 +165,17 @@ function ColumnsLayer({ enabled = true }) {
162
165
  // Deselect previous column
163
166
  map.setFeatureState(
164
167
  { source: "columns", id: prevHoveredColumn },
165
- { hover: false }
168
+ { hover: false },
166
169
  );
167
170
  }
168
171
  hoveredColumnRef.current = hoveredColumn;
169
172
  // Select the current column
170
173
  map.setFeatureState(
171
174
  { source: "columns", id: hoveredColumn },
172
- { hover: true }
175
+ { hover: true },
173
176
  );
174
177
  },
175
- [hoveredColumn, columns]
178
+ [hoveredColumn, columns],
176
179
  );
177
180
 
178
181
  /** Set feature state for selected columns */
@@ -187,7 +190,7 @@ function ColumnsLayer({ enabled = true }) {
187
190
  // Deselect previous column
188
191
  map.setFeatureState(
189
192
  { source: "columns", id: prevSelectedColumn },
190
- { selected: false }
193
+ { selected: false },
191
194
  );
192
195
  }
193
196
 
@@ -196,12 +199,12 @@ function ColumnsLayer({ enabled = true }) {
196
199
  // Select the current column
197
200
  map.setFeatureState(
198
201
  { source: "columns", id: selectedColumn },
199
- { selected: true }
202
+ { selected: true },
200
203
  );
201
204
 
202
205
  // Center the selected column
203
206
  const columnGeometry = columns.find(
204
- (d) => d.id == selectedColumn
207
+ (d) => d.id == selectedColumn,
205
208
  )?.geometry;
206
209
  if (columnGeometry == null) return;
207
210
  const center = geoCentroid(columnGeometry);
@@ -212,7 +215,7 @@ function ColumnsLayer({ enabled = true }) {
212
215
  initialRenderRef.current = false;
213
216
  }
214
217
  },
215
- [selectedColumn, columns]
218
+ [selectedColumn, columns],
216
219
  );
217
220
 
218
221
  return null;
@@ -35,7 +35,7 @@ export function ColumnKeyboardNavigation(props: KeyboardNavProps) {
35
35
  };
36
36
 
37
37
  const currentIndex = columns.findIndex(
38
- (d) => d.properties.col_id == col_id
38
+ (d) => d.properties.col_id == col_id,
39
39
  );
40
40
 
41
41
  const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];
@@ -43,7 +43,7 @@ export function ColumnKeyboardNavigation(props: KeyboardNavProps) {
43
43
  neighbors,
44
44
  voronoi.centroids,
45
45
  currentIndex,
46
- projection
46
+ projection,
47
47
  );
48
48
  }, [col_id, columns, voronoi, map]);
49
49
 
@@ -58,7 +58,7 @@ export function ColumnKeyboardNavigation(props: KeyboardNavProps) {
58
58
  selectColumn(columns[nextColumnIx].id);
59
59
  return false;
60
60
  },
61
- [keyMapping, selectColumn]
61
+ [keyMapping, selectColumn],
62
62
  );
63
63
 
64
64
  useEffect(() => {
@@ -80,7 +80,7 @@ export function ColumnKeyboardNavigation(props: KeyboardNavProps) {
80
80
  features,
81
81
  });
82
82
  },
83
- [voronoi, showTriangulation]
83
+ [voronoi, showTriangulation],
84
84
  );
85
85
 
86
86
  //if (neighbors == null) return null;
@@ -6,6 +6,7 @@ import {
6
6
  useContext,
7
7
  ReactNode,
8
8
  useEffect,
9
+ useMemo,
9
10
  } from "react";
10
11
  import h from "@macrostrat/hyper";
11
12
  import {
@@ -27,18 +28,20 @@ export interface NavigationProviderProps {
27
28
  selectedColumn?: number | null;
28
29
  hoveredColumn?: number | null;
29
30
  columns?: ColumnGeoJSONRecordWithID[] | null;
31
+ columnIDs?: number[] | null;
30
32
  children: ReactNode;
31
33
  onSelectColumn?: (col_id: number | null, column: any) => void;
32
34
  onHoverColumn?: (col_id: number | null, column: any) => void;
33
35
  }
34
36
 
35
37
  const NavigationStoreContext = createContext<StoreApi<NavigationStore> | null>(
36
- null
38
+ null,
37
39
  );
38
40
 
39
41
  export function ColumnNavigationProvider({
40
42
  children,
41
43
  columns,
44
+ columnIDs,
42
45
  selectedColumn,
43
46
  projectID,
44
47
  inProcess,
@@ -76,17 +79,24 @@ export function ColumnNavigationProvider({
76
79
  // store.setState({ columns: _columns, selectedColumn });
77
80
  // }, [projectID, inProcess, columns, getColumns]);
78
81
 
79
- const _columns = columns ?? useMacrostratColumns(projectID, inProcess);
82
+ let _columns = columns ?? useMacrostratColumns(projectID, inProcess);
83
+
84
+ // filter columns if specified
85
+ if (columnIDs?.length > 0) {
86
+ _columns = useMemo(() => {
87
+ return _columns?.filter((d) => columnIDs.includes(d.properties.col_id));
88
+ }, [columnIDs, _columns]);
89
+ }
90
+
80
91
  useEffect(() => {
81
- if (_columns != null) {
92
+ if (_columns?.length > 0) {
82
93
  store.setState({ columns: _columns, selectedColumn });
83
94
  }
84
95
  }, [_columns]);
85
- // Update selected colun if it is changed externally
96
+ // Update selected column if it is changed externally
86
97
 
87
98
  // Kind of an awkward way to do this but we need to allow the selector to run
88
99
  useEffect(() => {
89
- console.log("Selecting column", selectedColumn);
90
100
  const { selectColumn, selectedColumn: _internalSelectedColumn } =
91
101
  store.getState();
92
102
  if (selectedColumn == _internalSelectedColumn) {
@@ -99,7 +109,7 @@ export function ColumnNavigationProvider({
99
109
  }
100
110
 
101
111
  export function useColumnNavigationStore(
102
- selector: (state: NavigationStore) => any
112
+ selector: (state: NavigationStore) => any,
103
113
  ) {
104
114
  const storeApi = useContext(NavigationStoreContext);
105
115
  if (storeApi == null) {
@@ -48,7 +48,7 @@ const MapViewFrame = (props) => {
48
48
  setExpanded(true);
49
49
  },
50
50
  },
51
- [h(LandLayer), children]
51
+ [h(LandLayer), children],
52
52
  ),
53
53
  h.if(expanded)(Button, {
54
54
  className: "close-button",
@@ -60,7 +60,7 @@ const MapViewFrame = (props) => {
60
60
  intent: "danger",
61
61
  }),
62
62
  ]),
63
- ]
63
+ ],
64
64
  );
65
65
  };
66
66
 
@@ -1,6 +1,6 @@
1
1
  import h from "@macrostrat/hyper";
2
2
 
3
- import { Meta } from "@storybook/react";
3
+ import { Meta } from "@storybook/react-vite";
4
4
  import { ColumnNavigationSVGMap, ColumnNavigationSVGMapProps } from ".";
5
5
  import { MacrostratDataProvider } from "../../../data-provider";
6
6
  import { useState } from "react";
@@ -12,7 +12,7 @@ interface ColumnIndexMapProps extends ColumnNavigationSVGMapProps {
12
12
  function BasicColumnNavigationSVGMap(props: ColumnIndexMapProps) {
13
13
  return h(
14
14
  MacrostratDataProvider,
15
- h(ColumnNavigationSVGMap, { style: { width: 500, height: 500 }, ...props })
15
+ h(ColumnNavigationSVGMap, { style: { width: 500, height: 500 }, ...props }),
16
16
  );
17
17
  }
18
18
 
@@ -41,7 +41,7 @@ export function ResizableMapFrame(props) {
41
41
  ...rest,
42
42
  scale,
43
43
  },
44
- [h(LandLayer), children]
44
+ [h(LandLayer), children],
45
45
  ),
46
46
  ]);
47
47
  }
@@ -70,8 +70,6 @@ export function ColumnNavigationSVGMap(props) {
70
70
  _center = geoCentroid(currentColumn);
71
71
  }
72
72
 
73
- console.log(currentColumn);
74
-
75
73
  return h(
76
74
  ResizableMapFrame,
77
75
  { center: _center, style, margin, scale, className },
@@ -91,7 +89,7 @@ export function ColumnNavigationSVGMap(props) {
91
89
  ...rest,
92
90
  }),
93
91
  h.if(currentColumn != null)(CurrentColumn, { feature: currentColumn }),
94
- ]
92
+ ],
95
93
  );
96
94
  }
97
95
 
@@ -32,7 +32,7 @@ export function MeasurementsLayer(props) {
32
32
  return h(FeatureLayer, {
33
33
  useCanvas: false,
34
34
  style,
35
- features: res.features.filter((d) => d.properties.unit_id != null),
35
+ features: res.features?.filter((d) => d.properties.unit_id != null) ?? [],
36
36
  });
37
37
  }
38
38
 
@@ -48,8 +48,6 @@ function ColumnFeatures(props) {
48
48
  singleFeature = true,
49
49
  } = props;
50
50
 
51
- console.log(features);
52
-
53
51
  const c = chroma(color);
54
52
 
55
53
  return h(
@@ -62,13 +60,13 @@ function ColumnFeatures(props) {
62
60
  stroke: c.alpha(0.4).css(),
63
61
  },
64
62
  },
65
- features.map((f) => {
63
+ features?.map((f) => {
66
64
  return h(Feature, {
67
65
  id: f.id ?? f.properties.col_id,
68
66
  onClick,
69
67
  feature: f,
70
68
  });
71
- })
69
+ }),
72
70
  );
73
71
  }
74
72
 
@@ -100,7 +98,7 @@ function ColumnKeyboardNavigation(props: KeyboardNavProps) {
100
98
  const { projection } = useContext(MapContext);
101
99
  const { centroids, tri } = useMemo(
102
100
  () => buildTriangulation(features),
103
- [features]
101
+ [features],
104
102
  );
105
103
 
106
104
  const currentIndex = useMemo(() => {
@@ -120,7 +118,7 @@ function ColumnKeyboardNavigation(props: KeyboardNavProps) {
120
118
  // @ts-ignore
121
119
  onChange(features[nextColumnIx]);
122
120
  },
123
- [keyMapping]
121
+ [keyMapping],
124
122
  );
125
123
 
126
124
  if (neighbors == null) return null;
@@ -5,7 +5,7 @@ export function buildKeyMapping(
5
5
  neighbors,
6
6
  centroids,
7
7
  currentIndex,
8
- projection
8
+ projection,
9
9
  ) {
10
10
  if (neighbors == null) return;
11
11
 
package/src/notes.ts ADDED
@@ -0,0 +1,49 @@
1
+ import h from "@macrostrat/hyper";
2
+
3
+ import { ColumnNotesProvider } from "./units";
4
+
5
+ import { StaticNotesColumn, SVG } from "@macrostrat/column-components";
6
+ import { useCompositeScale, useMacrostratColumnData } from "./data-provider";
7
+ import type { ReactNode } from "react";
8
+
9
+ interface ColumnNotesProps {
10
+ notes: any[];
11
+ width?: number;
12
+ noteComponent?: any;
13
+ paddingLeft?: number;
14
+ deltaConnectorAttachment?: number;
15
+ children?: ReactNode;
16
+ }
17
+
18
+ export function ColumnNotes({
19
+ notes,
20
+ width = 200,
21
+ noteComponent,
22
+ paddingLeft = 60,
23
+ deltaConnectorAttachment,
24
+ children,
25
+ }: ColumnNotesProps) {
26
+ const { totalHeight } = useMacrostratColumnData();
27
+ const scale = useCompositeScale();
28
+
29
+ return h(
30
+ ColumnNotesProvider,
31
+ {
32
+ scale,
33
+ totalHeight,
34
+ pixelScale: -1,
35
+ },
36
+ [
37
+ h(SVG, { width, height: totalHeight, paddingH: 4 }, [
38
+ h(StaticNotesColumn, {
39
+ width,
40
+ notes,
41
+ noteComponent,
42
+ paddingLeft,
43
+ deltaConnectorAttachment,
44
+ }),
45
+ ]),
46
+ children,
47
+ ],
48
+ );
49
+ }
@@ -77,7 +77,7 @@ export interface CompositeColumnData<T extends UnitLong = ExtUnit>
77
77
 
78
78
  export function buildCompositeScaleInfo(
79
79
  inputScales: LinearScaleDef[],
80
- unconformityHeight: number
80
+ unconformityHeight: number,
81
81
  ): CompositeScaleData {
82
82
  /** Finalize the heights of sections, including the heights of unconformities
83
83
  * between them.
@@ -112,7 +112,7 @@ export function buildCompositeScaleInfo(
112
112
 
113
113
  export function finalizeSectionHeights<T extends UnitLong>(
114
114
  sections: SectionInfoWithScale<T>[],
115
- unconformityHeight: number
115
+ unconformityHeight: number,
116
116
  ): CompositeColumnData<T> {
117
117
  /** Finalize the heights of sections, including the heights of unconformities
118
118
  * between them.
@@ -121,7 +121,7 @@ export function finalizeSectionHeights<T extends UnitLong>(
121
121
  const sectionScales = sections.map((d) => d.scaleInfo);
122
122
  const { totalHeight, sections: packages } = buildCompositeScaleInfo(
123
123
  sectionScales,
124
- unconformityHeight
124
+ unconformityHeight,
125
125
  );
126
126
 
127
127
  // This could perhaps be simplified.
@@ -148,7 +148,7 @@ interface SectionInfoWithScale<T extends UnitLong = ExtUnit>
148
148
 
149
149
  export function computeSectionHeights<T extends UnitLong>(
150
150
  sections: SectionInfo<T>[],
151
- opts: ColumnScaleOptions
151
+ opts: ColumnScaleOptions,
152
152
  ): SectionInfoWithScale<T>[] {
153
153
  return sections.map((group) => {
154
154
  return addScaleToSection<T>(group, opts);
@@ -157,7 +157,7 @@ export function computeSectionHeights<T extends UnitLong>(
157
157
 
158
158
  function addScaleToSection<T extends UnitLong = ExtUnit>(
159
159
  group: SectionInfo<T>,
160
- opts: ColumnScaleOptions
160
+ opts: ColumnScaleOptions,
161
161
  ): SectionInfoWithScale<T> {
162
162
  const { t_age, b_age, units } = group;
163
163
  let _range = null;
@@ -179,7 +179,7 @@ function addScaleToSection<T extends UnitLong = ExtUnit>(
179
179
 
180
180
  function buildSectionScale<T extends UnitLong>(
181
181
  data: T[],
182
- opts: SectionScaleOptions
182
+ opts: SectionScaleOptions,
183
183
  ): PackageScaleInfo {
184
184
  const {
185
185
  targetUnitHeight = 20,
@@ -216,7 +216,7 @@ function buildSectionScale<T extends UnitLong>(
216
216
 
217
217
  export function createPackageScale(
218
218
  def: LinearScaleDef,
219
- offset: number = 0
219
+ offset: number = 0,
220
220
  ): PackageScaleInfo {
221
221
  /** Build a section scale */
222
222
  // Domain should be oriented from bottom to top, but scale is oriented from top to bottom
@@ -234,7 +234,7 @@ export function createPackageScale(
234
234
 
235
235
  function findSectionHeightRange(
236
236
  data: UnitLong[],
237
- axisType: ColumnAxisType
237
+ axisType: ColumnAxisType,
238
238
  ): [number, number] {
239
239
  if (axisType == null) {
240
240
  throw new Error("Axis type is not set");
@@ -259,7 +259,7 @@ function findSectionHeightRange(
259
259
 
260
260
  function findAverageUnitHeight(
261
261
  data: UnitLong[],
262
- axisType: ColumnAxisType
262
+ axisType: ColumnAxisType,
263
263
  ): number {
264
264
  const unitHeights = data.map((d) => {
265
265
  const [b_pos, t_pos] = getUnitHeightRange(d, axisType);
@@ -268,15 +268,22 @@ function findAverageUnitHeight(
268
268
  return unitHeights.reduce((a, b) => a + b, 0) / unitHeights.length;
269
269
  }
270
270
 
271
+ export interface CompositeColumnScale {
272
+ (age: number): number | null;
273
+ copy(): CompositeColumnScale;
274
+ domain(): [number, number];
275
+ invert(pixelHeight: number): number | null;
276
+ }
277
+
271
278
  export function createCompositeScale(
272
279
  sections: PackageLayoutData[],
273
- interpolateUnconformities: boolean = false
274
- ): (age: number) => number | null {
280
+ interpolateUnconformities: boolean = false,
281
+ ): CompositeColumnScale {
275
282
  /** Create a scale that works across multiple packages */
276
283
  // Get surfaces at which scale breaks
277
284
  let scaleBreaks: [number, number][] = [];
278
285
  for (const section of sections) {
279
- const { pixelHeight, pixelScale, offset, domain } = section.scaleInfo;
286
+ const { pixelHeight, offset, domain } = section.scaleInfo;
280
287
 
281
288
  scaleBreaks.push([domain[1], offset]);
282
289
  scaleBreaks.push([domain[0], offset + pixelHeight]);
@@ -284,32 +291,73 @@ export function createCompositeScale(
284
291
  // Sort the scale breaks by age
285
292
  scaleBreaks.sort((a, b) => a[0] - b[0]);
286
293
 
287
- return (age) => {
288
- /** Given an age, find the corresponding pixel position */
289
- // Iterate through the sections to find the correct one
290
-
294
+ const scale = (age) => {
291
295
  // Accumulate scale breaks and pixel height
292
- let pixelHeight = 0;
293
- let pixelScale = 0;
296
+ let lastHeight = 0;
294
297
  let lastAge = null;
295
298
  for (const [age1, height] of scaleBreaks) {
296
299
  if (age <= age1) {
297
- if (lastAge != null) {
298
- pixelHeight += (age - lastAge) * pixelScale;
299
- return pixelHeight;
300
+ let deltaAge = age1 - lastAge;
301
+ if (deltaAge === 0) {
302
+ // If the age is exactly at a scale break, return the height at that break
303
+ return height;
300
304
  }
301
- lastAge = age;
302
- pixelHeight = height;
305
+ let pixelScale = (height - lastHeight) / deltaAge;
306
+ return lastHeight + (age - lastAge) * pixelScale;
303
307
  }
308
+ lastAge = age1;
309
+ lastHeight = height;
304
310
  }
305
311
  };
312
+
313
+ scale.copy = () => {
314
+ return createCompositeScale(sections, interpolateUnconformities);
315
+ };
316
+
317
+ scale.domain = () => {
318
+ /** Return the domain of the scale */
319
+ const firstSection = sections[0].scaleInfo.domain;
320
+ const lastSection = sections[sections.length - 1].scaleInfo.domain;
321
+ if (firstSection[0] < lastSection[0]) {
322
+ return [Math.min(...firstSection), Math.max(...lastSection)];
323
+ } else {
324
+ // Catches "normal" axes like height
325
+ return [Math.max(...firstSection), Math.min(...lastSection)];
326
+ }
327
+ };
328
+
329
+ scale.invert = (pixelHeight) => {
330
+ /** Invert the scale to get the age at a given pixel height */
331
+ // Iterate through the sections to find the correct one
332
+ let lastAge = null;
333
+ for (const section of sections) {
334
+ const {
335
+ pixelHeight: sectionHeight,
336
+ pixelScale,
337
+ offset,
338
+ domain,
339
+ } = section.scaleInfo;
340
+ if (
341
+ pixelHeight >= offset &&
342
+ pixelHeight <= offset + sectionHeight &&
343
+ pixelScale > 0
344
+ ) {
345
+ const age = domain[1] + (pixelHeight - offset) / pixelScale;
346
+ return age;
347
+ }
348
+ lastAge = domain[1];
349
+ }
350
+ return null;
351
+ };
352
+
353
+ return scale as CompositeColumnScale;
306
354
  }
307
355
 
308
356
  /** Collapse sections separated by unconformities that are smaller than a given pixel height. */
309
357
  export function collapseUnconformitiesByPixelHeight<T extends UnitLong>(
310
358
  sections: SectionInfoWithScale<T>[],
311
359
  threshold: number,
312
- opts: ColumnScaleOptions
360
+ opts: ColumnScaleOptions,
313
361
  ): SectionInfoWithScale<T>[] {
314
362
  const newSections = [];
315
363
  let currentSection: SectionInfoWithScale<T> | null = null;
@@ -323,7 +371,7 @@ export function collapseUnconformitiesByPixelHeight<T extends UnitLong>(
323
371
  dAge *
324
372
  Math.max(
325
373
  currentSection.scaleInfo.pixelScale,
326
- nextSection.scaleInfo.pixelScale
374
+ nextSection.scaleInfo.pixelScale,
327
375
  );
328
376
  if (pxHeight < threshold) {
329
377
  // We need to merge the sections