@macrostrat/column-views 2.1.4 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/{column-views.77b49a43.js → column-views.0265cf7f.js} +52 -23
  3. package/dist/esm/column-views.0265cf7f.js.map +1 -0
  4. package/dist/esm/{column-views.4ab0ec82.js → column-views.073c42da.js} +142 -76
  5. package/dist/esm/column-views.073c42da.js.map +1 -0
  6. package/dist/esm/column-views.079119f4.js +17 -0
  7. package/dist/esm/column-views.079119f4.js.map +1 -0
  8. package/dist/esm/{column-views.5e2dc19d.js → column-views.0ce9b697.js} +3 -3
  9. package/dist/esm/{column-views.5e2dc19d.js.map → column-views.0ce9b697.js.map} +1 -1
  10. package/dist/esm/{column-views.448c0687.css → column-views.1151416d.css} +5 -5
  11. package/dist/esm/column-views.1151416d.css.map +1 -0
  12. package/dist/esm/{column-views.686d21ad.js → column-views.22ec902b.js} +4 -1
  13. package/dist/esm/column-views.22ec902b.js.map +1 -0
  14. package/dist/esm/{column-views.42b89c52.js → column-views.29a551f6.js} +60 -27
  15. package/dist/esm/column-views.29a551f6.js.map +1 -0
  16. package/dist/esm/{column-views.fbc7401f.js → column-views.2aef5df8.js} +5 -5
  17. package/dist/esm/{column-views.fbc7401f.js.map → column-views.2aef5df8.js.map} +1 -1
  18. package/dist/esm/{column-views.ab0380ed.js → column-views.2e854496.js} +3 -3
  19. package/dist/esm/{column-views.ab0380ed.js.map → column-views.2e854496.js.map} +1 -1
  20. package/dist/esm/{column-views.7ca9e1cd.js → column-views.2eceafb5.js} +19 -21
  21. package/dist/esm/column-views.2eceafb5.js.map +1 -0
  22. package/dist/esm/{column-views.b17f793f.css → column-views.321af3ae.css} +7 -1
  23. package/dist/esm/{column-views.686d21ad.js.map → column-views.321af3ae.css.map} +1 -1
  24. package/dist/esm/{column-views.75ea6dbe.js → column-views.382c486d.js} +11 -6
  25. package/dist/esm/column-views.382c486d.js.map +1 -0
  26. package/dist/esm/column-views.3a7179c4.js +137 -0
  27. package/dist/esm/column-views.3a7179c4.js.map +1 -0
  28. package/dist/esm/{column-views.8e3dec90.js → column-views.413217dc.js} +2 -2
  29. package/dist/esm/column-views.413217dc.js.map +1 -0
  30. package/dist/esm/column-views.418f948f.js +15 -0
  31. package/dist/esm/{column-views.38a305a0.js.map → column-views.418f948f.js.map} +1 -1
  32. package/dist/esm/{column-views.4d22c21c.js → column-views.41e5f0dc.js} +22 -4
  33. package/dist/esm/column-views.41e5f0dc.js.map +1 -0
  34. package/dist/esm/{column-views.676cb1d3.js → column-views.469a4952.js} +3 -3
  35. package/dist/esm/{column-views.676cb1d3.js.map → column-views.469a4952.js.map} +1 -1
  36. package/dist/esm/column-views.4ed90896.js +105 -0
  37. package/dist/esm/column-views.4ed90896.js.map +1 -0
  38. package/dist/esm/{column-views.547b2730.js → column-views.53722d0a.js} +19 -15
  39. package/dist/esm/column-views.53722d0a.js.map +1 -0
  40. package/dist/esm/{column-views.39657bbf.js → column-views.54f8b909.js} +7 -2
  41. package/dist/esm/column-views.54f8b909.js.map +1 -0
  42. package/dist/esm/{column-views.b72918ce.css → column-views.562db43a.css} +10 -2
  43. package/dist/esm/column-views.562db43a.css.map +1 -0
  44. package/dist/esm/{column-views.9e1c82fe.js → column-views.58b891df.js} +2 -2
  45. package/dist/esm/{column-views.9e1c82fe.js.map → column-views.58b891df.js.map} +1 -1
  46. package/dist/esm/{column-views.86619334.js → column-views.60365cdb.js} +2 -2
  47. package/dist/esm/{column-views.86619334.js.map → column-views.60365cdb.js.map} +1 -1
  48. package/dist/esm/column-views.6698b95a.js +108 -0
  49. package/dist/esm/column-views.6698b95a.js.map +1 -0
  50. package/dist/esm/column-views.6e7082db.js +16 -0
  51. package/dist/esm/column-views.6e7082db.js.map +1 -0
  52. package/dist/esm/column-views.70164236.js +206 -0
  53. package/dist/esm/column-views.70164236.js.map +1 -0
  54. package/dist/esm/{column-views.2ff3dd8b.js → column-views.748dce47.js} +31 -60
  55. package/dist/esm/column-views.748dce47.js.map +1 -0
  56. package/dist/esm/{column-views.775846c9.js → column-views.7683bb52.js} +9 -40
  57. package/dist/esm/column-views.7683bb52.js.map +1 -0
  58. package/dist/esm/{column-views.e7ab5af0.js → column-views.787d7696.js} +3 -3
  59. package/dist/esm/{column-views.e7ab5af0.js.map → column-views.787d7696.js.map} +1 -1
  60. package/dist/esm/{column-views.f20eb583.js → column-views.81bddbee.js} +6 -8
  61. package/dist/esm/column-views.81bddbee.js.map +1 -0
  62. package/dist/esm/{column-views.cc5244c4.js → column-views.8284c3a9.js} +91 -55
  63. package/dist/esm/column-views.8284c3a9.js.map +1 -0
  64. package/dist/esm/{column-views.f08929e2.js → column-views.88d63dd0.js} +5 -3
  65. package/dist/esm/column-views.88d63dd0.js.map +1 -0
  66. package/dist/esm/{column-views.935ef6f7.js → column-views.8b623b27.js} +2 -2
  67. package/dist/esm/{column-views.935ef6f7.js.map → column-views.8b623b27.js.map} +1 -1
  68. package/dist/esm/{column-views.3f246167.js → column-views.8c296309.js} +5 -5
  69. package/dist/esm/column-views.8c296309.js.map +1 -0
  70. package/dist/esm/{column-views.64a84c43.js → column-views.a3fabf0f.js} +38 -30
  71. package/dist/esm/column-views.a3fabf0f.js.map +1 -0
  72. package/dist/esm/column-views.abeab9aa.js +184 -0
  73. package/dist/esm/column-views.abeab9aa.js.map +1 -0
  74. package/dist/esm/{column-views.02f3732a.js → column-views.adec2e4c.js} +40 -20
  75. package/dist/esm/column-views.adec2e4c.js.map +1 -0
  76. package/dist/esm/{column-views.9892f825.js → column-views.aecf25bc.js} +75 -42
  77. package/dist/esm/column-views.aecf25bc.js.map +1 -0
  78. package/dist/esm/{column-views.1f7fb650.js → column-views.b08d82e6.js} +3 -3
  79. package/dist/esm/{column-views.1f7fb650.js.map → column-views.b08d82e6.js.map} +1 -1
  80. package/dist/esm/{column-views.769fa0ee.js → column-views.b29f8718.js} +2 -2
  81. package/dist/esm/{column-views.769fa0ee.js.map → column-views.b29f8718.js.map} +1 -1
  82. package/dist/esm/column-views.b7016f82.css +54 -0
  83. package/dist/esm/column-views.b7016f82.css.map +1 -0
  84. package/dist/esm/{column-views.0732894f.js → column-views.bbc77227.js} +2 -2
  85. package/dist/esm/{column-views.0732894f.js.map → column-views.bbc77227.js.map} +1 -1
  86. package/dist/esm/column-views.c2fbcba8.js +15 -0
  87. package/dist/esm/{column-views.0a159282.js.map → column-views.c2fbcba8.js.map} +1 -1
  88. package/dist/esm/{column-views.e3b9a317.js → column-views.c3495702.js} +2 -2
  89. package/dist/esm/{column-views.e3b9a317.js.map → column-views.c3495702.js.map} +1 -1
  90. package/dist/esm/{column-views.f7523c1d.js → column-views.c92a359e.js} +2 -2
  91. package/dist/esm/{column-views.f7523c1d.js.map → column-views.c92a359e.js.map} +1 -1
  92. package/dist/esm/{column-views.243da806.js → column-views.cae1a6a1.js} +3 -3
  93. package/dist/esm/{column-views.243da806.js.map → column-views.cae1a6a1.js.map} +1 -1
  94. package/dist/esm/{column-views.cdadc5c2.js → column-views.cc733361.js} +7 -1
  95. package/dist/esm/column-views.cc733361.js.map +1 -0
  96. package/dist/esm/{column-views.a195109e.js → column-views.d86555b0.js} +2 -2
  97. package/dist/esm/{column-views.a195109e.js.map → column-views.d86555b0.js.map} +1 -1
  98. package/dist/esm/{column-views.a6301a41.js → column-views.df34441c.js} +6 -8
  99. package/dist/esm/column-views.df34441c.js.map +1 -0
  100. package/dist/esm/{column-views.97d542eb.js → column-views.e17f00d3.js} +4 -4
  101. package/dist/esm/column-views.e17f00d3.js.map +1 -0
  102. package/dist/esm/{column-views.7715e35e.js → column-views.e1bc3cfa.js} +3 -3
  103. package/dist/esm/{column-views.7715e35e.js.map → column-views.e1bc3cfa.js.map} +1 -1
  104. package/dist/esm/{column-views.8d4ce558.css → column-views.e33ac5c9.css} +26 -9
  105. package/dist/esm/column-views.e33ac5c9.css.map +1 -0
  106. package/dist/esm/column-views.ea4ebbb7.js +31 -0
  107. package/dist/esm/column-views.ea4ebbb7.js.map +1 -0
  108. package/dist/esm/{column-views.78bd3f09.js → column-views.f0b0fc56.js} +2 -2
  109. package/dist/esm/{column-views.78bd3f09.js.map → column-views.f0b0fc56.js.map} +1 -1
  110. package/dist/esm/column-views.faacfc3c.js +92 -0
  111. package/dist/esm/column-views.faacfc3c.js.map +1 -0
  112. package/dist/esm/{column-views.d48cb0d8.js → column-views.fcf25ec6.js} +7 -1
  113. package/dist/esm/column-views.fcf25ec6.js.map +1 -0
  114. package/dist/esm/index.d.ts +264 -441
  115. package/dist/esm/index.d.ts.map +1 -1
  116. package/dist/esm/index.js +12 -12
  117. package/dist/node/column-views.0201566d.js +2 -0
  118. package/dist/node/column-views.0201566d.js.map +1 -0
  119. package/dist/node/column-views.07c503d3.js +2 -0
  120. package/dist/node/column-views.07c503d3.js.map +1 -0
  121. package/dist/node/{column-views.3a55ecd7.css → column-views.0840b115.css} +2 -2
  122. package/dist/node/column-views.0840b115.css.map +1 -0
  123. package/dist/node/column-views.0b3a384e.js +2 -0
  124. package/dist/node/column-views.0b3a384e.js.map +1 -0
  125. package/dist/node/column-views.0bd15ee4.js +2 -0
  126. package/dist/node/column-views.0bd15ee4.js.map +1 -0
  127. package/dist/node/{column-views.2a6b842d.js → column-views.0e7ac946.js} +2 -2
  128. package/dist/node/column-views.0e7ac946.js.map +1 -0
  129. package/dist/node/column-views.108db52e.js +2 -0
  130. package/dist/node/column-views.108db52e.js.map +1 -0
  131. package/dist/node/column-views.1261be59.js +2 -0
  132. package/dist/node/column-views.1261be59.js.map +1 -0
  133. package/dist/node/column-views.16f336ee.js +2 -0
  134. package/dist/node/column-views.16f336ee.js.map +1 -0
  135. package/dist/node/column-views.18d54bbb.js +2 -0
  136. package/dist/node/column-views.18d54bbb.js.map +1 -0
  137. package/dist/node/column-views.19a84c01.js +2 -0
  138. package/dist/node/column-views.19a84c01.js.map +1 -0
  139. package/dist/node/column-views.1a3c399e.js +2 -0
  140. package/dist/node/column-views.1a3c399e.js.map +1 -0
  141. package/dist/node/column-views.29483479.js +2 -0
  142. package/dist/node/column-views.29483479.js.map +1 -0
  143. package/dist/node/column-views.29eb25bd.css +2 -0
  144. package/dist/node/column-views.29eb25bd.css.map +1 -0
  145. package/dist/node/column-views.312db572.js +2 -0
  146. package/dist/node/column-views.312db572.js.map +1 -0
  147. package/dist/node/{column-views.2ca669bc.js → column-views.32344397.js} +2 -2
  148. package/dist/node/{column-views.2ca669bc.js.map → column-views.32344397.js.map} +1 -1
  149. package/dist/node/column-views.44952ae6.js +2 -0
  150. package/dist/node/column-views.44952ae6.js.map +1 -0
  151. package/dist/node/{column-views.a372c943.js → column-views.45a03acc.js} +2 -2
  152. package/dist/node/{column-views.a372c943.js.map → column-views.45a03acc.js.map} +1 -1
  153. package/dist/node/{column-views.0cbd4a3f.js → column-views.48a3cfa3.js} +2 -2
  154. package/dist/node/{column-views.0cbd4a3f.js.map → column-views.48a3cfa3.js.map} +1 -1
  155. package/dist/node/{column-views.42db0bb8.js → column-views.4b4c214a.js} +2 -2
  156. package/dist/node/{column-views.42db0bb8.js.map → column-views.4b4c214a.js.map} +1 -1
  157. package/dist/node/column-views.50a992d3.css +2 -0
  158. package/dist/node/column-views.50a992d3.css.map +1 -0
  159. package/dist/node/{column-views.65f091ea.js → column-views.54363c13.js} +2 -2
  160. package/dist/node/{column-views.65f091ea.js.map → column-views.54363c13.js.map} +1 -1
  161. package/dist/node/{column-views.858b5cf4.js → column-views.554d44a7.js} +2 -2
  162. package/dist/node/{column-views.858b5cf4.js.map → column-views.554d44a7.js.map} +1 -1
  163. package/dist/node/column-views.573cb29d.js +2 -0
  164. package/dist/node/column-views.573cb29d.js.map +1 -0
  165. package/dist/node/{column-views.492b4917.js → column-views.57dd069c.js} +2 -2
  166. package/dist/node/{column-views.492b4917.js.map → column-views.57dd069c.js.map} +1 -1
  167. package/dist/node/{column-views.2e4e357d.js → column-views.588b02a1.js} +2 -2
  168. package/dist/node/{column-views.2e4e357d.js.map → column-views.588b02a1.js.map} +1 -1
  169. package/dist/node/column-views.5a8bc8e3.js +2 -0
  170. package/dist/node/column-views.5a8bc8e3.js.map +1 -0
  171. package/dist/node/column-views.5f3b0b04.js +2 -0
  172. package/dist/node/column-views.5f3b0b04.js.map +1 -0
  173. package/dist/node/column-views.6099a3a9.js +2 -0
  174. package/dist/node/column-views.6099a3a9.js.map +1 -0
  175. package/dist/node/column-views.6919fd2a.js +2 -0
  176. package/dist/node/column-views.6919fd2a.js.map +1 -0
  177. package/dist/node/{column-views.45fab61b.js → column-views.6b8424fd.js} +2 -2
  178. package/dist/node/{column-views.45fab61b.js.map → column-views.6b8424fd.js.map} +1 -1
  179. package/dist/node/column-views.7425d37b.js +2 -0
  180. package/dist/node/column-views.7425d37b.js.map +1 -0
  181. package/dist/node/column-views.77ace3a2.js +2 -0
  182. package/dist/node/column-views.77ace3a2.js.map +1 -0
  183. package/dist/node/column-views.7f9c7448.js +2 -0
  184. package/dist/node/column-views.7f9c7448.js.map +1 -0
  185. package/dist/node/column-views.92e29010.js +2 -0
  186. package/dist/node/column-views.92e29010.js.map +1 -0
  187. package/dist/node/{column-views.7010a03b.js → column-views.93febe9b.js} +2 -2
  188. package/dist/node/{column-views.7010a03b.js.map → column-views.93febe9b.js.map} +1 -1
  189. package/dist/node/{column-views.51bc87ca.js → column-views.94c84716.js} +2 -2
  190. package/dist/node/{column-views.51bc87ca.js.map → column-views.94c84716.js.map} +1 -1
  191. package/dist/node/column-views.a16cd1f2.js +2 -0
  192. package/dist/node/column-views.a16cd1f2.js.map +1 -0
  193. package/dist/node/{column-views.eeca917f.js → column-views.a1e29a15.js} +2 -2
  194. package/dist/node/{column-views.eeca917f.js.map → column-views.a1e29a15.js.map} +1 -1
  195. package/dist/node/column-views.aae09aca.js +2 -0
  196. package/dist/node/column-views.aae09aca.js.map +1 -0
  197. package/dist/node/column-views.abe0a664.js +2 -0
  198. package/dist/node/column-views.abe0a664.js.map +1 -0
  199. package/dist/node/{column-views.a2274834.js → column-views.ae9536b3.js} +2 -2
  200. package/dist/node/{column-views.a2274834.js.map → column-views.ae9536b3.js.map} +1 -1
  201. package/dist/node/column-views.aef76eee.js +2 -0
  202. package/dist/node/column-views.aef76eee.js.map +1 -0
  203. package/dist/node/column-views.cd7b223b.css +2 -0
  204. package/dist/node/column-views.cd7b223b.css.map +1 -0
  205. package/dist/node/{column-views.df97f28e.js → column-views.ce5904a6.js} +2 -2
  206. package/dist/node/{column-views.df97f28e.js.map → column-views.ce5904a6.js.map} +1 -1
  207. package/dist/node/column-views.d4545f9f.js +2 -0
  208. package/dist/node/column-views.d4545f9f.js.map +1 -0
  209. package/dist/node/{column-views.c7f6fc0a.js → column-views.d529d3aa.js} +2 -2
  210. package/dist/node/{column-views.c7f6fc0a.js.map → column-views.d529d3aa.js.map} +1 -1
  211. package/dist/node/{column-views.2d957a97.js → column-views.db4ccacc.js} +2 -2
  212. package/dist/node/column-views.db4ccacc.js.map +1 -0
  213. package/dist/node/column-views.e2562224.js +2 -0
  214. package/dist/node/column-views.e2562224.js.map +1 -0
  215. package/dist/node/column-views.e803e4ae.css +2 -0
  216. package/dist/node/column-views.e803e4ae.css.map +1 -0
  217. package/dist/node/column-views.ebe61439.js +2 -0
  218. package/dist/node/column-views.ebe61439.js.map +1 -0
  219. package/dist/node/column-views.edb4ba54.js +2 -0
  220. package/dist/node/column-views.edb4ba54.js.map +1 -0
  221. package/dist/node/column-views.f0f5cefd.js +2 -0
  222. package/dist/node/column-views.f0f5cefd.js.map +1 -0
  223. package/dist/node/column-views.f1ad131a.js +2 -0
  224. package/dist/node/column-views.f1ad131a.js.map +1 -0
  225. package/dist/node/{column-views.58d2f993.js → column-views.f7d72702.js} +2 -2
  226. package/dist/node/{column-views.58d2f993.js.map → column-views.f7d72702.js.map} +1 -1
  227. package/dist/node/{column-views.e3ba0594.js → column-views.fcdc74c4.js} +2 -2
  228. package/dist/node/{column-views.e3ba0594.js.map → column-views.fcdc74c4.js.map} +1 -1
  229. package/dist/node/index.js +1 -1
  230. package/dist/node/index.js.map +1 -1
  231. package/package.json +15 -13
  232. package/src/age-axis.module.sass +4 -2
  233. package/src/age-axis.ts +49 -15
  234. package/src/age-model-overlay.ts +22 -1
  235. package/src/column.module.sass +29 -9
  236. package/src/column.ts +99 -24
  237. package/src/correlation-chart/main.ts +11 -3
  238. package/src/correlation-chart/prepare-data.ts +7 -4
  239. package/src/correlation-chart/stories/correlation-chart.stories.ts +26 -1
  240. package/src/data-provider/base.ts +32 -24
  241. package/src/data-provider/fetch.ts +10 -3
  242. package/src/data-provider/index.ts +1 -0
  243. package/src/data-provider/store.ts +74 -13
  244. package/src/{units/selection.ts → data-provider/unit-selection.ts} +22 -8
  245. package/src/facets/base-sample-column.module.sass +14 -0
  246. package/src/facets/base-sample-column.ts +114 -0
  247. package/src/facets/detrital-zircon/index.ts +31 -63
  248. package/src/facets/fossils/index.module.sass +43 -13
  249. package/src/facets/fossils/index.ts +232 -158
  250. package/src/facets/fossils/provider.ts +121 -25
  251. package/src/facets/index.ts +1 -0
  252. package/src/facets/measurements/index.ts +1 -2
  253. package/src/maps/column-correlation/state.ts +0 -1
  254. package/src/prepare-units/composite-scale.ts +183 -155
  255. package/src/prepare-units/dynamic-scales.ts +298 -0
  256. package/src/prepare-units/helpers.ts +99 -87
  257. package/src/prepare-units/index.ts +77 -51
  258. package/src/prepare-units/types.ts +138 -0
  259. package/src/prepare-units/utils.ts +29 -1
  260. package/src/section.ts +46 -9
  261. package/src/unit-details/panel.module.sass +8 -1
  262. package/src/unit-details/panel.ts +123 -53
  263. package/src/unit-details/popover.ts +6 -1
  264. package/src/units/boxes.ts +2 -7
  265. package/src/units/composite.ts +7 -50
  266. package/src/units/index.ts +0 -1
  267. package/dist/esm/column-views.02f3732a.js.map +0 -1
  268. package/dist/esm/column-views.0a159282.js +0 -13
  269. package/dist/esm/column-views.1e055ed5.js +0 -53
  270. package/dist/esm/column-views.1e055ed5.js.map +0 -1
  271. package/dist/esm/column-views.2ff3dd8b.js.map +0 -1
  272. package/dist/esm/column-views.3048acc1.js +0 -66
  273. package/dist/esm/column-views.3048acc1.js.map +0 -1
  274. package/dist/esm/column-views.38a305a0.js +0 -13
  275. package/dist/esm/column-views.39657bbf.js.map +0 -1
  276. package/dist/esm/column-views.3f246167.js.map +0 -1
  277. package/dist/esm/column-views.42b89c52.js.map +0 -1
  278. package/dist/esm/column-views.448c0687.css.map +0 -1
  279. package/dist/esm/column-views.4ab0ec82.js.map +0 -1
  280. package/dist/esm/column-views.4d22c21c.js.map +0 -1
  281. package/dist/esm/column-views.547b2730.js.map +0 -1
  282. package/dist/esm/column-views.64a84c43.js.map +0 -1
  283. package/dist/esm/column-views.75ea6dbe.js.map +0 -1
  284. package/dist/esm/column-views.775846c9.js.map +0 -1
  285. package/dist/esm/column-views.77b49a43.js.map +0 -1
  286. package/dist/esm/column-views.7ca9e1cd.js.map +0 -1
  287. package/dist/esm/column-views.8703a35b.js +0 -163
  288. package/dist/esm/column-views.8703a35b.js.map +0 -1
  289. package/dist/esm/column-views.8d4ce558.css.map +0 -1
  290. package/dist/esm/column-views.8e3dec90.js.map +0 -1
  291. package/dist/esm/column-views.97d542eb.js.map +0 -1
  292. package/dist/esm/column-views.9892f825.js.map +0 -1
  293. package/dist/esm/column-views.a6301a41.js.map +0 -1
  294. package/dist/esm/column-views.b17f793f.css.map +0 -1
  295. package/dist/esm/column-views.b3c1eb9e.js +0 -16
  296. package/dist/esm/column-views.b3c1eb9e.js.map +0 -1
  297. package/dist/esm/column-views.b72918ce.css.map +0 -1
  298. package/dist/esm/column-views.c71c321c.js +0 -104
  299. package/dist/esm/column-views.c71c321c.js.map +0 -1
  300. package/dist/esm/column-views.cc5244c4.js.map +0 -1
  301. package/dist/esm/column-views.cdadc5c2.js.map +0 -1
  302. package/dist/esm/column-views.d48cb0d8.js.map +0 -1
  303. package/dist/esm/column-views.f08929e2.js.map +0 -1
  304. package/dist/esm/column-views.f20eb583.js.map +0 -1
  305. package/dist/node/column-views.085f4a51.js +0 -2
  306. package/dist/node/column-views.085f4a51.js.map +0 -1
  307. package/dist/node/column-views.0dfc7ef7.js +0 -2
  308. package/dist/node/column-views.0dfc7ef7.js.map +0 -1
  309. package/dist/node/column-views.1a0b56fc.js +0 -2
  310. package/dist/node/column-views.1a0b56fc.js.map +0 -1
  311. package/dist/node/column-views.2926f656.css +0 -2
  312. package/dist/node/column-views.2926f656.css.map +0 -1
  313. package/dist/node/column-views.2a6b842d.js.map +0 -1
  314. package/dist/node/column-views.2d957a97.js.map +0 -1
  315. package/dist/node/column-views.307661d1.css +0 -2
  316. package/dist/node/column-views.307661d1.css.map +0 -1
  317. package/dist/node/column-views.33752461.js +0 -2
  318. package/dist/node/column-views.33752461.js.map +0 -1
  319. package/dist/node/column-views.38357d4a.js +0 -2
  320. package/dist/node/column-views.38357d4a.js.map +0 -1
  321. package/dist/node/column-views.3a55ecd7.css.map +0 -1
  322. package/dist/node/column-views.3eeac38d.js +0 -2
  323. package/dist/node/column-views.3eeac38d.js.map +0 -1
  324. package/dist/node/column-views.45168c80.js +0 -2
  325. package/dist/node/column-views.45168c80.js.map +0 -1
  326. package/dist/node/column-views.4ca62e5d.js +0 -2
  327. package/dist/node/column-views.4ca62e5d.js.map +0 -1
  328. package/dist/node/column-views.6ae7bb69.js +0 -2
  329. package/dist/node/column-views.6ae7bb69.js.map +0 -1
  330. package/dist/node/column-views.6f7a432f.js +0 -2
  331. package/dist/node/column-views.6f7a432f.js.map +0 -1
  332. package/dist/node/column-views.755f726e.js +0 -2
  333. package/dist/node/column-views.755f726e.js.map +0 -1
  334. package/dist/node/column-views.758b9bc1.js +0 -2
  335. package/dist/node/column-views.758b9bc1.js.map +0 -1
  336. package/dist/node/column-views.78d3f3c5.js +0 -2
  337. package/dist/node/column-views.78d3f3c5.js.map +0 -1
  338. package/dist/node/column-views.80fcf105.js +0 -2
  339. package/dist/node/column-views.80fcf105.js.map +0 -1
  340. package/dist/node/column-views.8cfed88b.js +0 -2
  341. package/dist/node/column-views.8cfed88b.js.map +0 -1
  342. package/dist/node/column-views.91043465.js +0 -2
  343. package/dist/node/column-views.91043465.js.map +0 -1
  344. package/dist/node/column-views.976a829b.js +0 -2
  345. package/dist/node/column-views.976a829b.js.map +0 -1
  346. package/dist/node/column-views.99fb74c0.js +0 -2
  347. package/dist/node/column-views.99fb74c0.js.map +0 -1
  348. package/dist/node/column-views.9b7a9ae1.js +0 -2
  349. package/dist/node/column-views.9b7a9ae1.js.map +0 -1
  350. package/dist/node/column-views.9de31cdb.js +0 -2
  351. package/dist/node/column-views.9de31cdb.js.map +0 -1
  352. package/dist/node/column-views.a4e6d4ad.js +0 -2
  353. package/dist/node/column-views.a4e6d4ad.js.map +0 -1
  354. package/dist/node/column-views.a501cea0.js +0 -2
  355. package/dist/node/column-views.a501cea0.js.map +0 -1
  356. package/dist/node/column-views.a7256aa7.js +0 -2
  357. package/dist/node/column-views.a7256aa7.js.map +0 -1
  358. package/dist/node/column-views.c4b409e1.css +0 -2
  359. package/dist/node/column-views.c4b409e1.css.map +0 -1
  360. package/dist/node/column-views.cef1b814.js +0 -2
  361. package/dist/node/column-views.cef1b814.js.map +0 -1
  362. package/dist/node/column-views.d6708353.js +0 -2
  363. package/dist/node/column-views.d6708353.js.map +0 -1
  364. package/dist/node/column-views.d9add589.js +0 -2
  365. package/dist/node/column-views.d9add589.js.map +0 -1
  366. package/dist/node/column-views.dfb2361a.js +0 -2
  367. package/dist/node/column-views.dfb2361a.js.map +0 -1
  368. package/dist/node/column-views.e9515ec1.js +0 -2
  369. package/dist/node/column-views.e9515ec1.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import {useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.a7c5ae16.js";
2
- import {IsotopeDataPoint as $5f39f3d52558a1d0$export$4cb5d059db4e2bd, IsotopesDataArea as $5f39f3d52558a1d0$export$309ef8546e07d921, useDataLocator as $5f39f3d52558a1d0$export$919dbb10b6b5b75} from "./column-views.0732894f.js";
3
- import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.1e055ed5.js";
2
+ import {IsotopeDataPoint as $5f39f3d52558a1d0$export$4cb5d059db4e2bd, IsotopesDataArea as $5f39f3d52558a1d0$export$309ef8546e07d921, useDataLocator as $5f39f3d52558a1d0$export$919dbb10b6b5b75} from "./column-views.bbc77227.js";
3
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.4ed90896.js";
4
4
  import "./column-views.708140ab.css";
5
5
  import $0zDA3$columnviews6992ca88js from "./column-views.6992ca88.js";
6
6
  import {useMemo as $0zDA3$useMemo} from "react";
@@ -184,4 +184,4 @@ function $d71d096cfe00860f$var$ColumnScaleLines(props) {
184
184
 
185
185
 
186
186
  export {$d71d096cfe00860f$export$c69bd0285aa5d775 as IsotopesDataset, $d71d096cfe00860f$export$5d8aa8022c284748 as IsotopesColumn};
187
- //# sourceMappingURL=column-views.5e2dc19d.js.map
187
+ //# sourceMappingURL=column-views.0ce9b697.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"column-views.5e2dc19d.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAO5B,SAAS,kCAAY,SAAE,KAAK,QAAE,IAAI,EAAE,GAAG,MAAyB;IAC9D,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,wCAAa;IACtC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAa;IAC5B,OAAO,wBACL,QACA;WACE;WACA;QACA,GAAG,IAAI;IACT,GACA;AAEJ;AAWA,SAAS,gCAAU,KAAqB;IACtC,IAAI,SAAE,KAAK,aAAE,SAAS,eAAE,WAAW,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IAC9D,MAAM,YAAE,QAAQ,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAE3C,MAAM,UAAE,MAAM,EAAE,GAAG,CAAA,GAAA,sBAAc;IACjC,MAAM,IAAI,OAAO;IACjB,MAAM,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACnC,YAAY,CAAA,GAAA,iBAAS,EAAE,WAAW;QAAE,MAAM,UAAU;IAAE;IACtD,OAAO,wBAAE,UAAU;mBAAE;mBAAW;QAAW,KAAK;IAAM,GAAG;QACvD,wBACE,gBACA,SAAS,GAAG,CAAC,CAAC;YACZ,MAAM,aAAE,SAAS,EAAE,GAAG;YACtB,MAAM,KAAK,UAAU,MAAM;YAC3B,MAAM,KAAK,KAAK,UAAU,WAAW;YACrC,OAAO,wBAAE,QAAQ;oBACf;oBACA;gBACA,iBAAiB,MAAM,eAAe;gBACtC,aAAa;YACf;QACF;KAEH;AACH;AAEA,SAAS,mCAAa,QAAQ;IAC5B,IAAI,SAAS,EAAE;IACf,KAAK,MAAM,QAAQ,SAAU;QAC3B,MAAM,OAAO,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG;YACtC,OAAO;gBACL,OAAO;gBACP,KAAK,KAAK,WAAW,CAAC,EAAE;gBACxB,UAAU,KAAK,gBAAgB,CAAC,EAAE;gBAClC,SAAS,KAAK,OAAO;gBACrB,WAAW,KAAK,SAAS,CAAC,EAAE;gBAC5B,aAAa,KAAK,WAAW;YAC/B;QACF;QACA,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;IACrC;IACA,OAAO;AACT;AAkBA,SAAS,0CAAgB,KAAK;IAC5B,MAAM,aAAE,SAAS,SAAE,QAAQ,cAAc,GAAG;IAC5C,MAAM,QAAQ,CAAA,GAAA,wCAAiB;IAC/B,MAAM,WAAW,CAAA,GAAA,yCAAiB,OAAO,EAAE;IAE3C,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE;QACrB,MAAM,OAAO,SAAS,MAAM,CAAC,CAAC,IAAM,EAAE,WAAW,KAAK;QACtD,MAAM,cAAc,CAAA,GAAA,gCAAwB,EAAE,OAAO;QACrD,OAAO,mCAAa;IACtB,GAAG;QAAC;QAAU;QAAW;KAAM;IAE/B,OAAO,wBACL,CAAA,GAAA,yCAAe,GACf;QACE,WAAU,CAAC;YACT,OAAO,EAAE,GAAG;QACd;IACF,GACA,wBACE,iBACA,OAAO,GAAG,CAAC,CAAC;QACV,OAAO,wBAAE,CAAA,GAAA,wCAAe,GAAG;YACzB,OAAO;YACP,MAAM;QACR;IACF;AAGN;AAEA,SAAS,0CACP,KAA0D;IAE1D,MAAM,SACJ,QAAQ,aACR,SAAS;QAAC;QAAK;KAAE,aACjB,SAAS,SACT,KAAK,SACL,QAAQ,wBACR,WAAW,iBACX,SAAS,aACT,SAAS,YACT,WAAW,MACX,YAAY,SAAS,UACrB,SAAS,GACT,GAAG,MACJ,GAAG;IAEJ,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAE9C,IAAI,YAAiB;IACrB,IAAI,YAAY,QAAQ,aAAa,MACnC,YAAY,wBAAE,2CAAiB;mBAAE;eAAW;mBAAO;IAAU;IAG/D,MAAM,SAAS,CAAA,GAAA,cAAM,EACnB,IAAM,CAAA,GAAA,kBAAU,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAC;YAAG;SAAM,GACnD;QAAC;QAAQ;KAAM;IAGjB,MAAM,aAAa,aAAa,OAAO,KAAK,CAAC;IAE7C,OAAO,wBAAE,uBAAuB;QAC9B,wBACE,CAAA,GAAA,UAAE,GACF;YACE,QAAQ;YACR,YAAY;YACZ,UAAU;QACZ,GACA,wBACE,CAAA,GAAA,2BAAmB,GACnB;mBAAE;oBAAO;QAAO,GAChB,wBAAE,qBAAqB;YAAE,WAAW;uBAAW;QAAU,GAAG;YAC1D,wBAAE,wCAAkB;wBAClB;4BACA;uBACA;gBACA,GAAG,IAAI;YACT;YACA;SACD;QAGL,wBAAE,EAAE,CAAC,UAAU,uCAAiB;mBAC9B;YACA,OAAO,SAAS;oBAChB;wBACA;YACA,GAAG,IAAI;QACT;KACD;AACH;AAEA,SAAS,sCAAgB,KAAK;IAC5B,MAAM,SAAE,KAAK,UAAE,MAAM,SAAE,KAAK,YAAE,WAAW,kBAAM,UAAU,EAAE,GAAG,MAAM,GAAG;IAEvE,OAAO,wBAAE,2BAA2B;QAClC,wBACE,CAAA,GAAA,UAAE,GACF;YACE,YAAY;YACZ,QAAQ;YACR,UAAU;QACZ,GACA;YACE,wBAAE,CAAA,GAAA,iBAAS,GAAG;gBACZ,OAAO;gBACP,YAAY;4BACZ;gBACA,QAAQ;gBACR,YAAY;gBACZ,GAAG,IAAI;uBACP;YACF;SACD;KAEJ;AACH;AAEA,SAAS,uCAAiB,KAAK;IAC7B,MAAM,cAAE,UAAU,UAAE,MAAM,EAAE,GAAG;IAE/B,OAAO,wBACL,iBACA,WAAW,GAAG,CAAC,CAAC;QACd,OAAO,wBAAE,iCAAW;mBAAE;QAAM;IAC9B;AAEJ","sources":["packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"column-views.0ce9b697.js.map"}
@@ -1,4 +1,4 @@
1
- .VC2fja_truncated-list {
1
+ .sf_8dq_truncated-list {
2
2
  border-left: 1px solid var(--column-stroke-color);
3
3
  margin: 1px 0;
4
4
  padding-left: .2em;
@@ -6,17 +6,17 @@
6
6
  list-style: none;
7
7
  }
8
8
 
9
- .VC2fja_truncated-list li {
9
+ .sf_8dq_truncated-list li {
10
10
  display: inline;
11
11
  }
12
12
 
13
- .VC2fja_truncated-list li:not(:last-child):after {
13
+ .sf_8dq_truncated-list li:not(:last-child):after {
14
14
  content: ", ";
15
15
  color: var(--secondary-color);
16
16
  }
17
17
 
18
- .VC2fja_truncated-list li.VC2fja_too-many {
18
+ .sf_8dq_truncated-list li.sf_8dq_too-many {
19
19
  color: var(--secondary-color);
20
20
  font-style: italic;
21
21
  }
22
- /*# sourceMappingURL=column-views.448c0687.css.map */
22
+ /*# sourceMappingURL=column-views.1151416d.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA;;;;;;;;AAME;;;;AAEE;;;;;AAGF","sources":["packages/column-views/src/facets/base-sample-column.module.sass"],"sourcesContent":[".truncated-list\n padding-left: 0.2em\n font-size: 0.9em\n list-style: none\n border-left: 1px solid var(--column-stroke-color)\n margin: 1px 0\n li\n display: inline\n &:not(:last-child):after\n content: \", \"\n color: var(--secondary-color)\n li.too-many\n color: var(--secondary-color)\n font-style: italic\n"],"names":[],"version":3,"file":"column-views.1151416d.css.map"}
@@ -9,6 +9,7 @@ $parcel$export($047fd20e1964ef56$exports, "age-axis-column", () => $047fd20e1964
9
9
  $parcel$export($047fd20e1964ef56$exports, "age-axis-label", () => $047fd20e1964ef56$export$629e44847e8dc64c, (v) => $047fd20e1964ef56$export$629e44847e8dc64c = v);
10
10
  $parcel$export($047fd20e1964ef56$exports, "age-axis-unit", () => $047fd20e1964ef56$export$1609122694a59b0a, (v) => $047fd20e1964ef56$export$1609122694a59b0a = v);
11
11
  $parcel$export($047fd20e1964ef56$exports, "age-cursor", () => $047fd20e1964ef56$export$38f8eb5614a465ca, (v) => $047fd20e1964ef56$export$38f8eb5614a465ca = v);
12
+ $parcel$export($047fd20e1964ef56$exports, "composite-age-axis", () => $047fd20e1964ef56$export$166435123cbf74ba, (v) => $047fd20e1964ef56$export$166435123cbf74ba = v);
12
13
  $parcel$export($047fd20e1964ef56$exports, "label", () => $047fd20e1964ef56$export$1237798dc640739a, (v) => $047fd20e1964ef56$export$1237798dc640739a = v);
13
14
  $parcel$export($047fd20e1964ef56$exports, "line", () => $047fd20e1964ef56$export$53f1d5ea8de3d7c, (v) => $047fd20e1964ef56$export$53f1d5ea8de3d7c = v);
14
15
  var $047fd20e1964ef56$export$8e012612e152e560;
@@ -16,6 +17,7 @@ var $047fd20e1964ef56$export$5bb449cff67e2830;
16
17
  var $047fd20e1964ef56$export$629e44847e8dc64c;
17
18
  var $047fd20e1964ef56$export$1609122694a59b0a;
18
19
  var $047fd20e1964ef56$export$38f8eb5614a465ca;
20
+ var $047fd20e1964ef56$export$166435123cbf74ba;
19
21
  var $047fd20e1964ef56$export$1237798dc640739a;
20
22
  var $047fd20e1964ef56$export$53f1d5ea8de3d7c;
21
23
  $047fd20e1964ef56$export$8e012612e152e560 = `_FHjpa_age-axis`;
@@ -23,9 +25,10 @@ $047fd20e1964ef56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;
23
25
  $047fd20e1964ef56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;
24
26
  $047fd20e1964ef56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;
25
27
  $047fd20e1964ef56$export$38f8eb5614a465ca = `_FHjpa_age-cursor`;
28
+ $047fd20e1964ef56$export$166435123cbf74ba = `_FHjpa_composite-age-axis`;
26
29
  $047fd20e1964ef56$export$1237798dc640739a = `_FHjpa_label`;
27
30
  $047fd20e1964ef56$export$53f1d5ea8de3d7c = `_FHjpa_line`;
28
31
 
29
32
 
30
33
  export {$047fd20e1964ef56$exports as default};
31
- //# sourceMappingURL=column-views.686d21ad.js.map
34
+ //# sourceMappingURL=column-views.22ec902b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAPA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA0B,CAAC,YAAY,CAAC;AACxC,2CAAyB,CAAC,WAAW,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.22ec902b.js.map"}
@@ -1,16 +1,17 @@
1
- import $bTsJU$columnviewscdadc5c2js from "./column-views.cdadc5c2.js";
2
- import "./column-views.8d4ce558.css";
3
- import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.a6301a41.js";
4
- import {UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.64a84c43.js";
5
- import {Identifier as $448b24baeef3b229$export$989167234458594d, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25} from "./column-views.cc5244c4.js";
6
- import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.75ea6dbe.js";
7
- import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
8
- import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.77b49a43.js";
9
- import {CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.02f3732a.js";
10
- import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.c71c321c.js";
1
+ import $bTsJU$columnviewscc733361js from "./column-views.cc733361.js";
2
+ import "./column-views.e33ac5c9.css";
3
+ import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.df34441c.js";
4
+ import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
5
+ import {UnitKeyboardNavigation as $61771df184788970$export$70f5ee19650fc7d1, UnitSelectionProvider as $61771df184788970$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $61771df184788970$export$77a278d5ca56e309} from "./column-views.a3fabf0f.js";
6
+ import {Identifier as $448b24baeef3b229$export$989167234458594d, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25} from "./column-views.8284c3a9.js";
7
+ import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.382c486d.js";
8
+ import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.0265cf7f.js";
9
+ import {ApproximateHeightAxis as $43794af7643cdf40$export$82731b9607850ca6, CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.adec2e4c.js";
10
+ import {HybridScaleType as $1254c5929638d7f9$export$45e8e2d7a1794c23} from "./column-views.079119f4.js";
11
+ import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.3a7179c4.js";
11
12
  import {ColumnAxisType as $bTsJU$ColumnAxisType} from "@macrostrat/column-components";
12
13
  import {hyperStyled as $bTsJU$hyperStyled} from "@macrostrat/hyper";
13
- import {useDarkMode as $bTsJU$useDarkMode} from "@macrostrat/ui-components";
14
+ import {extractPadding as $bTsJU$extractPadding, useDarkMode as $bTsJU$useDarkMode, Box as $bTsJU$Box} from "@macrostrat/ui-components";
14
15
  import $bTsJU$classnames from "classnames";
15
16
  import {useRef as $bTsJU$useRef, useCallback as $bTsJU$useCallback} from "react";
16
17
  import {NonIdealState as $bTsJU$NonIdealState} from "@blueprintjs/core";
@@ -34,22 +35,44 @@ function $parcel$interopDefault(a) {
34
35
 
35
36
 
36
37
 
37
- const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviewscdadc5c2js))));
38
+ const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviewscc733361js))));
38
39
  function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
39
- const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $bTsJU$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, ...rest } = props;
40
+ const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, hybridScale: hybridScale, scale: scale, axisType: axisType, ...rest } = props;
40
41
  const ref = (0, $bTsJU$useRef)();
41
42
  // Selected item position
43
+ /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies
44
+ * standardization of scales in all sections */ let _targetUnitHeight = targetUnitHeight;
45
+ let _minSectionHeight = minSectionHeight;
46
+ let _minPixelScale = minPixelScale;
47
+ if (pixelScale != null) {
48
+ _targetUnitHeight = null;
49
+ _minSectionHeight = 0;
50
+ _minPixelScale = pixelScale;
51
+ }
52
+ // Handle special cases for hybrid scales (WIP, we need to regularize this)
53
+ let _axisType = axisType ?? (0, $bTsJU$ColumnAxisType).AGE;
54
+ let ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34);
55
+ if (hybridScale?.type === (0, $1254c5929638d7f9$export$45e8e2d7a1794c23).ApproximateHeight && _axisType != (0, $bTsJU$ColumnAxisType).AGE) {
56
+ // Use approximate height axis for non-age columns if a non-age axis type is requested
57
+ ageAxisComponent = (0, $43794af7643cdf40$export$82731b9607850ca6);
58
+ _axisType = (0, $bTsJU$ColumnAxisType).AGE;
59
+ }
42
60
  const { sections: sections, units: units, totalHeight: totalHeight } = (0, $76e92a964ee11b97$export$206a0cb85295e433)(rawUnits, {
43
- axisType: axisType,
61
+ axisType: _axisType,
44
62
  t_age: t_age,
45
63
  b_age: b_age,
64
+ t_pos: t_pos,
65
+ b_pos: b_pos,
46
66
  mergeSections: mergeSections,
47
- targetUnitHeight: targetUnitHeight,
67
+ targetUnitHeight: _targetUnitHeight,
48
68
  unconformityHeight: unconformityHeight,
49
69
  pixelScale: pixelScale,
50
- minPixelScale: minPixelScale,
51
- minSectionHeight: minSectionHeight,
52
- collapseSmallUnconformities: collapseSmallUnconformities
70
+ minPixelScale: _minPixelScale,
71
+ minSectionHeight: _minSectionHeight,
72
+ collapseSmallUnconformities: collapseSmallUnconformities,
73
+ scale: // TODO: consider unifying scale and hybridScale options
74
+ scale,
75
+ hybridScale: hybridScale
53
76
  });
54
77
  if (sections.length === 0) return $2118f0266dc7e955$var$h("div.column-container.empty", $2118f0266dc7e955$var$h((0, $bTsJU$NonIdealState), {
55
78
  title: "Empty column",
@@ -58,11 +81,12 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
58
81
  }));
59
82
  let main = $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
60
83
  columnRef: ref,
84
+ ageAxisComponent: ageAxisComponent,
61
85
  ...rest
62
86
  }, [
63
87
  children,
64
88
  $2118f0266dc7e955$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
65
- $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1), {
89
+ $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $61771df184788970$export$70f5ee19650fc7d1), {
66
90
  units: units
67
91
  })
68
92
  ]);
@@ -70,7 +94,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
70
94
  we enable it.
71
95
  */ let _allowUnitSelection = allowUnitSelection ?? false;
72
96
  if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;
73
- if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
97
+ if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $61771df184788970$export$f19d75b1d4b676a4), {
74
98
  columnRef: ref,
75
99
  onUnitSelected: onUnitSelected,
76
100
  selectedUnit: selectedUnit,
@@ -80,11 +104,19 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
80
104
  units: units,
81
105
  sections: sections,
82
106
  totalHeight: totalHeight,
83
- axisType: axisType
107
+ axisType: _axisType
84
108
  }, main);
85
109
  }
86
110
  function $2118f0266dc7e955$var$ColumnInner(props) {
87
- const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver } = props;
111
+ const padding = (0, $bTsJU$extractPadding)(props);
112
+ // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)
113
+ const paddingVars = {
114
+ "--column-padding-top": `${padding.paddingTop}px`,
115
+ "--column-padding-bottom": `${padding.paddingBottom}px`,
116
+ "--column-padding-left": `${padding.paddingLeft}px`,
117
+ "--column-padding-right": `${padding.paddingRight}px`
118
+ };
119
+ const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver, ageAxisComponent: ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34) } = props;
88
120
  const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
89
121
  let width = _width;
90
122
  let columnWidth = _columnWidth;
@@ -96,11 +128,12 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
96
128
  _showTimescale = axisType == (0, $bTsJU$ColumnAxisType).AGE && _showTimescale;
97
129
  return $2118f0266dc7e955$var$h($2118f0266dc7e955$export$2194471aa3d52446, {
98
130
  ...$2118f0266dc7e955$var$useMouseEventHandlers(onMouseOver),
131
+ style: paddingVars,
99
132
  className: className
100
133
  }, $2118f0266dc7e955$var$h("div.column", {
101
134
  ref: columnRef
102
135
  }, [
103
- $2118f0266dc7e955$var$h((0, $43794af7643cdf40$export$40b6b0e4520eeb34)),
136
+ $2118f0266dc7e955$var$h(ageAxisComponent),
104
137
  $2118f0266dc7e955$var$h.if(_showTimescale)((0, $7d0f52717c0de7e1$export$db2df5a73a6fbe10), {
105
138
  levels: timescaleLevels
106
139
  }),
@@ -119,7 +152,7 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
119
152
  }
120
153
  function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
121
154
  /** Click event handler */ // Click handler for unit selection
122
- const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
155
+ const dispatch = (0, $61771df184788970$export$77a278d5ca56e309)();
123
156
  const onClick = (0, $bTsJU$useCallback)((evt)=>{
124
157
  dispatch?.(null, null, evt);
125
158
  }, [
@@ -154,10 +187,10 @@ function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
154
187
  function $2118f0266dc7e955$export$2194471aa3d52446(props) {
155
188
  const { className: className, ...rest } = props;
156
189
  const darkMode = (0, $bTsJU$useDarkMode)();
157
- return $2118f0266dc7e955$var$h("div.column-container", {
190
+ return $2118f0266dc7e955$var$h((0, $bTsJU$Box), {
158
191
  className: (0, $bTsJU$classnames)(className, {
159
192
  "dark-mode": darkMode?.isEnabled ?? false
160
- }),
193
+ }, "column-container"),
161
194
  ...rest
162
195
  });
163
196
  }
@@ -186,4 +219,4 @@ function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: s
186
219
 
187
220
 
188
221
  export {$2118f0266dc7e955$export$816b5d811295e6bc as Column, $2118f0266dc7e955$export$2194471aa3d52446 as ColumnContainer, $2118f0266dc7e955$export$fcdf79c491a4504f as ColumnBasicInfo};
189
- //# sourceMappingURL=column-views.42b89c52.js.map
222
+ //# sourceMappingURL=column-views.29a551f6.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n Box,\n extractPadding,\n Padding,\n useDarkMode,\n} from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport {\n RefObject,\n useRef,\n HTMLAttributes,\n useCallback,\n CSSProperties,\n ComponentType,\n} from \"react\";\nimport styles from \"./column.module.sass\";\nimport { UnitComponent } from \"./units\";\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./data-provider\";\n\nimport {\n Identifier,\n ReferencesField,\n UnitSelectionPopover,\n} from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { ApproximateHeightAxis, CompositeAgeAxis } from \"./age-axis\";\nimport {\n MergeSectionsMode,\n usePreparedColumnUnits,\n HybridScaleType,\n ColumnHeightScaleOptions,\n} from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\nimport { DataField } from \"@macrostrat/data-components\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps\n extends Padding, BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n t_pos?: number;\n b_pos?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n t_age,\n b_age,\n t_pos,\n b_pos,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n hybridScale,\n scale,\n axisType,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */\n let _targetUnitHeight = targetUnitHeight;\n let _minSectionHeight = minSectionHeight;\n let _minPixelScale = minPixelScale;\n if (pixelScale != null) {\n _targetUnitHeight = null;\n _minSectionHeight = 0;\n _minPixelScale = pixelScale;\n }\n\n // Handle special cases for hybrid scales (WIP, we need to regularize this)\n let _axisType = axisType ?? ColumnAxisType.AGE;\n let ageAxisComponent = CompositeAgeAxis;\n if (\n hybridScale?.type === HybridScaleType.ApproximateHeight &&\n _axisType != ColumnAxisType.AGE\n ) {\n // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = ApproximateHeightAxis;\n _axisType = ColumnAxisType.AGE;\n }\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType: _axisType,\n t_age,\n b_age,\n t_pos,\n b_pos,\n mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities,\n // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(\n ColumnInner,\n { columnRef: ref, ageAxisComponent, ...rest },\n [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ],\n );\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType: _axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n ageAxisComponent?: ComponentType;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const padding = extractPadding(props);\n\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars: any = {\n \"--column-padding-top\": `${padding.paddingTop}px`,\n \"--column-padding-bottom\": `${padding.paddingBottom}px`,\n \"--column-padding-left\": `${padding.paddingLeft}px`,\n \"--column-padding-right\": `${padding.paddingRight}px`,\n };\n\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n ageAxisComponent = CompositeAgeAxis,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(ageAxisComponent),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(Box, {\n className: classNames(\n className,\n {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n },\n \"column-container\",\n ),\n ...rest,\n });\n}\n\nexport function ColumnBasicInfo({ data, showColumnID = true }) {\n if (data == null) return null;\n return h(\"div.column-info\", [\n h(\"div.column-title-row\", [\n h(\"h2\", data.col_name),\n h.if(showColumnID)(\"h4\", h(Identifier, { id: data.col_id })),\n ]),\n h(DataField, { row: true, label: \"Group\", value: data.col_group }),\n h(ReferencesField, {\n refs: data.refs,\n inline: false,\n row: true,\n className: \"column-refs\",\n }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.29a551f6.js.map"}
@@ -1,11 +1,11 @@
1
- import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557, LegendPanelHeader as $448b24baeef3b229$export$fc503c39cc5cff43, UnitDetailsFeature as $448b24baeef3b229$export$ec297f6f9a6ccad0, Duration as $448b24baeef3b229$export$3b11bc38611c5941, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25, Identifier as $448b24baeef3b229$export$989167234458594d, AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.cc5244c4.js";
2
- import {UnitDetailsPopover as $a9bcb536274d1bf9$export$6716aecc2c9afbe2, UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.75ea6dbe.js";
3
- import {UnitDetailsPanelWithNavigation as $d418ca9cbe9b0f3c$export$cfdbe8496aa51962} from "./column-views.a195109e.js";
1
+ import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557, LegendPanelHeader as $448b24baeef3b229$export$fc503c39cc5cff43, UnitDetailsFeature as $448b24baeef3b229$export$ec297f6f9a6ccad0, Duration as $448b24baeef3b229$export$3b11bc38611c5941, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25, Identifier as $448b24baeef3b229$export$989167234458594d, AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb, ClickableText as $448b24baeef3b229$export$b6867fc5221f9f65} from "./column-views.8284c3a9.js";
2
+ import {UnitDetailsPopover as $a9bcb536274d1bf9$export$6716aecc2c9afbe2, UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.382c486d.js";
3
+ import {UnitDetailsPanelWithNavigation as $d418ca9cbe9b0f3c$export$cfdbe8496aa51962} from "./column-views.d86555b0.js";
4
4
 
5
5
 
6
6
 
7
7
 
8
8
 
9
9
 
10
- export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$895d4931dd696e25 as ReferencesField, $448b24baeef3b229$export$989167234458594d as Identifier, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover, $d418ca9cbe9b0f3c$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
11
- //# sourceMappingURL=column-views.fbc7401f.js.map
10
+ export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$895d4931dd696e25 as ReferencesField, $448b24baeef3b229$export$989167234458594d as Identifier, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $448b24baeef3b229$export$b6867fc5221f9f65 as ClickableText, $a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover, $d418ca9cbe9b0f3c$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
11
+ //# sourceMappingURL=column-views.2aef5df8.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/unit-details/index.ts"],"sourcesContent":["export * from \"./panel\";\nexport * from \"./popover\";\nexport * from \"./modal-panel\";\n"],"names":[],"version":3,"file":"column-views.fbc7401f.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/unit-details/index.ts"],"sourcesContent":["export * from \"./panel\";\nexport * from \"./popover\";\nexport * from \"./modal-panel\";\n"],"names":[],"version":3,"file":"column-views.2aef5df8.js.map"}
@@ -1,7 +1,7 @@
1
1
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
2
2
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
3
- import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.e3b9a317.js";
4
- import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.935ef6f7.js";
3
+ import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.c3495702.js";
4
+ import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.8b623b27.js";
5
5
  import {useMapStyleOperator as $lRXWn$useMapStyleOperator} from "@macrostrat/mapbox-react";
6
6
  import $lRXWn$macrostrathyper from "@macrostrat/hyper";
7
7
  import {useMemo as $lRXWn$useMemo, useRef as $lRXWn$useRef} from "react";
@@ -165,4 +165,4 @@ function $9d5d216fa2057b5b$var$ColumnsLayer({ enabled: enabled = true }) {
165
165
 
166
166
 
167
167
  export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap};
168
- //# sourceMappingURL=column-views.ab0380ed.js.map
168
+ //# sourceMappingURL=column-views.2e854496.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.ab0380ed.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.2e854496.js.map"}
@@ -1,5 +1,5 @@
1
- import {fetchAllColumns as $33a46f9423c8104a$export$45bd78cd093090fa, fetchEnvironments as $33a46f9423c8104a$export$780b4b253712916c, fetchIntervals as $33a46f9423c8104a$export$5d2ec2e733dfe6c7, fetchLithologies as $33a46f9423c8104a$export$1aa679bd5e605f82, fetchRefs as $33a46f9423c8104a$export$cd7bfa0860f58b96, fetchStratNames as $33a46f9423c8104a$export$8ea8f45a7ffe4183} from "./column-views.3f246167.js";
2
- import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.1e055ed5.js";
1
+ import {fetchAllColumns as $33a46f9423c8104a$export$45bd78cd093090fa, fetchEnvironments as $33a46f9423c8104a$export$780b4b253712916c, fetchIntervals as $33a46f9423c8104a$export$5d2ec2e733dfe6c7, fetchLithologies as $33a46f9423c8104a$export$1aa679bd5e605f82, fetchRefs as $33a46f9423c8104a$export$cd7bfa0860f58b96, fetchStratNames as $33a46f9423c8104a$export$8ea8f45a7ffe4183} from "./column-views.8c296309.js";
2
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
3
3
  import $8Y44A$crossfetch from "cross-fetch";
4
4
  import {useContext as $8Y44A$useContext, useEffect as $8Y44A$useEffect, useMemo as $8Y44A$useMemo, useState as $8Y44A$useState, createContext as $8Y44A$createContext} from "react";
5
5
  import $8Y44A$macrostrathyper from "@macrostrat/hyper";
@@ -66,28 +66,19 @@ function $774a5efa27d1c77b$var$createColumnsSlice(set, get) {
66
66
  const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();
67
67
  const key = projectID ?? -1;
68
68
  let _inProcess = inProcess;
69
- if (projectID == null) // If no project is specified, in process columns cannot be included
70
- _inProcess = false;
71
69
  let footprints = columnFootprints.get(key);
72
70
  if (footprints == null || footprints.inProcess != _inProcess) {
73
71
  // Fetch the columns
74
- const statusCode = inProcess ? "in process" : null;
75
- let columns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
72
+ const statusCode = [
73
+ "active"
74
+ ];
75
+ if (_inProcess) statusCode.push("in process");
76
+ const columns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
76
77
  projectID: projectID,
77
- statusCode: null,
78
+ statusCode: statusCode,
78
79
  fetch: fetch
79
80
  });
80
81
  if (columns == null) return;
81
- if (_inProcess) {
82
- const inProcessColumns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
83
- projectID: projectID,
84
- statusCode: "in process",
85
- fetch: fetch
86
- });
87
- if (inProcessColumns == null) return;
88
- // Combine active and in-process columns
89
- columns = columns.concat(inProcessColumns);
90
- }
91
82
  footprints = {
92
83
  project_id: projectID,
93
84
  inProcess: inProcess,
@@ -207,6 +198,12 @@ function $774a5efa27d1c77b$export$fb98d5bae3a6800(selector) {
207
198
  if (selector === "api") return ctx;
208
199
  return (0, $8Y44A$useStore)(ctx, selector);
209
200
  }
201
+ function $774a5efa27d1c77b$export$33b1392d23dde04(defaultURL = "https://macrostrat.org/api/v2") {
202
+ /** Get the Macrostrat base URL from the store if set, otherwise return a default value */ const ctx = (0, $8Y44A$useContext)($774a5efa27d1c77b$var$MacrostratDataProviderContext);
203
+ if (ctx == null) // Return default URL if no provider is present
204
+ return defaultURL;
205
+ return ctx.getState().baseURL;
206
+ }
210
207
  const $774a5efa27d1c77b$var$dataTypeMapping = {
211
208
  lithologies: (store)=>store.getLithologies,
212
209
  intervals: (store)=>store.getIntervals,
@@ -285,12 +282,13 @@ function $774a5efa27d1c77b$export$9e42f9b6e0d67c7d(props) {
285
282
  /** A column provider specialized the Macrostrat API. Maps more
286
283
  * generic concepts to Macrostrat-specific ones.
287
284
  */ const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
288
- const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;
285
+ const { units: units, domain: domain, pixelScale: pixelScale, scale: scale, children: children } = props;
289
286
  return (0, $8Y44A$macrostrathyper)((0, $8Y44A$ColumnProvider), {
290
287
  axisType: axisType,
291
288
  divisions: units,
292
289
  range: domain,
293
- pixelsPerMeter: pixelScale
290
+ pixelsPerMeter: pixelScale,
291
+ scale: scale
294
292
  }, children);
295
293
  }
296
294
  function $774a5efa27d1c77b$export$8492a5cae82b6a70({ children: children }) {
@@ -323,5 +321,5 @@ function $774a5efa27d1c77b$export$c6b216bf4c71b61f() {
323
321
  }
324
322
 
325
323
 
326
- export {$774a5efa27d1c77b$export$fb98d5bae3a6800 as useMacrostratStore, $774a5efa27d1c77b$export$89dd4e5ae4a82373 as useMacrostratDefs, $774a5efa27d1c77b$export$81eaae0b474404fd as useMacrostratColumns, $774a5efa27d1c77b$export$b9c9fc603d74a555 as useMacrostratData, $774a5efa27d1c77b$export$690613f93cdc5576 as MacrostratDataProvider, $774a5efa27d1c77b$export$3098013bc6cc316d as MacrostratAPIProvider, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $774a5efa27d1c77b$export$8492a5cae82b6a70 as LithologiesProvider, $774a5efa27d1c77b$export$4d18a90c945d129f as useLithologies, $774a5efa27d1c77b$export$c6b216bf4c71b61f as useEnvironments};
327
- //# sourceMappingURL=column-views.7ca9e1cd.js.map
324
+ export {$774a5efa27d1c77b$export$fb98d5bae3a6800 as useMacrostratStore, $774a5efa27d1c77b$export$33b1392d23dde04 as useMacrostratBaseURL, $774a5efa27d1c77b$export$89dd4e5ae4a82373 as useMacrostratDefs, $774a5efa27d1c77b$export$81eaae0b474404fd as useMacrostratColumns, $774a5efa27d1c77b$export$b9c9fc603d74a555 as useMacrostratData, $774a5efa27d1c77b$export$690613f93cdc5576 as MacrostratDataProvider, $774a5efa27d1c77b$export$3098013bc6cc316d as MacrostratAPIProvider, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $774a5efa27d1c77b$export$8492a5cae82b6a70 as LithologiesProvider, $774a5efa27d1c77b$export$4d18a90c945d129f as useLithologies, $774a5efa27d1c77b$export$c6b216bf4c71b61f as useEnvironments};
325
+ //# sourceMappingURL=column-views.2eceafb5.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/data-provider/base.ts"],"sourcesContent":["/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n StratName,\n Interval,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n fetchStratNames,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(\n ids: number[] | null,\n timescaleID: number | null,\n ): Promise<Interval[]>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n // Strat names unify both \"strat names\" and \"concepts\"\n stratNames: Map<number, StratName> | null;\n getStratNames(ids: number[] | null): Promise<StratName[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n ...createStratNamesSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode: ColumnStatusCode[] = [\"active\"];\n if (_inProcess) {\n statusCode.push(\"in process\");\n }\n const columns = await fetchAllColumns({\n projectID,\n statusCode,\n fetch,\n });\n if (columns == null) {\n return;\n }\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction createStratNamesSlice(set, get) {\n return {\n stratNames: null,\n async getStratNames(ids: number[] | null): Promise<StratName[]> {\n const { stratNames, fetch } = get();\n let nameMap = stratNames ?? new Map();\n let stratNamesAlreadyLoaded = [];\n let stratNamesToLoad = [];\n for (const id of ids) {\n if (nameMap.has(id)) {\n stratNamesAlreadyLoaded.push(nameMap.get(id));\n } else {\n stratNamesToLoad.push(id);\n }\n }\n if (stratNamesToLoad.length > 0) {\n const data = await fetchStratNames(stratNamesToLoad, fetch);\n if (data == null) return stratNamesAlreadyLoaded;\n for (const d of data) {\n nameMap.set(d.strat_name_id, d);\n }\n set({ stratNames: nameMap });\n }\n return ids.map((id) => nameMap.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n return useStore(ctx, selector);\n}\n\nexport function useMacrostratBaseURL(\n defaultURL = \"https://macrostrat.org/api/v2\",\n): string {\n /** Get the Macrostrat base URL from the store if set, otherwise return a default value */\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n // Return default URL if no provider is present\n return defaultURL;\n }\n return ctx.getState().baseURL;\n}\n\ntype DataTypeKey =\n | \"lithologies\"\n | \"intervals\"\n | \"columns\"\n | \"environments\"\n | \"refs\"\n | \"strat_names\";\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n strat_names: (store) => store.getStratNames,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: DataTypeKey, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n try {\n operator(...args).then(setValue);\n } catch (e) {\n console.error(e);\n }\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://dev.macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, scale, children } = props;\n return h(\n ColumnProvider,\n {\n axisType,\n divisions: units,\n range: domain,\n pixelsPerMeter: pixelScale,\n scale,\n },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":[],"version":3,"file":"column-views.2eceafb5.js.map"}
@@ -50,4 +50,10 @@
50
50
  padding: 4px 2px;
51
51
  transform: rotate(180deg)translate(16px, 50%);
52
52
  }
53
- /*# sourceMappingURL=column-views.b17f793f.css.map */
53
+
54
+ ._FHjpa_composite-age-axis {
55
+ flex-direction: row;
56
+ display: flex;
57
+ position: relative;
58
+ }
59
+ /*# sourceMappingURL=column-views.321af3ae.css.map */
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AANA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAA0B,CAAC,YAAY,CAAC;AACxC,2CAAyB,CAAC,WAAW,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n\n\n \n"],"names":[],"version":3,"file":"column-views.686d21ad.js.map"}
1
+ {"mappings":"AAAA;;;;AAII;;;;;;;AAOA;;;;AAGJ;;;;AAGA;;;;;;;;;;AAQA;;;;AAGA;;;;;;;AAKE;;;;;AAIA;;;;;;;;AAOF","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.321af3ae.css.map"}