@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
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["<anon>","packages/column-views/src/prepare-units/dynamic-scales.ts"],"sourcesContent":["import \"./column-views.5f3b0b04.js\";\nimport \"./column-views.7f9c7448.js\";\nimport {scaleLinear as $gr21k$scaleLinear} from \"d3-scale\";\nimport {ColumnAxisType as $gr21k$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {mergeAgeRanges as $gr21k$mergeAgeRanges, MergeMode as $gr21k$MergeMode} from \"@macrostrat/stratigraphy-utils\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\n\n\nvar $76iYI = parcelRequire(\"76iYI\");\nfunction $b83252c9fe80810e$export$151c207e6887154c(units, tolerance = 0.001) {\n /** Compute age surfaces for a column based on unit tops and bottoms */ const surfaces = [];\n for (const unit of units){\n // Top surface\n surfaces.push({\n age: unit.t_age,\n units_below: [\n unit.unit_id\n ],\n units_above: []\n });\n // Bottom surface\n surfaces.push({\n age: unit.b_age,\n units_above: [\n unit.unit_id\n ],\n units_below: []\n });\n }\n // Merge duplicate surfaces (same age)\n const mergedSurfaces = [];\n for (const surface of surfaces){\n const existingSurface = mergedSurfaces.find((s)=>Math.abs(s.age - surface.age) < tolerance);\n if (existingSurface) {\n existingSurface.units_above.push(...surface.units_above);\n existingSurface.units_below.push(...surface.units_below);\n } else mergedSurfaces.push(surface);\n }\n // Sort surfaces by age (ascending)\n mergedSurfaces.sort((a, b)=>a.age - b.age);\n return mergedSurfaces.map((s, i)=>({\n ...s,\n index: i\n }));\n}\nfunction $b83252c9fe80810e$var$getUnitsInAgeDomains(surfaces, units) {\n // Get unit IDs represented between the same surface, and the proportion of their total height represented\n const domainUnitInfo = [];\n for(let i = 0; i < surfaces.length - 1; i++){\n const topSurface = surfaces[i];\n const bottomSurface = surfaces[i + 1];\n const unitsInDomain = units.filter((unit)=>{\n return unit.t_age <= topSurface.age + 0.001 && unit.b_age >= bottomSurface.age - 0.001;\n });\n domainUnitInfo.push({\n t_age: topSurface.age,\n b_age: bottomSurface.age,\n units: unitsInDomain\n });\n }\n return domainUnitInfo;\n}\nfunction $b83252c9fe80810e$var$proportionOfUnitInDomain(unit, t_age, b_age) {\n // Compute the proportion of a unit's height that lies within the given age domain\n const rng = (0, $iWhRv.getUnitHeightRange)(unit, (0, $gr21k$ColumnAxisType).AGE);\n const rng1 = [\n b_age,\n t_age\n ];\n // Compute overlap\n const mergedRange = (0, $gr21k$mergeAgeRanges)([\n rng,\n rng1\n ], (0, $gr21k$MergeMode).Inner);\n const unitHeight = Math.abs(rng[1] - rng[0]);\n const mergedHeight = Math.abs(mergedRange[1] - mergedRange[0]);\n return mergedHeight / unitHeight;\n}\nfunction $b83252c9fe80810e$export$6b39f1b6356d94b6(def, units, domain, options = {}) {\n const surfaces = $b83252c9fe80810e$export$151c207e6887154c(units);\n const filteredSurfaces = surfaces.filter((s)=>s.age < Math.max(...domain) && s.age > Math.min(...domain));\n const s1 = [\n {\n index: -1,\n age: Math.min(...domain),\n units_above: [],\n units_below: []\n },\n ...filteredSurfaces,\n {\n index: -1,\n age: Math.max(...domain),\n units_above: [],\n units_below: []\n }\n ];\n const { type: type, ...rest } = def;\n if (type === (0, $76iYI.HybridScaleType).EquidistantSurfaces) return $b83252c9fe80810e$export$d02d2d708a7b495f(s1, options);\n return $b83252c9fe80810e$export$be7a6f1f0a23d12c(s1, units, {\n ...options,\n ...rest\n });\n}\nfunction $b83252c9fe80810e$var$getApproximateHeight(unit, method = (0, $76iYI.HeightMethod).Maximum) {\n // Get approximate height of a unit based on specified method\n const heights = [];\n let minHeight = unit.min_thick;\n if (method === (0, $76iYI.HeightMethod).Minimum || method === (0, $76iYI.HeightMethod).Average) {\n const h = unit.min_thick;\n if (h != null && !isNaN(h) && h > 0) heights.push(h);\n }\n if (method === (0, $76iYI.HeightMethod).Average || method === (0, $76iYI.HeightMethod).Maximum) {\n const h = unit.max_thick;\n if (h != null && !isNaN(h) && h > 0) heights.push(h);\n }\n if (heights.length === 0) return null;\n if (method === (0, $76iYI.HeightMethod).Average) return heights.reduce((sum, h)=>sum + h, 0) / heights.length;\n else return heights[0];\n}\nfunction $b83252c9fe80810e$export$be7a6f1f0a23d12c(surfaces, units, options = {}) {\n /** Build a variable age scale that places age surfaces equally far apart in height space.\n * It is presumed that gaps are already removed from the unit set provided.\n * */ const { pixelScale: pixelScale = 1, pixelOffset: pixelOffset = 0, minHeight: minHeight = 5, heightMethod: heightMethod = (0, $76iYI.HeightMethod).Maximum, defaultHeight: // Default height for when height is unknown\n defaultHeight = 100 } = options;\n // Get units associated with each surface\n // Note: we could hoist this if it proved useful for other scale types\n const domainInfo = $b83252c9fe80810e$var$getUnitsInAgeDomains(surfaces, units);\n // Compute the height in pixels for each surface\n const surfaceHeights = [];\n const ageDomain = [];\n let lastHeight = pixelOffset;\n for (const domain of domainInfo){\n if (lastHeight == pixelOffset) {\n surfaceHeights.push(lastHeight);\n ageDomain.push(domain.t_age);\n }\n // Approximate height based on units in this domain\n const units = domain.units;\n let unitHeightInfo = [];\n for (const unit of units){\n const proportion = $b83252c9fe80810e$var$proportionOfUnitInDomain(unit, domain.t_age, domain.b_age);\n const height = $b83252c9fe80810e$var$getApproximateHeight(unit, heightMethod);\n if (height != null) unitHeightInfo.push({\n unit: unit,\n height: height * proportion\n });\n }\n let thisHeight = 0;\n if (unitHeightInfo.length === 0) thisHeight = defaultHeight; // Default height if no units with height info\n else {\n // Normalize weights (take the mean)\n const meanHeight = unitHeightInfo.reduce((sum, d)=>sum + d.height, 0) / unitHeightInfo.length;\n if (meanHeight == 0) thisHeight = defaultHeight; // Arbitrary height for zero-height intervals\n else if (meanHeight < minHeight) thisHeight = minHeight; // Minimum height\n else thisHeight = meanHeight;\n }\n lastHeight += thisHeight;\n surfaceHeights.push(lastHeight);\n ageDomain.push(domain.b_age);\n }\n // Build a piecewise linear scale mapping age to pixel height\n const pixelRange = surfaceHeights.map((h)=>h * pixelScale);\n const scale = (0, $gr21k$scaleLinear)().domain(ageDomain).range(pixelRange);\n const heightDomain = surfaceHeights.map((h)=>lastHeight - h);\n const heightScale = (0, $gr21k$scaleLinear)().domain(heightDomain).range(pixelRange);\n const domain = [\n ageDomain[ageDomain.length - 1],\n ageDomain[0]\n ];\n return {\n scale: scale,\n pixelScale: null,\n domain: domain,\n pixelHeight: Math.abs(pixelRange[pixelRange.length - 1] - pixelRange[0]),\n heightScale: heightScale\n };\n}\nfunction $b83252c9fe80810e$export$d02d2d708a7b495f(surfaces, options = {}) {\n /** Build a variable age scale that places age surfaces equally far apart in height space.\n * It is presumed that gaps are already removed from the unit set provided.\n * */ const { pixelScale: pixelScale = 30 } = options;\n const domain = [\n surfaces[surfaces.length - 1].age,\n surfaces[0].age\n ];\n // Compute the height in pixels for each surface\n const surfaceHeights = surfaces.map((surface, i)=>{\n return i * pixelScale;\n });\n // Build a piecewise linear scale mapping age to pixel height\n const ageDomain = surfaces.map((s)=>s.age);\n const pixelRange = surfaceHeights;\n const scale = (0, $gr21k$scaleLinear)().domain(ageDomain).range(pixelRange);\n return {\n scale: scale,\n pixelScale: null,\n domain: domain,\n pixelHeight: Math.abs(pixelRange[pixelRange.length - 1] - pixelRange[0])\n };\n}\n\n\nexport {$b83252c9fe80810e$export$151c207e6887154c as buildColumnSurfaces, $b83252c9fe80810e$export$6b39f1b6356d94b6 as buildHybridScale, $b83252c9fe80810e$export$d02d2d708a7b495f as buildScaleFromSurfacesSimple, $b83252c9fe80810e$export$be7a6f1f0a23d12c as buildApproximateHeightScale};\n//# sourceMappingURL=column-views.0b3a384e.js.map\n","import type { UnitLong } from \"@macrostrat/api-types\";\nimport { scaleLinear } from \"d3-scale\";\nimport { getUnitHeightRange } from \"./utils\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { mergeAgeRanges, MergeMode } from \"@macrostrat/stratigraphy-utils\";\nimport type {\n ApproxHeightScaleOptions,\n ExtUnit,\n HybridScaleDefinition,\n HybridScaleOptions,\n PackageScaleInfo,\n} from \"./types\";\nimport { HybridScaleType, HeightMethod } from \"./types\";\n\ninterface BaseSurface {\n index: number;\n age: number;\n units_below: number[];\n units_above: number[];\n}\n\nexport function buildColumnSurfaces<T extends UnitLong>(\n units: T[],\n tolerance: number = 0.001,\n): BaseSurface[] {\n /** Compute age surfaces for a column based on unit tops and bottoms */\n const surfaces: Omit<BaseSurface, \"index\">[] = [];\n for (const unit of units) {\n // Top surface\n surfaces.push({\n age: unit.t_age,\n units_below: [unit.unit_id],\n units_above: [],\n });\n // Bottom surface\n surfaces.push({\n age: unit.b_age,\n units_above: [unit.unit_id],\n units_below: [],\n });\n }\n\n // Merge duplicate surfaces (same age)\n const mergedSurfaces: Omit<BaseSurface, \"index\">[] = [];\n for (const surface of surfaces) {\n const existingSurface = mergedSurfaces.find(\n (s) => Math.abs(s.age - surface.age) < tolerance,\n );\n if (existingSurface) {\n existingSurface.units_above.push(...surface.units_above);\n existingSurface.units_below.push(...surface.units_below);\n } else {\n mergedSurfaces.push(surface);\n }\n }\n\n // Sort surfaces by age (ascending)\n mergedSurfaces.sort((a, b) => a.age - b.age);\n\n return mergedSurfaces.map((s, i) => ({ ...s, index: i }));\n}\n\ninterface AgeDomainUnitInfo {\n t_age: number;\n b_age: number;\n units: ExtUnit[];\n}\n\nfunction getUnitsInAgeDomains(\n surfaces: BaseSurface[],\n units: ExtUnit[],\n): AgeDomainUnitInfo[] {\n // Get unit IDs represented between the same surface, and the proportion of their total height represented\n const domainUnitInfo: AgeDomainUnitInfo[] = [];\n for (let i = 0; i < surfaces.length - 1; i++) {\n const topSurface = surfaces[i];\n const bottomSurface = surfaces[i + 1];\n const unitsInDomain = units.filter((unit) => {\n return (\n unit.t_age <= topSurface.age + 0.001 &&\n unit.b_age >= bottomSurface.age - 0.001\n );\n });\n domainUnitInfo.push({\n t_age: topSurface.age,\n b_age: bottomSurface.age,\n units: unitsInDomain,\n });\n }\n return domainUnitInfo;\n}\n\nfunction proportionOfUnitInDomain(\n unit: ExtUnit,\n t_age: number,\n b_age: number,\n): number {\n // Compute the proportion of a unit's height that lies within the given age domain\n\n const rng = getUnitHeightRange(unit, ColumnAxisType.AGE);\n const rng1: [number, number] = [b_age, t_age];\n // Compute overlap\n\n const mergedRange = mergeAgeRanges([rng, rng1], MergeMode.Inner);\n\n const unitHeight = Math.abs(rng[1] - rng[0]);\n const mergedHeight = Math.abs(mergedRange[1] - mergedRange[0]);\n\n return mergedHeight / unitHeight;\n}\n\nexport function buildHybridScale<T extends UnitLong>(\n def: HybridScaleDefinition,\n units: T[],\n domain: [number, number],\n options: HybridScaleOptions = {},\n): PackageScaleInfo {\n const surfaces = buildColumnSurfaces(units);\n\n const filteredSurfaces = surfaces.filter(\n (s) => s.age < Math.max(...domain) && s.age > Math.min(...domain),\n );\n\n const s1 = [\n { index: -1, age: Math.min(...domain), units_above: [], units_below: [] },\n ...filteredSurfaces,\n {\n index: -1,\n age: Math.max(...domain),\n units_above: [],\n units_below: [],\n },\n ];\n\n const { type, ...rest } = def;\n\n if (type === HybridScaleType.EquidistantSurfaces) {\n return buildScaleFromSurfacesSimple(s1, options);\n }\n\n return buildApproximateHeightScale(s1, units, { ...options, ...rest });\n}\n\nfunction getApproximateHeight(\n unit: ExtUnit,\n method: HeightMethod = HeightMethod.Maximum,\n): number | null {\n // Get approximate height of a unit based on specified method\n const heights = [];\n let minHeight = unit.min_thick;\n if (method === HeightMethod.Minimum || method === HeightMethod.Average) {\n const h = unit.min_thick;\n if (h != null && !isNaN(h) && h > 0) heights.push(h);\n }\n if (method === HeightMethod.Average || method === HeightMethod.Maximum) {\n const h = unit.max_thick;\n if (h != null && !isNaN(h) && h > 0) heights.push(h);\n }\n\n if (heights.length === 0) return null;\n\n if (method === HeightMethod.Average) {\n return heights.reduce((sum, h) => sum + h, 0) / heights.length;\n } else {\n return heights[0];\n }\n}\n\nexport function buildApproximateHeightScale(\n surfaces: BaseSurface[],\n units: UnitLong[],\n options: HybridScaleOptions & ApproxHeightScaleOptions = {},\n): PackageScaleInfo {\n /** Build a variable age scale that places age surfaces equally far apart in height space.\n * It is presumed that gaps are already removed from the unit set provided.\n * */\n\n const {\n pixelScale = 1, // pixels per meter\n pixelOffset = 0,\n minHeight = 5,\n heightMethod = HeightMethod.Maximum,\n // Default height for when height is unknown\n defaultHeight = 100,\n } = options;\n\n // Get units associated with each surface\n // Note: we could hoist this if it proved useful for other scale types\n const domainInfo = getUnitsInAgeDomains(surfaces, units as ExtUnit[]);\n\n // Compute the height in pixels for each surface\n\n const surfaceHeights = [];\n const ageDomain = [];\n let lastHeight = pixelOffset;\n\n for (const domain of domainInfo) {\n if (lastHeight == pixelOffset) {\n surfaceHeights.push(lastHeight);\n ageDomain.push(domain.t_age);\n }\n\n // Approximate height based on units in this domain\n const units = domain.units;\n let unitHeightInfo: { unit: ExtUnit; height: number }[] = [];\n\n for (const unit of units) {\n const proportion = proportionOfUnitInDomain(\n unit,\n domain.t_age,\n domain.b_age,\n );\n const height = getApproximateHeight(unit, heightMethod);\n if (height != null) {\n unitHeightInfo.push({ unit, height: height * proportion });\n }\n }\n\n let thisHeight = 0;\n if (unitHeightInfo.length === 0) {\n thisHeight = defaultHeight; // Default height if no units with height info\n } else {\n // Normalize weights (take the mean)\n\n const meanHeight =\n unitHeightInfo.reduce((sum, d) => sum + d.height, 0) /\n unitHeightInfo.length;\n\n if (meanHeight == 0) {\n thisHeight = defaultHeight; // Arbitrary height for zero-height intervals\n } else if (meanHeight < minHeight) {\n thisHeight = minHeight; // Minimum height\n } else {\n thisHeight = meanHeight;\n }\n }\n\n lastHeight += thisHeight;\n surfaceHeights.push(lastHeight);\n ageDomain.push(domain.b_age);\n }\n\n // Build a piecewise linear scale mapping age to pixel height\n const pixelRange = surfaceHeights.map((h) => h * pixelScale);\n\n const scale = scaleLinear().domain(ageDomain).range(pixelRange);\n\n const heightDomain = surfaceHeights.map((h) => lastHeight - h);\n\n const heightScale = scaleLinear().domain(heightDomain).range(pixelRange);\n\n const domain: [number, number] = [\n ageDomain[ageDomain.length - 1],\n ageDomain[0],\n ];\n\n return {\n scale,\n pixelScale: null, // pixels per unit\n domain,\n pixelHeight: Math.abs(pixelRange[pixelRange.length - 1] - pixelRange[0]),\n heightScale,\n };\n}\n\nexport function buildScaleFromSurfacesSimple(\n surfaces: BaseSurface[],\n options: HybridScaleOptions = {},\n): PackageScaleInfo {\n /** Build a variable age scale that places age surfaces equally far apart in height space.\n * It is presumed that gaps are already removed from the unit set provided.\n * */\n\n const { pixelScale = 30 } = options;\n\n const domain: [number, number] = [\n surfaces[surfaces.length - 1].age,\n surfaces[0].age,\n ];\n // Compute the height in pixels for each surface\n\n const surfaceHeights = surfaces.map((surface, i) => {\n return i * pixelScale;\n });\n\n // Build a piecewise linear scale mapping age to pixel height\n const ageDomain = surfaces.map((s) => s.age);\n const pixelRange = surfaceHeights;\n\n const scale = scaleLinear().domain(ageDomain).range(pixelRange);\n\n return {\n scale,\n pixelScale: null, // pixels per unit\n domain,\n pixelHeight: Math.abs(pixelRange[pixelRange.length - 1] - pixelRange[0]),\n };\n}\n"],"names":["scaleLinear","$gr21k$scaleLinear","ColumnAxisType","$gr21k$ColumnAxisType","mergeAgeRanges","$gr21k$mergeAgeRanges","MergeMode","$gr21k$MergeMode","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$76iYI","$b83252c9fe80810e$export$151c207e6887154c","units","tolerance","surfaces","unit","push","age","t_age","units_below","unit_id","units_above","b_age","mergedSurfaces","surface","existingSurface","find","s","Math","abs","sort","a","b","map","i","index","$b83252c9fe80810e$export$6b39f1b6356d94b6","def","domain","options","filteredSurfaces","filter","max","min","s1","type","rest","HybridScaleType","EquidistantSurfaces","$b83252c9fe80810e$export$d02d2d708a7b495f","$b83252c9fe80810e$export$be7a6f1f0a23d12c","pixelScale","pixelOffset","minHeight","heightMethod","HeightMethod","Maximum","defaultHeight","domainInfo","$b83252c9fe80810e$var$getUnitsInAgeDomains","domainUnitInfo","length","topSurface","bottomSurface","unitsInDomain","surfaceHeights","ageDomain","lastHeight","unitHeightInfo","proportion","$b83252c9fe80810e$var$proportionOfUnitInDomain","rng","getUnitHeightRange","AGE","mergedRange","Inner","unitHeight","mergedHeight","height","$b83252c9fe80810e$var$getApproximateHeight","method","heights","min_thick","Minimum","Average","h","isNaN","max_thick","reduce","sum","thisHeight","meanHeight","d","pixelRange","scale","range","heightDomain","heightScale","pixelHeight","buildColumnSurfaces","buildHybridScale","buildScaleFromSurfacesSimple","buildApproximateHeightScale"],"version":3,"file":"column-views.0b3a384e.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ function a(a,e,i,s){Object.defineProperty(a,e,{get:i,set:s,enumerable:!0,configurable:!0})}var e,i,s,_,l,g,o,p,t={};a(t,"age-axis",()=>e,a=>e=a),a(t,"age-axis-column",()=>i,a=>i=a),a(t,"age-axis-label",()=>s,a=>s=a),a(t,"age-axis-unit",()=>_,a=>_=a),a(t,"age-cursor",()=>l,a=>l=a),a(t,"composite-age-axis",()=>g,a=>g=a),a(t,"label",()=>o,a=>o=a),a(t,"line",()=>p,a=>p=a),e="_FHjpa_age-axis",i="_FHjpa_age-axis-column",s="_FHjpa_age-axis-label",_="_FHjpa_age-axis-unit",l="_FHjpa_age-cursor",g="_FHjpa_composite-age-axis",o="_FHjpa_label",p="_FHjpa_line";export{t as default};
2
+ //# sourceMappingURL=column-views.0bd15ee4.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,W,I,E,A,G,E,G,E,E,kB,I,E,A,G,E,G,E,E,iB,I,E,A,G,E,G,E,E,gB,I,E,A,G,E,G,E,E,a,I,E,A,G,E,G,E,E,qB,I,E,A,G,E,G,E,E,Q,I,E,A,G,E,G,E,E,O,I,E,A,G,E,GAPA,EAA6B,kBAC7B,EAAoC,yBACpC,EAAmC,wBACnC,EAAkC,uBAClC,EAA+B,oBAC/B,EAAuC,4BACvC,EAA0B,eAC1B,EAAyB,qB,K,O","sources":["<anon>","packages/column-views/src/age-axis.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $49ca5f9131a88e56$exports = {};\n\n$parcel$export($49ca5f9131a88e56$exports, \"age-axis\", () => $49ca5f9131a88e56$export$8e012612e152e560, (v) => $49ca5f9131a88e56$export$8e012612e152e560 = v);\n$parcel$export($49ca5f9131a88e56$exports, \"age-axis-column\", () => $49ca5f9131a88e56$export$5bb449cff67e2830, (v) => $49ca5f9131a88e56$export$5bb449cff67e2830 = v);\n$parcel$export($49ca5f9131a88e56$exports, \"age-axis-label\", () => $49ca5f9131a88e56$export$629e44847e8dc64c, (v) => $49ca5f9131a88e56$export$629e44847e8dc64c = v);\n$parcel$export($49ca5f9131a88e56$exports, \"age-axis-unit\", () => $49ca5f9131a88e56$export$1609122694a59b0a, (v) => $49ca5f9131a88e56$export$1609122694a59b0a = v);\n$parcel$export($49ca5f9131a88e56$exports, \"age-cursor\", () => $49ca5f9131a88e56$export$38f8eb5614a465ca, (v) => $49ca5f9131a88e56$export$38f8eb5614a465ca = v);\n$parcel$export($49ca5f9131a88e56$exports, \"composite-age-axis\", () => $49ca5f9131a88e56$export$166435123cbf74ba, (v) => $49ca5f9131a88e56$export$166435123cbf74ba = v);\n$parcel$export($49ca5f9131a88e56$exports, \"label\", () => $49ca5f9131a88e56$export$1237798dc640739a, (v) => $49ca5f9131a88e56$export$1237798dc640739a = v);\n$parcel$export($49ca5f9131a88e56$exports, \"line\", () => $49ca5f9131a88e56$export$53f1d5ea8de3d7c, (v) => $49ca5f9131a88e56$export$53f1d5ea8de3d7c = v);\nvar $49ca5f9131a88e56$export$8e012612e152e560;\nvar $49ca5f9131a88e56$export$5bb449cff67e2830;\nvar $49ca5f9131a88e56$export$629e44847e8dc64c;\nvar $49ca5f9131a88e56$export$1609122694a59b0a;\nvar $49ca5f9131a88e56$export$38f8eb5614a465ca;\nvar $49ca5f9131a88e56$export$166435123cbf74ba;\nvar $49ca5f9131a88e56$export$1237798dc640739a;\nvar $49ca5f9131a88e56$export$53f1d5ea8de3d7c;\n$49ca5f9131a88e56$export$8e012612e152e560 = `_FHjpa_age-axis`;\n$49ca5f9131a88e56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;\n$49ca5f9131a88e56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;\n$49ca5f9131a88e56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;\n$49ca5f9131a88e56$export$38f8eb5614a465ca = `_FHjpa_age-cursor`;\n$49ca5f9131a88e56$export$166435123cbf74ba = `_FHjpa_composite-age-axis`;\n$49ca5f9131a88e56$export$1237798dc640739a = `_FHjpa_label`;\n$49ca5f9131a88e56$export$53f1d5ea8de3d7c = `_FHjpa_line`;\n\n\nexport {$49ca5f9131a88e56$exports as default};\n//# sourceMappingURL=column-views.0bd15ee4.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$49ca5f9131a88e56$export$8e012612e152e560","$49ca5f9131a88e56$export$5bb449cff67e2830","$49ca5f9131a88e56$export$629e44847e8dc64c","$49ca5f9131a88e56$export$1609122694a59b0a","$49ca5f9131a88e56$export$38f8eb5614a465ca","$49ca5f9131a88e56$export$166435123cbf74ba","$49ca5f9131a88e56$export$1237798dc640739a","$49ca5f9131a88e56$export$53f1d5ea8de3d7c","$49ca5f9131a88e56$exports","default"],"version":3,"file":"column-views.0bd15ee4.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.085f4a51.js";import e from"@macrostrat/hyper";import{useAPIResult as r}from"@macrostrat/ui-components";var t=globalThis,n={},a={},o=t.parcelRequirea149;null==o&&((o=function(e){if(e in n)return n[e].exports;if(e in a){var r=a[e];delete a[e];var t={id:e,exports:{}};return n[e]=t,r.call(t.exports,t,t.exports),t.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,r){a[e]=r},t.parcelRequirea149=o),o.register,Object.defineProperty({},"SGPMeasurementsColumn",{get:()=>l,set:void 0,enumerable:!0,configurable:!0});var s=o("3S9SB");function l({columnID:t,color:n="magenta"}){let a=function({col_id:e}){return r("https://dev.macrostrat.org/api/pg/sgp_unit_matches",{col_id:`eq.${e}`},e=>e)}({col_id:t});return null==a?null:e(s.BaseMeasurementsColumn,{data:a,noteComponent:u})}function u(r){let{note:t}=r,n=t?.data?.sgp_samples;return null==n||0===n.length?null:e(s.TruncatedList,{className:"sgp-samples",data:n,itemRenderer:r=>e("span",r.data.name)})}export{l as SGPMeasurementsColumn};
2
- //# sourceMappingURL=column-views.2a6b842d.js.map
1
+ import"./column-views.19a84c01.js";import e from"@macrostrat/hyper";import{useAPIResult as r}from"@macrostrat/ui-components";var t=globalThis,n={},a={},o=t.parcelRequirea149;null==o&&((o=function(e){if(e in n)return n[e].exports;if(e in a){var r=a[e];delete a[e];var t={id:e,exports:{}};return n[e]=t,r.call(t.exports,t,t.exports),t.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,r){a[e]=r},t.parcelRequirea149=o),o.register,Object.defineProperty({},"SGPMeasurementsColumn",{get:()=>l,set:void 0,enumerable:!0,configurable:!0});var s=o("fIqIn");function l({columnID:t,color:n="magenta"}){let a=function({col_id:e}){return r("https://dev.macrostrat.org/api/pg/sgp_unit_matches",{col_id:`eq.${e}`},e=>e)}({col_id:t});return null==a?null:e(s.BaseMeasurementsColumn,{data:a,noteComponent:u})}function u(r){let{note:t}=r,n=t?.data?.sgp_samples;return null==n||0===n.length?null:e(s.TruncatedList,{className:"sgp-samples",data:n,itemRenderer:r=>e("span",r.data.name)})}export{l as SGPMeasurementsColumn};
2
+ //# sourceMappingURL=column-views.0e7ac946.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,Q,M,mB,A,Q,gB,C,K,2B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,wB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,SCeO,SAAS,EAAsB,CAAA,SAAE,CAAQ,CAAA,MAAE,EAAQ,SAAA,CAAW,EACnE,IAAM,EAAO,AAZf,SAAoB,CAAA,OAAE,CAAM,CAAE,EAQ5B,OAPY,AAAA,EACV,qDACA,CACE,OAAQ,CAAC,GAAG,EAAE,EAAA,CAAQ,AACxB,EACA,AAAC,GAAM,EAGX,EAG0B,CAAE,OAAQ,CAAS,UAE3C,AAAI,AAAQ,MAAR,EAAqB,KAElB,AAAA,EAAE,EAAA,sBAAqB,CAAG,CAC/B,KAAA,EACA,cAAe,CACjB,EACF,CAEA,SAAS,EAAe,CAAK,EAC3B,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,EACX,EAAc,GAAM,MAAM,mBAEhC,AAAI,AAAe,MAAf,GAAuB,AAAuB,IAAvB,EAAY,MAAM,CAAe,KAErD,AAAA,EAAE,EAAA,aAAY,CAAG,CACtB,UAAW,cACX,KAAM,EACN,aAAc,AAAC,GAAM,AAAA,EAAE,OAAQ,EAAE,IAAI,CAAC,IAAI,CAC5C,EACF,Q,K,qB","sources":["<anon>","packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import \"./column-views.19a84c01.js\";\nimport $d6zmK$macrostrathyper from \"@macrostrat/hyper\";\nimport {useAPIResult as $d6zmK$useAPIResult} from \"@macrostrat/ui-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $30f674067bcc490b$exports = {};\n\n$parcel$export($30f674067bcc490b$exports, \"SGPMeasurementsColumn\", () => $30f674067bcc490b$export$c49cf57576706bab);\n\n\n\nvar $fIqIn = parcelRequire(\"fIqIn\");\nfunction $30f674067bcc490b$var$useSGPData({ col_id: col_id }) {\n const res = (0, $d6zmK$useAPIResult)(\"https://dev.macrostrat.org/api/pg/sgp_unit_matches\", {\n col_id: `eq.${col_id}`\n }, (d)=>d);\n return res;\n}\nfunction $30f674067bcc490b$export$c49cf57576706bab({ columnID: columnID, color: color = \"magenta\" }) {\n const data = $30f674067bcc490b$var$useSGPData({\n col_id: columnID\n });\n if (data == null) return null;\n return (0, $d6zmK$macrostrathyper)((0, $fIqIn.BaseMeasurementsColumn), {\n data: data,\n noteComponent: $30f674067bcc490b$var$SGPSamplesNote\n });\n}\nfunction $30f674067bcc490b$var$SGPSamplesNote(props) {\n const { note: note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n return (0, $d6zmK$macrostrathyper)((0, $fIqIn.TruncatedList), {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p)=>(0, $d6zmK$macrostrathyper)(\"span\", p.data.name)\n });\n}\n\n\nexport {$30f674067bcc490b$export$c49cf57576706bab as SGPMeasurementsColumn};\n//# sourceMappingURL=column-views.0e7ac946.js.map\n","import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":["$d6zmK$macrostrathyper","useAPIResult","$d6zmK$useAPIResult","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$30f674067bcc490b$export$c49cf57576706bab","set","s","enumerable","configurable","$fIqIn","columnID","color","data","$30f674067bcc490b$var$useSGPData","col_id","d","BaseMeasurementsColumn","noteComponent","$30f674067bcc490b$var$SGPSamplesNote","props","note","sgp_samples","length","TruncatedList","className","itemRenderer","p","name","SGPMeasurementsColumn"],"version":3,"file":"column-views.0e7ac946.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.6a9da051.js";import"./column-views.1a3c399e.js";import"./column-views.07c503d3.js";import e from"@macrostrat/hyper";import{Popover as t}from"@blueprintjs/core";function o(e,t,o,i){Object.defineProperty(e,t,{get:o,set:i,enumerable:!0,configurable:!0})}var i=globalThis,n={},r={},l=i.parcelRequirea149;null==l&&((l=function(e){if(e in n)return n[e].exports;if(e in r){var t=r[e];delete r[e];var o={id:e,exports:{}};return n[e]=o,t.call(o.exports,o,o.exports),o.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){r[e]=t},i.parcelRequirea149=l),l.register;var a={};o(a,"UnitDetailsPopover",()=>d),o(a,"UnitSelectionPopover",()=>f);var s=l("bHbph"),c=l("5SO8b"),p=l("iYfAq");let u=e.styled(s&&s.__esModule?s.default:s);function d({style:e,children:o,viewportPadding:i=20}){let n=u(v,o);return u("div.popover-main",{style:e},u(t,{content:n,isOpen:!0,usePortal:!1,position:"right",modifiers:{preventOverflow:{options:{padding:i}}}},u("span.popover-target")))}function v({children:e}){return u("div",{onClick(e){e.stopPropagation()}},e)}function f(){let e=(0,c.useSelectedUnit)(),t=(0,c.useUnitSelectionStore)(e=>e.onUnitSelected),o=(0,c.useUnitSelectionStore)(e=>e.overlayPosition);return null==e?null:u("div.unit-popover-container",u(d,{style:{position:"absolute",top:o?.y??0,width:o?.width??100,left:o?.x??0,height:o?.height??100}},u(p.UnitDetailsPanel,{unit:e,showLithologyProportions:!0,className:"legend-panel",onSelectUnit:e=>{console.log("Selected unit in popover:",e),t(e,null,null)}})))}export{d as UnitDetailsPopover,f as UnitSelectionPopover};
2
+ //# sourceMappingURL=column-views.108db52e.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,W,C,K,mB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,qB,I,G,E,E,uB,I,G,I,E,E,S,E,E,S,E,E,SCMA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAmB,CAAA,MACjC,CAAK,CAAA,SACL,CAAQ,CAAA,gBACR,EAAkB,EAAA,CAKnB,EACC,IAAM,EAAU,EAAE,EAAoB,GAEtC,OAAO,EACL,mBACA,CACE,MAAA,CACF,EACA,EACE,EAEA,CACE,QAAA,EACA,OAAQ,CAAA,EACR,UAAW,CAAA,EACX,SAAU,QACV,UAAW,CACT,gBAAiB,CAAE,QAAS,CAAE,QAAS,CAAgB,CAAE,CAC3D,CACF,EACA,EAAE,wBAGR,CAEA,SAAS,EAAmB,CAAA,SAAE,CAAQ,CAAE,EACtC,OAAO,EACL,MACA,CACE,QAAQ,CAAC,EAEP,EAAE,eAAe,EACnB,CACF,EACA,EAEJ,CAEO,SAAS,IACd,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,IACP,EAAa,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,AAAC,GAAU,EAAM,cAAc,EAClE,EAAW,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,AAAC,GAAU,EAAM,eAAe,SACvE,AAAI,AAAQ,MAAR,EACK,KAGF,EACL,6BACA,EACE,EACA,CACE,MAAO,CACL,SAAU,WACV,IAAK,GAAU,GAAK,EACpB,MAAO,GAAU,OAAS,IAC1B,KAAM,GAAU,GAAK,EACrB,OAAQ,GAAU,QAAU,GAC9B,CACF,EACA,EAAE,EAAA,gBAAe,CAAG,CAClB,KAAA,EACA,yBAA0B,CAAA,EAC1B,UAAW,eACX,aAAc,AAAC,IACb,QAAQ,GAAG,CAAC,4BAA6B,GACzC,EAAW,EAAI,KAAM,KACvB,CACF,IAGN,Q,K,kB,C,K,oB","sources":["<anon>","packages/column-views/src/unit-details/popover.ts"],"sourcesContent":["import \"./column-views.6a9da051.js\";\nimport \"./column-views.1a3c399e.js\";\nimport \"./column-views.07c503d3.js\";\nimport $jhKOD$macrostrathyper from \"@macrostrat/hyper\";\nimport {Popover as $jhKOD$Popover} from \"@blueprintjs/core\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $1c6e0a5d10814cef$exports = {};\n\n$parcel$export($1c6e0a5d10814cef$exports, \"UnitDetailsPopover\", () => $1c6e0a5d10814cef$export$6716aecc2c9afbe2);\n$parcel$export($1c6e0a5d10814cef$exports, \"UnitSelectionPopover\", () => $1c6e0a5d10814cef$export$db1115efab13710d);\n\n\n\nvar $bHbph = parcelRequire(\"bHbph\");\n\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nconst $1c6e0a5d10814cef$var$h = (0, $jhKOD$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($bHbph))));\nfunction $1c6e0a5d10814cef$export$6716aecc2c9afbe2({ style: style, children: children, viewportPadding: viewportPadding = 20 }) {\n const content = $1c6e0a5d10814cef$var$h($1c6e0a5d10814cef$var$InteractionBarrier, children);\n return $1c6e0a5d10814cef$var$h(\"div.popover-main\", {\n style: style\n }, $1c6e0a5d10814cef$var$h((0, $jhKOD$Popover), // @ts-ignore\n {\n content: content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: {\n options: {\n padding: viewportPadding\n }\n }\n }\n }, $1c6e0a5d10814cef$var$h(\"span.popover-target\")));\n}\nfunction $1c6e0a5d10814cef$var$InteractionBarrier({ children: children }) {\n return $1c6e0a5d10814cef$var$h(\"div\", {\n onClick (e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n }\n }, children);\n}\nfunction $1c6e0a5d10814cef$export$db1115efab13710d() {\n const unit = (0, $5SO8b.useSelectedUnit)();\n const selectUnit = (0, $5SO8b.useUnitSelectionStore)((state)=>state.onUnitSelected);\n const position = (0, $5SO8b.useUnitSelectionStore)((state)=>state.overlayPosition);\n if (unit == null) return null;\n return $1c6e0a5d10814cef$var$h(\"div.unit-popover-container\", $1c6e0a5d10814cef$var$h($1c6e0a5d10814cef$export$6716aecc2c9afbe2, {\n style: {\n position: \"absolute\",\n top: position?.y ?? 0,\n width: position?.width ?? 100,\n left: position?.x ?? 0,\n height: position?.height ?? 100\n }\n }, $1c6e0a5d10814cef$var$h((0, $iYfAq.UnitDetailsPanel), {\n unit: unit,\n showLithologyProportions: true,\n className: \"legend-panel\",\n onSelectUnit: (id)=>{\n console.log(\"Selected unit in popover:\", id);\n selectUnit(id, null, null);\n }\n })));\n}\n\n\nexport {$1c6e0a5d10814cef$export$6716aecc2c9afbe2 as UnitDetailsPopover, $1c6e0a5d10814cef$export$db1115efab13710d as UnitSelectionPopover};\n//# sourceMappingURL=column-views.108db52e.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport { Popover } from \"@blueprintjs/core\";\nimport styles from \"./popover.module.sass\";\nimport { useSelectedUnit, useUnitSelectionStore } from \"../data-provider\";\nimport { UnitDetailsPanel } from \"./panel\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n viewportPadding = 20,\n}: {\n style: object;\n viewportPadding?: number;\n children: React.ReactNode;\n}) {\n const content = h(InteractionBarrier, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n {\n content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: { options: { padding: viewportPadding } },\n },\n },\n h(\"span.popover-target\"),\n ),\n );\n}\n\nfunction InteractionBarrier({ children }) {\n return h(\n \"div\",\n {\n onClick(e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n },\n },\n children,\n );\n}\n\nexport function UnitSelectionPopover() {\n const unit = useSelectedUnit();\n const selectUnit = useUnitSelectionStore((state) => state.onUnitSelected);\n const position = useUnitSelectionStore((state) => state.overlayPosition);\n if (unit == null) {\n return null;\n }\n\n return h(\n \"div.unit-popover-container\",\n h(\n UnitDetailsPopover,\n {\n style: {\n position: \"absolute\",\n top: position?.y ?? 0,\n width: position?.width ?? 100,\n left: position?.x ?? 0,\n height: position?.height ?? 100,\n },\n },\n h(UnitDetailsPanel, {\n unit,\n showLithologyProportions: true,\n className: \"legend-panel\",\n onSelectUnit: (id: number) => {\n console.log(\"Selected unit in popover:\", id);\n selectUnit(id, null, null);\n },\n }),\n ),\n );\n}\n"],"names":["$jhKOD$macrostrathyper","Popover","$jhKOD$Popover","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$1c6e0a5d10814cef$exports","$1c6e0a5d10814cef$export$6716aecc2c9afbe2","$1c6e0a5d10814cef$export$db1115efab13710d","$bHbph","$5SO8b","$iYfAq","$1c6e0a5d10814cef$var$h","styled","a","__esModule","default","style","children","viewportPadding","content","$1c6e0a5d10814cef$var$InteractionBarrier","isOpen","usePortal","position","modifiers","preventOverflow","options","padding","onClick","stopPropagation","unit","useSelectedUnit","selectUnit","useUnitSelectionStore","state","onUnitSelected","overlayPosition","top","y","width","left","x","height","UnitDetailsPanel","showLithologyProportions","className","onSelectUnit","console","log","UnitDetailsPopover","UnitSelectionPopover"],"version":3,"file":"column-views.108db52e.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ function n(n,c,a,e){Object.defineProperty(n,c,{get:a,set:e,enumerable:!0,configurable:!0})}var c,a,e,o,t,i,f,m,r,l,u,s,_,g,y,x={};n(x,"column-container",()=>c,n=>c=n),n(x,"timescale-column",()=>a,n=>a=n),n(x,"section-main",()=>e,n=>e=n),n(x,"section-units-container",()=>o,n=>o=n),n(x,"main-column",()=>t,n=>t=n),n(x,"unconformity-labels",()=>i,n=>i=n),n(x,"unconformity",()=>f,n=>f=n),n(x,"giga",()=>m,n=>m=n),n(x,"mega",()=>r,n=>r=n),n(x,"large",()=>l,n=>l=n),n(x,"small",()=>u,n=>u=n),n(x,"unconformity-inner",()=>s,n=>s=n),n(x,"unconformity-text",()=>_,n=>_=n),n(x,"prefix",()=>g,n=>g=n),n(x,"column-title-row",()=>y,n=>y=n),c="column-container_afc440",a="timescale-column_afc440",e="section-main_afc440",o="section-units-container_afc440",t="main-column_afc440",i="unconformity-labels_afc440",f="unconformity_afc440",m="giga_afc440",r="mega_afc440",l="large_afc440",u="small_afc440",s="unconformity-inner_afc440",_="unconformity-text_afc440",g="prefix_afc440",y="column-title-row_afc440";export{x as default};
2
+ //# sourceMappingURL=column-views.1261be59.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,mB,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,0B,I,E,A,G,E,G,E,E,c,I,E,A,G,E,G,E,E,sB,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,Q,I,E,A,G,E,G,E,E,Q,I,E,A,G,E,G,E,E,qB,I,E,A,G,E,G,E,E,oB,I,E,A,G,E,G,E,E,S,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,GAdA,EAAqC,0BACrC,EAAqC,0BACrC,EAAiC,sBACjC,EAA4C,iCAC5C,EAAgC,qBAChC,EAAwC,6BACxC,EAAiC,sBACjC,EAAyB,cACzB,EAAyB,cACzB,EAA0B,eAC1B,EAA0B,eAC1B,EAAuC,4BACvC,EAAsC,2BACtC,EAA2B,gBAC3B,EAAqC,iC,K,O","sources":["<anon>","packages/column-views/src/column.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $5cefe1c5058d37da$exports = {};\n\n$parcel$export($5cefe1c5058d37da$exports, \"column-container\", () => $5cefe1c5058d37da$export$e908cef0cccb98df, (v) => $5cefe1c5058d37da$export$e908cef0cccb98df = v);\n$parcel$export($5cefe1c5058d37da$exports, \"timescale-column\", () => $5cefe1c5058d37da$export$82c2e1a892d790ab, (v) => $5cefe1c5058d37da$export$82c2e1a892d790ab = v);\n$parcel$export($5cefe1c5058d37da$exports, \"section-main\", () => $5cefe1c5058d37da$export$add6075ee40659c8, (v) => $5cefe1c5058d37da$export$add6075ee40659c8 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"section-units-container\", () => $5cefe1c5058d37da$export$37c0a390e37eb2da, (v) => $5cefe1c5058d37da$export$37c0a390e37eb2da = v);\n$parcel$export($5cefe1c5058d37da$exports, \"main-column\", () => $5cefe1c5058d37da$export$9c88f9a435c40ccb, (v) => $5cefe1c5058d37da$export$9c88f9a435c40ccb = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity-labels\", () => $5cefe1c5058d37da$export$d726faed2da21993, (v) => $5cefe1c5058d37da$export$d726faed2da21993 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity\", () => $5cefe1c5058d37da$export$7b4a6d978979c0fa, (v) => $5cefe1c5058d37da$export$7b4a6d978979c0fa = v);\n$parcel$export($5cefe1c5058d37da$exports, \"giga\", () => $5cefe1c5058d37da$export$197e40aa3a484017, (v) => $5cefe1c5058d37da$export$197e40aa3a484017 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"mega\", () => $5cefe1c5058d37da$export$580f1e8cf64f2815, (v) => $5cefe1c5058d37da$export$580f1e8cf64f2815 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"large\", () => $5cefe1c5058d37da$export$f09585a853dddd32, (v) => $5cefe1c5058d37da$export$f09585a853dddd32 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"small\", () => $5cefe1c5058d37da$export$3c17b0e969a90510, (v) => $5cefe1c5058d37da$export$3c17b0e969a90510 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity-inner\", () => $5cefe1c5058d37da$export$282a4eb2ce28e6d0, (v) => $5cefe1c5058d37da$export$282a4eb2ce28e6d0 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity-text\", () => $5cefe1c5058d37da$export$925235908943319a, (v) => $5cefe1c5058d37da$export$925235908943319a = v);\n$parcel$export($5cefe1c5058d37da$exports, \"prefix\", () => $5cefe1c5058d37da$export$82e9f45cca5ba907, (v) => $5cefe1c5058d37da$export$82e9f45cca5ba907 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"column-title-row\", () => $5cefe1c5058d37da$export$54e339397196c97b, (v) => $5cefe1c5058d37da$export$54e339397196c97b = v);\nvar $5cefe1c5058d37da$export$e908cef0cccb98df;\nvar $5cefe1c5058d37da$export$82c2e1a892d790ab;\nvar $5cefe1c5058d37da$export$add6075ee40659c8;\nvar $5cefe1c5058d37da$export$37c0a390e37eb2da;\nvar $5cefe1c5058d37da$export$9c88f9a435c40ccb;\nvar $5cefe1c5058d37da$export$d726faed2da21993;\nvar $5cefe1c5058d37da$export$7b4a6d978979c0fa;\nvar $5cefe1c5058d37da$export$197e40aa3a484017;\nvar $5cefe1c5058d37da$export$580f1e8cf64f2815;\nvar $5cefe1c5058d37da$export$f09585a853dddd32;\nvar $5cefe1c5058d37da$export$3c17b0e969a90510;\nvar $5cefe1c5058d37da$export$282a4eb2ce28e6d0;\nvar $5cefe1c5058d37da$export$925235908943319a;\nvar $5cefe1c5058d37da$export$82e9f45cca5ba907;\nvar $5cefe1c5058d37da$export$54e339397196c97b;\n$5cefe1c5058d37da$export$e908cef0cccb98df = \"column-container_afc440\";\n$5cefe1c5058d37da$export$82c2e1a892d790ab = \"timescale-column_afc440\";\n$5cefe1c5058d37da$export$add6075ee40659c8 = \"section-main_afc440\";\n$5cefe1c5058d37da$export$37c0a390e37eb2da = \"section-units-container_afc440\";\n$5cefe1c5058d37da$export$9c88f9a435c40ccb = \"main-column_afc440\";\n$5cefe1c5058d37da$export$d726faed2da21993 = \"unconformity-labels_afc440\";\n$5cefe1c5058d37da$export$7b4a6d978979c0fa = \"unconformity_afc440\";\n$5cefe1c5058d37da$export$197e40aa3a484017 = \"giga_afc440\";\n$5cefe1c5058d37da$export$580f1e8cf64f2815 = \"mega_afc440\";\n$5cefe1c5058d37da$export$f09585a853dddd32 = \"large_afc440\";\n$5cefe1c5058d37da$export$3c17b0e969a90510 = \"small_afc440\";\n$5cefe1c5058d37da$export$282a4eb2ce28e6d0 = \"unconformity-inner_afc440\";\n$5cefe1c5058d37da$export$925235908943319a = \"unconformity-text_afc440\";\n$5cefe1c5058d37da$export$82e9f45cca5ba907 = \"prefix_afc440\";\n$5cefe1c5058d37da$export$54e339397196c97b = \"column-title-row_afc440\";\n\n\nexport {$5cefe1c5058d37da$exports as default};\n//# sourceMappingURL=column-views.1261be59.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$5cefe1c5058d37da$export$e908cef0cccb98df","$5cefe1c5058d37da$export$82c2e1a892d790ab","$5cefe1c5058d37da$export$add6075ee40659c8","$5cefe1c5058d37da$export$37c0a390e37eb2da","$5cefe1c5058d37da$export$9c88f9a435c40ccb","$5cefe1c5058d37da$export$d726faed2da21993","$5cefe1c5058d37da$export$7b4a6d978979c0fa","$5cefe1c5058d37da$export$197e40aa3a484017","$5cefe1c5058d37da$export$580f1e8cf64f2815","$5cefe1c5058d37da$export$f09585a853dddd32","$5cefe1c5058d37da$export$3c17b0e969a90510","$5cefe1c5058d37da$export$282a4eb2ce28e6d0","$5cefe1c5058d37da$export$925235908943319a","$5cefe1c5058d37da$export$82e9f45cca5ba907","$5cefe1c5058d37da$export$54e339397196c97b","$5cefe1c5058d37da$exports","default"],"version":3,"file":"column-views.1261be59.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ function a(a,e,t,n){Object.defineProperty(a,e,{get:t,set:n,enumerable:!0,configurable:!0})}var e,t,n,x,l,o,r,b={};a(b,"taxa-occurrences-matrix",()=>e,a=>e=a),a(b,"taxon-label",()=>t,a=>t=a),a(b,"taxon-label-inner",()=>n,a=>n=a),a(b,"taxon-label-text",()=>x,a=>x=a),a(b,"taxon-labels",()=>l,a=>l=a),a(b,"taxon-name",()=>o,a=>o=a),a(b,"taxon-ranges",()=>r,a=>r=a),e="VC2fja_taxa-occurrences-matrix",t="VC2fja_taxon-label",n="VC2fja_taxon-label-inner",x="VC2fja_taxon-label-text",l="VC2fja_taxon-labels",o="VC2fja_taxon-name",r="VC2fja_taxon-ranges";export{b as default};
2
+ //# sourceMappingURL=column-views.16f336ee.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,0B,I,E,A,G,E,G,E,E,c,I,E,A,G,E,G,E,E,oB,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,a,I,E,A,G,E,G,E,E,e,I,E,A,G,E,GANA,EAA4C,iCAC5C,EAAgC,qBAChC,EAAsC,2BACtC,EAAqC,0BACrC,EAAiC,sBACjC,EAA+B,oBAC/B,EAAiC,6B,K,O","sources":["<anon>","packages/column-views/src/facets/fossils/index.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $e4bc3df6e06d50e7$exports = {};\n\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxa-occurrences-matrix\", () => $e4bc3df6e06d50e7$export$1a8a56764d75ed71, (v) => $e4bc3df6e06d50e7$export$1a8a56764d75ed71 = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-label\", () => $e4bc3df6e06d50e7$export$a72089d2f6fa8dfc, (v) => $e4bc3df6e06d50e7$export$a72089d2f6fa8dfc = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-label-inner\", () => $e4bc3df6e06d50e7$export$bca4873e6487914b, (v) => $e4bc3df6e06d50e7$export$bca4873e6487914b = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-label-text\", () => $e4bc3df6e06d50e7$export$c17fb3de63e5b5e0, (v) => $e4bc3df6e06d50e7$export$c17fb3de63e5b5e0 = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-labels\", () => $e4bc3df6e06d50e7$export$5717d7656277d73a, (v) => $e4bc3df6e06d50e7$export$5717d7656277d73a = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-name\", () => $e4bc3df6e06d50e7$export$8bc33626fdbc643b, (v) => $e4bc3df6e06d50e7$export$8bc33626fdbc643b = v);\n$parcel$export($e4bc3df6e06d50e7$exports, \"taxon-ranges\", () => $e4bc3df6e06d50e7$export$6f150713c4eb8d46, (v) => $e4bc3df6e06d50e7$export$6f150713c4eb8d46 = v);\nvar $e4bc3df6e06d50e7$export$1a8a56764d75ed71;\nvar $e4bc3df6e06d50e7$export$a72089d2f6fa8dfc;\nvar $e4bc3df6e06d50e7$export$bca4873e6487914b;\nvar $e4bc3df6e06d50e7$export$c17fb3de63e5b5e0;\nvar $e4bc3df6e06d50e7$export$5717d7656277d73a;\nvar $e4bc3df6e06d50e7$export$8bc33626fdbc643b;\nvar $e4bc3df6e06d50e7$export$6f150713c4eb8d46;\n$e4bc3df6e06d50e7$export$1a8a56764d75ed71 = `VC2fja_taxa-occurrences-matrix`;\n$e4bc3df6e06d50e7$export$a72089d2f6fa8dfc = `VC2fja_taxon-label`;\n$e4bc3df6e06d50e7$export$bca4873e6487914b = `VC2fja_taxon-label-inner`;\n$e4bc3df6e06d50e7$export$c17fb3de63e5b5e0 = `VC2fja_taxon-label-text`;\n$e4bc3df6e06d50e7$export$5717d7656277d73a = `VC2fja_taxon-labels`;\n$e4bc3df6e06d50e7$export$8bc33626fdbc643b = `VC2fja_taxon-name`;\n$e4bc3df6e06d50e7$export$6f150713c4eb8d46 = `VC2fja_taxon-ranges`;\n\n\nexport {$e4bc3df6e06d50e7$exports as default};\n//# sourceMappingURL=column-views.16f336ee.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$e4bc3df6e06d50e7$export$1a8a56764d75ed71","$e4bc3df6e06d50e7$export$a72089d2f6fa8dfc","$e4bc3df6e06d50e7$export$bca4873e6487914b","$e4bc3df6e06d50e7$export$c17fb3de63e5b5e0","$e4bc3df6e06d50e7$export$5717d7656277d73a","$e4bc3df6e06d50e7$export$8bc33626fdbc643b","$e4bc3df6e06d50e7$export$6f150713c4eb8d46","$e4bc3df6e06d50e7$exports","default"],"version":3,"file":"column-views.16f336ee.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.1261be59.js";import"./column-views.6919fd2a.js";import"./column-views.92e29010.js";import"./column-views.1a3c399e.js";import"./column-views.07c503d3.js";import"./column-views.108db52e.js";import"./column-views.312db572.js";import"./column-views.0201566d.js";import"./column-views.7f9c7448.js";import"./column-views.a16cd1f2.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{hyperStyled as o}from"@macrostrat/hyper";import{extractPadding as n,useDarkMode as t,Box as i}from"@macrostrat/ui-components";import l from"classnames";import{useRef as a,useCallback as s}from"react";import{NonIdealState as r}from"@blueprintjs/core";import{DataField as c}from"@macrostrat/data-components";function m(e,o,n,t){Object.defineProperty(e,o,{get:n,set:t,enumerable:!0,configurable:!0})}var u=globalThis,p={},d={},f=u.parcelRequirea149;null==f&&((f=function(e){if(e in p)return p[e].exports;if(e in d){var o=d[e];delete d[e];var n={id:e,exports:{}};return p[e]=n,o.call(n.exports,n,n.exports),n.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,o){d[e]=o},u.parcelRequirea149=f),f.register;var g={};m(g,"Column",()=>U),m(g,"ColumnContainer",()=>R),m(g,"ColumnBasicInfo",()=>M);var b=f("7YHvf"),v=f("7tWYE"),h=f("wtIgl"),_=f("5SO8b"),x=f("iYfAq"),S=f("2KV3o"),H=f("7exMg"),C=f("4hG2H"),w=f("76iYI"),A=f("610tc");let y=o(b&&b.__esModule?b.default:b);function U(o){let{showUnitPopover:n=!1,keyboardNavigation:t=!1,mergeSections:i,onUnitSelected:l,selectedUnit:s,children:c,units:m,t_age:u,b_age:p,t_pos:d,b_pos:f,unconformityHeight:g=30,targetUnitHeight:b=20,pixelScale:v,minPixelScale:x=.2,minSectionHeight:H=50,collapseSmallUnconformities:U=!0,allowUnitSelection:R,hybridScale:M,scale:F,axisType:$,...j}=o,T=a(),N=b,O=H,I=x;null!=v&&(N=null,O=0,I=v);let L=$??e.AGE,P=C.CompositeAgeAxis;M?.type===w.HybridScaleType.ApproximateHeight&&L!=e.AGE&&(P=C.ApproximateHeightAxis,L=e.AGE);let{sections:D,units:k,totalHeight:G}=(0,A.usePreparedColumnUnits)(m,{axisType:L,t_age:u,b_age:p,t_pos:d,b_pos:f,mergeSections:i,targetUnitHeight:N,unconformityHeight:g,pixelScale:v,minPixelScale:I,minSectionHeight:O,collapseSmallUnconformities:U,scale:F,hybridScale:M});if(0===D.length)return y("div.column-container.empty",y(r,{title:"Empty column",description:"No sections found in this column.",icon:"warning-sign"}));let B=y(E,{columnRef:T,ageAxisComponent:P,...j},[c,y.if(n)(S.UnitSelectionPopover),y.if(t)(_.UnitKeyboardNavigation,{units:k})]),Y=R??!1;return(n||null!=s||null!=l)&&(Y=!0),Y&&(B=y(_.UnitSelectionProvider,{columnRef:T,onUnitSelected:l,selectedUnit:s,units:k},B)),y(h.MacrostratColumnDataProvider,{units:k,sections:D,totalHeight:G,axisType:L},B)}function E(o){let t=n(o),i={"--column-padding-top":`${t.paddingTop}px`,"--column-padding-bottom":`${t.paddingBottom}px`,"--column-padding-left":`${t.paddingLeft}px`,"--column-padding-right":`${t.paddingRight}px`},{unitComponent:l=v.UnitComponent,unconformityLabels:a=!0,showLabels:r=!0,width:c=300,columnWidth:m=150,showLabelColumn:u=!0,className:p,columnRef:d,clipUnits:f=!1,children:g,showTimescale:b,timescaleLevels:x,maxInternalColumns:S,onMouseOver:w,ageAxisComponent:A=C.CompositeAgeAxis}=o,{axisType:U}=(0,h.useMacrostratColumnData)(),E=m;E>c&&(E=c);let M=u;E>c-10&&(M=!1);let F=b??!0;return null!=x&&(F=!0),F=U==e.AGE&&F,y(R,{...function(e=null){let o=(0,_.useUnitSelectionDispatch)(),n=s(e=>{o?.(null,null,e)},[o]),t=(0,h.useCompositeScale)(),i=s(o=>{let n=t.invert(o.clientY-o.currentTarget.getBoundingClientRect().top);e?.(null,n,o)},[t,e]),l=s(()=>{e?.(null,null,null)},[e]);return null==e?{onClick:n,onMouseOver:void 0,onMouseMove:void 0,onMouseOut:void 0}:{onMouseOver:i,onMouseMove:i,onMouseOut:l,onClick:n}}(w),style:i,className:p},y("div.column",{ref:d},[y(A),y.if(F)(H.CompositeTimescale,{levels:x}),y(H.SectionsColumn,{unitComponent:l,showLabels:r,width:c,columnWidth:E,showLabelColumn:M,clipUnits:f,unconformityLabels:a,maxInternalColumns:S}),g]))}function R(e){let{className:o,...n}=e,a=t();return y(i,{className:l(o,{"dark-mode":a?.isEnabled??!1},"column-container"),...n})}function M({data:e,showColumnID:o=!0}){return null==e?null:y("div.column-info",[y("div.column-title-row",[y("h2",e.col_name),y.if(o)("h4",y(x.Identifier,{id:e.col_id}))]),y(c,{row:!0,label:"Group",value:e.col_group}),y(x.ReferencesField,{refs:e.refs,inline:!1,row:!0,className:"column-refs"})])}export{U as Column,R as ColumnContainer,M as ColumnBasicInfo};
2
+ //# sourceMappingURL=column-views.18d54bbb.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,kB,C,K,+B,A,Q,e,C,K,mB,A,Q,kB,C,C,e,C,C,O,C,K,2B,A,Q,M,Y,A,Q,U,C,C,e,C,K,O,A,Q,iB,C,K,mB,A,Q,a,C,K,6B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,I,G,E,E,kB,I,G,E,E,kB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCoDA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAoCf,SAAS,EAAO,CAAkB,EACvC,GAAM,CAAA,gBACJ,EAAkB,CAAA,CAAA,CAAA,mBAClB,EAAqB,CAAA,CAAA,CAAA,cACrB,CAAa,CAAA,eACb,CAAc,CAAA,aACd,CAAY,CAAA,SACZ,CAAQ,CACR,MAAO,CAAQ,CAAA,MACf,CAAK,CAAA,MACL,CAAK,CAAA,MACL,CAAK,CAAA,MACL,CAAK,CAAA,mBACL,EAAqB,EAAA,CAAA,iBACrB,EAAmB,EAAA,CAAA,WACnB,CAAU,CAAA,cACV,EAAgB,EAAA,CAAA,iBAChB,EAAmB,EAAA,CAAA,4BACnB,EAA8B,CAAA,CAAA,CAAA,mBAC9B,CAAkB,CAAA,YAClB,CAAW,CAAA,MACX,CAAK,CAAA,SACL,CAAQ,CACR,GAAG,EACJ,CAAG,EACE,EAAM,AAAA,IAKR,EAAoB,EACpB,EAAoB,EACpB,EAAiB,CACH,OAAd,IACF,EAAoB,KACpB,EAAoB,EACpB,EAAiB,GAInB,IAAI,EAAY,GAAY,AAAA,EAAe,GAAG,CAC1C,EAAmB,EAA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","sources":["<anon>","packages/column-views/src/column.ts"],"sourcesContent":["import \"./column-views.1261be59.js\";\nimport \"./column-views.6919fd2a.js\";\nimport \"./column-views.92e29010.js\";\nimport \"./column-views.1a3c399e.js\";\nimport \"./column-views.07c503d3.js\";\nimport \"./column-views.108db52e.js\";\nimport \"./column-views.312db572.js\";\nimport \"./column-views.0201566d.js\";\nimport \"./column-views.7f9c7448.js\";\nimport \"./column-views.a16cd1f2.js\";\nimport {ColumnAxisType as $6sU8d$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {hyperStyled as $6sU8d$hyperStyled} from \"@macrostrat/hyper\";\nimport {extractPadding as $6sU8d$extractPadding, useDarkMode as $6sU8d$useDarkMode, Box as $6sU8d$Box} from \"@macrostrat/ui-components\";\nimport $6sU8d$classnames from \"classnames\";\nimport {useRef as $6sU8d$useRef, useCallback as $6sU8d$useCallback} from \"react\";\nimport {NonIdealState as $6sU8d$NonIdealState} from \"@blueprintjs/core\";\nimport {DataField as $6sU8d$DataField} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $4721fb147cb3f5e1$exports = {};\n\n$parcel$export($4721fb147cb3f5e1$exports, \"Column\", () => $4721fb147cb3f5e1$export$816b5d811295e6bc);\n$parcel$export($4721fb147cb3f5e1$exports, \"ColumnContainer\", () => $4721fb147cb3f5e1$export$2194471aa3d52446);\n$parcel$export($4721fb147cb3f5e1$exports, \"ColumnBasicInfo\", () => $4721fb147cb3f5e1$export$fcdf79c491a4504f);\n\n\n\n\n\n\nvar $7YHvf = parcelRequire(\"7YHvf\");\n\nvar $7tWYE = parcelRequire(\"7tWYE\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\nvar $7exMg = parcelRequire(\"7exMg\");\n\nvar $4hG2H = parcelRequire(\"4hG2H\");\n\nvar $76iYI = parcelRequire(\"76iYI\");\nvar $610tc = parcelRequire(\"610tc\");\n\n\nconst $4721fb147cb3f5e1$var$h = (0, $6sU8d$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($7YHvf))));\nfunction $4721fb147cb3f5e1$export$816b5d811295e6bc(props) {\n 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;\n const ref = (0, $6sU8d$useRef)();\n // Selected item position\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */ 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 // Handle special cases for hybrid scales (WIP, we need to regularize this)\n let _axisType = axisType ?? (0, $6sU8d$ColumnAxisType).AGE;\n let ageAxisComponent = (0, $4hG2H.CompositeAgeAxis);\n if (hybridScale?.type === (0, $76iYI.HybridScaleType).ApproximateHeight && _axisType != (0, $6sU8d$ColumnAxisType).AGE) {\n // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = (0, $4hG2H.ApproximateHeightAxis);\n _axisType = (0, $6sU8d$ColumnAxisType).AGE;\n }\n const { sections: sections, units: units, totalHeight: totalHeight } = (0, $610tc.usePreparedColumnUnits)(rawUnits, {\n axisType: _axisType,\n t_age: t_age,\n b_age: b_age,\n t_pos: t_pos,\n b_pos: b_pos,\n mergeSections: mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight: unconformityHeight,\n pixelScale: pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities: collapseSmallUnconformities,\n scale: // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale: hybridScale\n });\n if (sections.length === 0) return $4721fb147cb3f5e1$var$h(\"div.column-container.empty\", $4721fb147cb3f5e1$var$h((0, $6sU8d$NonIdealState), {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\"\n }));\n let main = $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$var$ColumnInner, {\n columnRef: ref,\n ageAxisComponent: ageAxisComponent,\n ...rest\n }, [\n children,\n $4721fb147cb3f5e1$var$h.if(showUnitPopover)((0, $2KV3o.UnitSelectionPopover)),\n $4721fb147cb3f5e1$var$h.if(keyboardNavigation)((0, $5SO8b.UnitKeyboardNavigation), {\n units: units\n })\n ]);\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */ let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;\n if (_allowUnitSelection) main = $4721fb147cb3f5e1$var$h((0, $5SO8b.UnitSelectionProvider), {\n columnRef: ref,\n onUnitSelected: onUnitSelected,\n selectedUnit: selectedUnit,\n units: units\n }, main);\n return $4721fb147cb3f5e1$var$h((0, $wtIgl.MacrostratColumnDataProvider), {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: _axisType\n }, main);\n}\nfunction $4721fb147cb3f5e1$var$ColumnInner(props) {\n const padding = (0, $6sU8d$extractPadding)(props);\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars = {\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 const { unitComponent: unitComponent = (0, $7tWYE.UnitComponent), 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, $4hG2H.CompositeAgeAxis) } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) columnWidth = width;\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) showLabelColumn = false;\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) _showTimescale = true;\n _showTimescale = axisType == (0, $6sU8d$ColumnAxisType).AGE && _showTimescale;\n return $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$export$2194471aa3d52446, {\n ...$4721fb147cb3f5e1$var$useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className: className\n }, $4721fb147cb3f5e1$var$h(\"div.column\", {\n ref: columnRef\n }, [\n $4721fb147cb3f5e1$var$h(ageAxisComponent),\n $4721fb147cb3f5e1$var$h.if(_showTimescale)((0, $7exMg.CompositeTimescale), {\n levels: timescaleLevels\n }),\n $4721fb147cb3f5e1$var$h((0, $7exMg.SectionsColumn), {\n unitComponent: unitComponent,\n showLabels: showLabels,\n width: width,\n columnWidth: columnWidth,\n showLabelColumn: showLabelColumn,\n clipUnits: clipUnits,\n unconformityLabels: unconformityLabels,\n maxInternalColumns: maxInternalColumns\n }),\n children\n ]));\n}\nfunction $4721fb147cb3f5e1$var$useMouseEventHandlers(_onMouseOver = null) {\n /** Click event handler */ // Click handler for unit selection\n const dispatch = (0, $5SO8b.useUnitSelectionDispatch)();\n const onClick = (0, $6sU8d$useCallback)((evt)=>{\n dispatch?.(null, null, evt);\n }, [\n dispatch\n ]);\n /** Hover event handlers */ const scale = (0, $wtIgl.useCompositeScale)();\n const onMouseOver = (0, $6sU8d$useCallback)((evt)=>{\n const height = scale.invert(evt.clientY - evt.currentTarget.getBoundingClientRect().top);\n _onMouseOver?.(null, height, evt);\n }, [\n scale,\n _onMouseOver\n ]);\n const onMouseOut = (0, $6sU8d$useCallback)(()=>{\n _onMouseOver?.(null, null, null);\n }, [\n _onMouseOver\n ]);\n if (_onMouseOver == null) return {\n onClick: onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined\n };\n return {\n onMouseOver: onMouseOver,\n onMouseMove: onMouseOver,\n onMouseOut: onMouseOut,\n onClick: onClick\n };\n}\nfunction $4721fb147cb3f5e1$export$2194471aa3d52446(props) {\n const { className: className, ...rest } = props;\n const darkMode = (0, $6sU8d$useDarkMode)();\n return $4721fb147cb3f5e1$var$h((0, $6sU8d$Box), {\n className: (0, $6sU8d$classnames)(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false\n }, \"column-container\"),\n ...rest\n });\n}\nfunction $4721fb147cb3f5e1$export$fcdf79c491a4504f({ data: data, showColumnID: showColumnID = true }) {\n if (data == null) return null;\n return $4721fb147cb3f5e1$var$h(\"div.column-info\", [\n $4721fb147cb3f5e1$var$h(\"div.column-title-row\", [\n $4721fb147cb3f5e1$var$h(\"h2\", data.col_name),\n $4721fb147cb3f5e1$var$h.if(showColumnID)(\"h4\", $4721fb147cb3f5e1$var$h((0, $iYfAq.Identifier), {\n id: data.col_id\n }))\n ]),\n $4721fb147cb3f5e1$var$h((0, $6sU8d$DataField), {\n row: true,\n label: \"Group\",\n value: data.col_group\n }),\n $4721fb147cb3f5e1$var$h((0, $iYfAq.ReferencesField), {\n refs: data.refs,\n inline: false,\n row: true,\n className: \"column-refs\"\n })\n ]);\n}\n\n\nexport {$4721fb147cb3f5e1$export$816b5d811295e6bc as Column, $4721fb147cb3f5e1$export$2194471aa3d52446 as ColumnContainer, $4721fb147cb3f5e1$export$fcdf79c491a4504f as ColumnBasicInfo};\n//# sourceMappingURL=column-views.18d54bbb.js.map\n","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":["ColumnAxisType","$6sU8d$ColumnAxisType","hyperStyled","$6sU8d$hyperStyled","extractPadding","$6sU8d$extractPadding","useDarkMode","$6sU8d$useDarkMode","Box","$6sU8d$Box","$6sU8d$classnames","useRef","$6sU8d$useRef","useCallback","$6sU8d$useCallback","NonIdealState","$6sU8d$NonIdealState","DataField","$6sU8d$DataField","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4721fb147cb3f5e1$exports","$4721fb147cb3f5e1$export$816b5d811295e6bc","$4721fb147cb3f5e1$export$2194471aa3d52446","$4721fb147cb3f5e1$export$fcdf79c491a4504f","$7YHvf","$7tWYE","$wtIgl","$5SO8b","$iYfAq","$2KV3o","$7exMg","$4hG2H","$76iYI","$610tc","$4721fb147cb3f5e1$var$h","a","__esModule","default","props","showUnitPopover","keyboardNavigation","mergeSections","onUnitSelected","selectedUnit","children","units","rawUnits","t_age","b_age","t_pos","b_pos","unconformityHeight","targetUnitHeight","pixelScale","minPixelScale","minSectionHeight","collapseSmallUnconformities","allowUnitSelection","hybridScale","scale","axisType","rest","ref","_targetUnitHeight","_minSectionHeight","_minPixelScale","_axisType","AGE","ageAxisComponent","CompositeAgeAxis","type","HybridScaleType","ApproximateHeight","ApproximateHeightAxis","sections","totalHeight","usePreparedColumnUnits","length","title","description","icon","main","$4721fb147cb3f5e1$var$ColumnInner","columnRef","if","UnitSelectionPopover","UnitKeyboardNavigation","_allowUnitSelection","UnitSelectionProvider","MacrostratColumnDataProvider","padding","paddingVars","paddingTop","paddingBottom","paddingLeft","paddingRight","unitComponent","UnitComponent","unconformityLabels","showLabels","width","_width","columnWidth","_columnWidth","showLabelColumn","_showLabelColumn","className","clipUnits","showTimescale","timescaleLevels","maxInternalColumns","onMouseOver","useMacrostratColumnData","_showTimescale","$4721fb147cb3f5e1$var$useMouseEventHandlers","_onMouseOver","dispatch","useUnitSelectionDispatch","onClick","evt","useCompositeScale","height","invert","clientY","currentTarget","getBoundingClientRect","top","onMouseOut","undefined","onMouseMove","style","CompositeTimescale","levels","SectionsColumn","darkMode","isEnabled","data","showColumnID","col_name","Identifier","col_id","row","label","value","col_group","ReferencesField","refs","inline","Column","ColumnContainer","ColumnBasicInfo"],"version":3,"file":"column-views.18d54bbb.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.92e29010.js";import"./column-views.573cb29d.js";import"./column-views.5f3b0b04.js";import"./column-views.f7d72702.js";import{useCallback as e,useMemo as t}from"react";import n from"@macrostrat/hyper";function a(e,t,n,a){Object.defineProperty(e,t,{get:n,set:a,enumerable:!0,configurable:!0})}var r=globalThis,i={},l={},o=r.parcelRequirea149;null==o&&((o=function(e){if(e in i)return i[e].exports;if(e in l){var t=l[e];delete l[e];var n={id:e,exports:{}};return i[e]=n,t.call(n.exports,n,n.exports),n.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){l[e]=t},r.parcelRequirea149=o),o.register;var u={};a(u,"BaseMeasurementsColumn",()=>p),a(u,"TruncatedList",()=>g);var s=o("wtIgl"),d=o("DkxHG"),m=o("iWhRv"),c=o("6KYbn");let f=n.styled(d&&d.__esModule?d.default:d);function p({data:n,noteComponent:a,width:r=500,paddingLeft:i=40,className:l,getUnitID:o=e=>e.unit_id,matchingUnit:u}){let{axisType:d,units:p}=(0,s.useMacrostratColumnData)(),g=u??e(e=>t=>o(t)===e.unit_id,[o]),_=t(()=>{if(null==n||null==p)return[];let e=Array.from(n.values()).map(e=>({data:e,unit:p.find(g(e))})).filter(e=>null!=e.unit);return e.sort((e,t)=>p.indexOf(e.unit)-p.indexOf(t.unit)),e.map(e=>{let{unit:t,data:n}=e,a=(0,m.getUnitHeightRange)(t,d);return{top_height:a[1],height:a[0],data:n,unit:t,id:t.unit_id}})},[n,p,u]);return null==n||null==p?null:f("div",{className:l},f(c.ColumnNotes,{width:r,paddingLeft:i,notes:_,noteComponent:a}))}function g({data:e,className:t,maxItems:n=5,itemRenderer:a=e=>f("span",e.data)}){let r=null,i=e;if(e.length>n){let t=e.length-n;i=e.slice(0,n),r=f("li.too-many",`and ${t} more`)}return f("ul.truncated-list",{className:t},[i.map((e,t)=>f("li.element",{key:t},f(a,{data:e}))),r])}export{p as BaseMeasurementsColumn,g as TruncatedList};
2
+ //# sourceMappingURL=column-views.19a84c01.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,e,C,C,W,C,K,O,A,Q,M,mB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,yB,I,G,E,E,gB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,SCMA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAahB,SAAS,EAAuB,CAAA,KACrC,CAAI,CAAA,cACJ,CAAa,CAAA,MACb,EAAQ,GAAA,CAAA,YACR,EAAc,EAAA,CAAA,UACd,CAAS,CAAA,UACT,EAAY,AAAC,GAAM,EAAE,OAAO,CAAA,aAC5B,CAAY,CACqB,EACjC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEtB,EACJ,GACA,AAAA,EACE,AAAC,GACQ,AAAC,GACC,EAAU,KAAO,EAAG,OAAO,CAGtC,CAAC,EAAU,EAGT,EAAe,AAAA,EAAQ,KAC3B,GAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,EAAe,MAAO,EAAE,CAC5C,IAAI,EAAc,MAAM,IAAI,CAAC,EAAK,MAAM,IACrC,GAAG,CAAC,AAAC,GACG,CAAA,CACL,KAAM,EACN,KAAM,EAAM,IAAI,CAAC,EAAc,GACjC,CAAA,GAED,MAAM,CAAC,AAAC,GAAM,AAAU,MAAV,EAAE,IAAI,EAQvB,OANA,EAAY,IAAI,CAAC,CAAC,EAAG,IAGZ,AAFI,EAAM,OAAO,CAAC,EAAE,IAAI,EACpB,EAAM,OAAO,CAAC,EAAE,IAAI,GAI1B,EAAY,GAAG,CAAC,AAAC,IACtB,GAAM,CAAA,KAAE,CAAI,CAAA,KAAE,CAAI,CAAE,CAAG,EACjB,EAAc,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,GAE7C,MAAO,CACL,WAAY,CAAW,CAAC,EAAE,CAC1B,OAAQ,CAAW,CAAC,EAAE,CACtB,KAAA,EACA,KAAA,EACA,GAAI,EAAK,OAAO,AAClB,CACF,EACF,EAAG,CAAC,EAAM,EAAO,EAAa,SAE9B,AAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,EAAsB,KAEnC,EACL,MACA,CAAE,UAAA,CAAU,EACZ,EAAE,EAAA,WAAU,CAAG,CACb,MAAA,EACA,YAAA,EACA,MAAA,EACA,cAAA,CACF,GAEJ,CASO,SAAS,EAAc,CAAA,KAC5B,CAAI,CAAA,UACJ,CAAS,CAAA,SACT,EAAW,CAAA,CAAA,aACX,EAAe,AAAC,GAAM,EAAE,OAAQ,EAAE,IAAI,CAAA,CACnB,EACnB,IAAI,EAAU,KACV,EAAK,EACT,GAAI,EAAK,MAAM,CAAG,EAAU,CAC1B,IAAM,EAAI,EAAK,MAAM,CAAG,EACxB,EAAK,EAAK,KAAK,CAAC,EAAG,GACnB,EAAU,EAAE,cAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAC5C,CAEA,OAAO,EAAE,oBAAqB,CAAE,UAAA,CAAU,EAAG,CAC3C,EAAG,GAAG,CAAC,CAAC,EAAG,IACF,EAAE,aAAc,CAAE,IAAK,CAAE,EAAG,EAAE,EAAc,CAAE,KAAM,CAAE,KAE/D,EACD,CACH,Q,K,sB,C,K,a","sources":["<anon>","packages/column-views/src/facets/base-sample-column.ts"],"sourcesContent":["import \"./column-views.92e29010.js\";\nimport \"./column-views.573cb29d.js\";\nimport \"./column-views.5f3b0b04.js\";\nimport \"./column-views.f7d72702.js\";\nimport {useCallback as $dyRjw$useCallback, useMemo as $dyRjw$useMemo} from \"react\";\nimport $dyRjw$macrostrathyper from \"@macrostrat/hyper\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $2e4f0c6a68e03928$exports = {};\n\n$parcel$export($2e4f0c6a68e03928$exports, \"BaseMeasurementsColumn\", () => $2e4f0c6a68e03928$export$ce5c4f2fdf4e644d);\n$parcel$export($2e4f0c6a68e03928$exports, \"TruncatedList\", () => $2e4f0c6a68e03928$export$653e47a7a0da0f0d);\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\n\n\nvar $DkxHG = parcelRequire(\"DkxHG\");\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $6KYbn = parcelRequire(\"6KYbn\");\nconst $2e4f0c6a68e03928$var$h = (0, $dyRjw$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($DkxHG))));\nfunction $2e4f0c6a68e03928$export$ce5c4f2fdf4e644d({ data: data, noteComponent: noteComponent, width: width = 500, paddingLeft: paddingLeft = 40, className: className, getUnitID: getUnitID = (d)=>d.unit_id, matchingUnit: matchingUnit }) {\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const _matchingUnit = matchingUnit ?? (0, $dyRjw$useCallback)((dz)=>{\n return (d)=>{\n return getUnitID(d) === dz.unit_id;\n };\n }, [\n getUnitID\n ]);\n const notes = (0, $dyRjw$useMemo)(()=>{\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values()).map((d)=>{\n return {\n data: d,\n unit: units.find(_matchingUnit(d))\n };\n }).filter((d)=>d.unit != null);\n unitRefData.sort((a, b)=>{\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n return unitRefData.map((d)=>{\n const { unit: unit, data: data } = d;\n const heightRange = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data: data,\n unit: unit,\n id: unit.unit_id\n };\n });\n }, [\n data,\n units,\n matchingUnit\n ]);\n if (data == null || units == null) return null;\n return $2e4f0c6a68e03928$var$h(\"div\", {\n className: className\n }, $2e4f0c6a68e03928$var$h((0, $6KYbn.ColumnNotes), {\n width: width,\n paddingLeft: paddingLeft,\n notes: notes,\n noteComponent: noteComponent\n }));\n}\nfunction $2e4f0c6a68e03928$export$653e47a7a0da0f0d({ data: data, className: className, maxItems: maxItems = 5, itemRenderer: itemRenderer = (p)=>$2e4f0c6a68e03928$var$h(\"span\", p.data) }) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = $2e4f0c6a68e03928$var$h(\"li.too-many\", `and ${n} more`);\n }\n return $2e4f0c6a68e03928$var$h(\"ul.truncated-list\", {\n className: className\n }, [\n d1.map((d, i)=>{\n return $2e4f0c6a68e03928$var$h(\"li.element\", {\n key: i\n }, $2e4f0c6a68e03928$var$h(itemRenderer, {\n data: d\n }));\n }),\n tooMany\n ]);\n}\n\n\nexport {$2e4f0c6a68e03928$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $2e4f0c6a68e03928$export$653e47a7a0da0f0d as TruncatedList};\n//# sourceMappingURL=column-views.19a84c01.js.map\n","import { useMacrostratColumnData } from \"../data-provider\";\nimport { useCallback, useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./base-sample-column.module.sass\";\nimport { getUnitHeightRange } from \"../prepare-units\";\nimport { ColumnNotes } from \"../notes\";\nconst h = hyper.styled(styles);\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n matchingUnit?: (dz: T) => (d: any) => boolean;\n}\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n getUnitID = (d) => d.unit_id,\n matchingUnit,\n}: BaseMeasurementsColumnProps<any>) {\n const { axisType, units } = useMacrostratColumnData();\n\n const _matchingUnit =\n matchingUnit ??\n useCallback(\n (dz) => {\n return (d) => {\n return getUnitID(d) === dz.unit_id;\n };\n },\n [getUnitID],\n );\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(_matchingUnit(d)),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units, matchingUnit]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n"],"names":["useCallback","$dyRjw$useCallback","useMemo","$dyRjw$useMemo","$dyRjw$macrostrathyper","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$2e4f0c6a68e03928$exports","$2e4f0c6a68e03928$export$ce5c4f2fdf4e644d","$2e4f0c6a68e03928$export$653e47a7a0da0f0d","$wtIgl","$DkxHG","$iWhRv","$6KYbn","$2e4f0c6a68e03928$var$h","styled","a","__esModule","default","data","noteComponent","width","paddingLeft","className","getUnitID","d","unit_id","matchingUnit","axisType","units","useMacrostratColumnData","_matchingUnit","dz","notes","unitRefData","Array","from","values","map","unit","find","filter","sort","b","v1","indexOf","heightRange","getUnitHeightRange","top_height","height","ColumnNotes","maxItems","itemRenderer","p","tooMany","d1","length","slice","i","key","BaseMeasurementsColumn","TruncatedList"],"version":3,"file":"column-views.19a84c01.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import e from"@macrostrat/hyper";import{useKeyHandler as t}from"@macrostrat/ui-components";import{createContext as n,useContext as l,useState as i,useEffect as u,useRef as o,useCallback as a}from"react";import{useStore as r,createStore as c}from"zustand";function s(e,t,n,l){Object.defineProperty(e,t,{get:n,set:l,enumerable:!0,configurable:!0})}var d={};s(d,"useUnitSelectionDispatch",()=>U),s(d,"useUnitSelectionStore",()=>p),s(d,"useSelectedUnit",()=>b),s(d,"UnitSelectionProvider",()=>S),s(d,"useUnitSelectionTarget",()=>g),s(d,"UnitKeyboardNavigation",()=>m);let f=n(null);function U(){let e=l(f);return null==e?()=>{}:r(e,e=>e.onUnitSelected)}function p(e){let t=l(f);return null==t?null:r(t,e)}function b(){return p(e=>e.selectedUnitData)}function S(t){let[n]=i(()=>c(e=>({selectedUnit:null,selectedUnitData:null,overlayPosition:null,setSelectedUnit(t){if(null==t)return void e({selectedUnit:null,selectedUnitData:null});"number"==typeof t?e({selectedUnit:t,selectedUnitData:null}):"unit_id"in t&&e({selectedUnit:t.unit_id,selectedUnitData:t})},onUnitSelected:(n,l=null,i=null)=>{if(null==n)return e({selectedUnit:null,selectedUnitData:null,overlayPosition:null});let u=null;u="number"==typeof n?t.units.find(e=>e.unit_id===n)||null:n;let o=t.columnRef?.current,a=null;if(t.onClickedColumn){let e={unitID:u?.unit_id,unit:u,target:l,height:o?.getBoundingClientRect().height||0};t.onClickedColumn(e,i)}if(null!=u&&null!=o&&null!=l){let e=o.getBoundingClientRect(),t=l.getBoundingClientRect();a={x:t.left-e.left,y:t.top-e.top,width:t.width,height:t.height}}return t.onUnitSelected?.(u?.unit_id,u),e({selectedUnit:u?.unit_id,selectedUnitData:u,overlayPosition:a})}}))),{units:l,selectedUnit:o}=t;return u(()=>{if(null!=o){let e=l?.find(e=>e.unit_id===o);n.setState({selectedUnit:o,selectedUnitData:e})}else n.setState({selectedUnit:null,selectedUnitData:null})},[o,l]),e(f.Provider,{value:n},t.children)}function g(e){let t=o(),n=b(),l=p(e=>e.onUnitSelected),i=n?.unit_id==e.unit_id,r=a(n=>{null!=l&&(l(e,t.current,n),n.stopPropagation())},[e,l]);return u(()=>{i&&null!=l&&(l(e,t.current,null),t.current?.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}))},[i,l]),[t,i,r]}function m({units:e}){let n=b(),l=U(),i=e.findIndex(e=>e.unit_id===n?.unit_id),u={38:i-1,40:i+1};return t(t=>{let n=u[t.keyCode];null==n||n<0||n>=e.length||(l(e[n],null,null),t.stopPropagation())},[e,i]),null}export{U as useUnitSelectionDispatch,p as useUnitSelectionStore,b as useSelectedUnit,S as UnitSelectionProvider,g as useUnitSelectionTarget,m as UnitKeyboardNavigation};
2
+ //# sourceMappingURL=column-views.1a3c399e.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["<anon>","packages/column-views/src/data-provider/unit-selection.ts"],"sourcesContent":["import $2lWH8$macrostrathyper from \"@macrostrat/hyper\";\nimport {useKeyHandler as $2lWH8$useKeyHandler} from \"@macrostrat/ui-components\";\nimport {createContext as $2lWH8$createContext, useContext as $2lWH8$useContext, useState as $2lWH8$useState, useEffect as $2lWH8$useEffect, useRef as $2lWH8$useRef, useCallback as $2lWH8$useCallback} from \"react\";\nimport {useStore as $2lWH8$useStore, createStore as $2lWH8$createStore} from \"zustand\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $cfa36458f00f4b0e$exports = {};\n\n$parcel$export($cfa36458f00f4b0e$exports, \"useUnitSelectionDispatch\", () => $cfa36458f00f4b0e$export$77a278d5ca56e309);\n$parcel$export($cfa36458f00f4b0e$exports, \"useUnitSelectionStore\", () => $cfa36458f00f4b0e$export$b220b1d3591dc9e5);\n$parcel$export($cfa36458f00f4b0e$exports, \"useSelectedUnit\", () => $cfa36458f00f4b0e$export$f0dd93f90aa8e5da);\n$parcel$export($cfa36458f00f4b0e$exports, \"UnitSelectionProvider\", () => $cfa36458f00f4b0e$export$f19d75b1d4b676a4);\n$parcel$export($cfa36458f00f4b0e$exports, \"useUnitSelectionTarget\", () => $cfa36458f00f4b0e$export$cbbec12b1451fe7d);\n$parcel$export($cfa36458f00f4b0e$exports, \"UnitKeyboardNavigation\", () => $cfa36458f00f4b0e$export$70f5ee19650fc7d1);\n\n\n\n\nconst $cfa36458f00f4b0e$var$UnitSelectionContext = (0, $2lWH8$createContext)(null);\nfunction $cfa36458f00f4b0e$export$77a278d5ca56e309() {\n const store = (0, $2lWH8$useContext)($cfa36458f00f4b0e$var$UnitSelectionContext);\n if (store == null) return ()=>{};\n return (0, $2lWH8$useStore)(store, (state)=>state.onUnitSelected);\n}\nfunction $cfa36458f00f4b0e$export$b220b1d3591dc9e5(selector) {\n const store = (0, $2lWH8$useContext)($cfa36458f00f4b0e$var$UnitSelectionContext);\n if (store == null) return null;\n return (0, $2lWH8$useStore)(store, selector);\n}\nfunction $cfa36458f00f4b0e$export$f0dd93f90aa8e5da() {\n return $cfa36458f00f4b0e$export$b220b1d3591dc9e5((state)=>state.selectedUnitData);\n}\nfunction $cfa36458f00f4b0e$export$f19d75b1d4b676a4(props) {\n const [store] = (0, $2lWH8$useState)(()=>(0, $2lWH8$createStore)((set)=>({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n setSelectedUnit (selectedUnit) {\n if (selectedUnit == null) {\n set({\n selectedUnit: null,\n selectedUnitData: null\n });\n return;\n // If it's a number, set the selected unit\n } else if (typeof selectedUnit === \"number\") set({\n selectedUnit: selectedUnit,\n selectedUnitData: null\n });\n else if (\"unit_id\" in selectedUnit) set({\n selectedUnit: selectedUnit.unit_id,\n selectedUnitData: selectedUnit\n });\n },\n onUnitSelected: (input, target = null, event = null)=>{\n if (input == null) return set({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null\n });\n let unit = null;\n if (typeof input === \"number\") unit = props.units.find((u)=>u.unit_id === input) || null;\n else unit = input;\n const el = props.columnRef?.current;\n let overlayPosition = null;\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\n */ if (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n /** Ideally this would be defined at the column level */ const columnClickData = {\n unitID: unit?.unit_id,\n unit: unit,\n target: target,\n height: el?.getBoundingClientRect().height || 0\n };\n props.onClickedColumn(columnClickData, event);\n }\n if (unit != null && el != null && target != null) {\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height\n };\n }\n props.onUnitSelected?.(unit?.unit_id, unit);\n return set({\n selectedUnit: unit?.unit_id,\n selectedUnitData: unit,\n overlayPosition: overlayPosition\n });\n }\n })));\n const { units: units, selectedUnit: selectedUnit } = props;\n (0, $2lWH8$useEffect)(()=>{\n // Synchronize store with provided props\n if (selectedUnit != null) {\n const unitData = units?.find((u)=>u.unit_id === selectedUnit);\n store.setState({\n selectedUnit: selectedUnit,\n selectedUnitData: unitData\n });\n } else store.setState({\n selectedUnit: null,\n selectedUnitData: null\n });\n }, [\n selectedUnit,\n units\n ]);\n return (0, $2lWH8$macrostrathyper)($cfa36458f00f4b0e$var$UnitSelectionContext.Provider, {\n value: store\n }, props.children);\n}\nfunction $cfa36458f00f4b0e$export$cbbec12b1451fe7d(unit) {\n const ref = (0, $2lWH8$useRef)();\n const selectedUnit = $cfa36458f00f4b0e$export$f0dd93f90aa8e5da();\n const onSelectUnit = $cfa36458f00f4b0e$export$b220b1d3591dc9e5((state)=>state.onUnitSelected);\n const selected = selectedUnit?.unit_id == unit.unit_id;\n const onClick = (0, $2lWH8$useCallback)((evt)=>{\n if (onSelectUnit == null) return;\n onSelectUnit(unit, ref.current, evt);\n evt.stopPropagation();\n }, [\n unit,\n onSelectUnit\n ]);\n (0, $2lWH8$useEffect)(()=>{\n if (!selected || onSelectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n onSelectUnit(unit, ref.current, null);\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\"\n });\n }, [\n selected,\n onSelectUnit\n ]);\n return [\n ref,\n selected,\n onClick\n ];\n}\nfunction $cfa36458f00f4b0e$export$70f5ee19650fc7d1({ units: units }) {\n const selectedUnit = $cfa36458f00f4b0e$export$f0dd93f90aa8e5da();\n const selectUnit = $cfa36458f00f4b0e$export$77a278d5ca56e309();\n const ix = units.findIndex((unit)=>unit.unit_id === selectedUnit?.unit_id);\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1\n };\n (0, $2lWH8$useKeyHandler)((event)=>{\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n }, [\n units,\n ix\n ]);\n return null;\n}\n\n\nexport {$cfa36458f00f4b0e$export$77a278d5ca56e309 as useUnitSelectionDispatch, $cfa36458f00f4b0e$export$b220b1d3591dc9e5 as useUnitSelectionStore, $cfa36458f00f4b0e$export$f0dd93f90aa8e5da as useSelectedUnit, $cfa36458f00f4b0e$export$f19d75b1d4b676a4 as UnitSelectionProvider, $cfa36458f00f4b0e$export$cbbec12b1451fe7d as useUnitSelectionTarget, $cfa36458f00f4b0e$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};\n//# sourceMappingURL=column-views.1a3c399e.js.map\n","import { BaseUnit } from \"@macrostrat/api-types\";\nimport h from \"@macrostrat/hyper\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n RefObject,\n useRef,\n useCallback,\n} from \"react\";\nimport { createStore, StoreApi, useStore } from \"zustand\";\nimport type { RectBounds, IUnit } from \"../units/types\";\n\ntype UnitSelectDispatch = (\n unit: number | BaseUnit | null,\n target: HTMLElement | null,\n event: Event | null,\n) => void;\n\nconst UnitSelectionContext = createContext<StoreApi<UnitSelectionStore>>(null);\n\nexport function useUnitSelectionDispatch(): UnitSelectDispatch {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return () => {};\n }\n return useStore(store, (state) => state.onUnitSelected);\n}\n\nexport function useUnitSelectionStore<T>(\n selector: (state: UnitSelectionStore) => T,\n): T {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return null;\n }\n return useStore(store, selector);\n}\n\nexport function useSelectedUnit() {\n return useUnitSelectionStore((state) => state.selectedUnitData);\n}\n\ninterface UnitSelectionStore {\n selectedUnit: number | null;\n selectedUnitData: BaseUnit | null;\n overlayPosition: RectBounds | null;\n onUnitSelected: UnitSelectDispatch;\n setSelectedUnit: (unit: number | null) => void;\n}\n\nexport interface ColumnClickData {\n unitID: number | null;\n unit: BaseUnit | null;\n target: HTMLElement | null;\n height: number;\n // Room for boundary IDs eventually\n}\n\nexport function UnitSelectionProvider<T extends BaseUnit>(props: {\n children: ReactNode;\n columnRef?: RefObject<HTMLElement>;\n units: T[];\n selectedUnit: number | null;\n onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;\n onUnitSelected?: (unitID: number | null, unit: T | null) => void;\n}) {\n const [store] = useState(() =>\n createStore<UnitSelectionStore>((set) => ({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n setSelectedUnit(selectedUnit: number | null | BaseUnit) {\n if (selectedUnit == null) {\n set({ selectedUnit: null, selectedUnitData: null });\n return;\n // If it's a number, set the selected unit\n } else if (typeof selectedUnit === \"number\") {\n set({ selectedUnit, selectedUnitData: null });\n } else if (\"unit_id\" in selectedUnit) {\n set({\n selectedUnit: selectedUnit.unit_id,\n selectedUnitData: selectedUnit,\n });\n }\n },\n onUnitSelected: (\n input: number | T | null,\n target: HTMLElement = null,\n event: PointerEvent = null,\n ) => {\n if (input == null) {\n return set({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n });\n }\n\n let unit: T | null = null;\n if (typeof input === \"number\") {\n unit = props.units.find((u) => u.unit_id === input) || null;\n } else {\n unit = input;\n }\n\n const el = props.columnRef?.current;\n let overlayPosition = null;\n\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\n */\n if (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n\n /** Ideally this would be defined at the column level */\n const columnClickData: ColumnClickData = {\n unitID: unit?.unit_id,\n unit,\n target,\n height: el?.getBoundingClientRect().height || 0,\n };\n props.onClickedColumn(columnClickData, event);\n }\n\n if (unit != null && el != null && target != null) {\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n };\n }\n props.onUnitSelected?.(unit?.unit_id, unit);\n\n return set({\n selectedUnit: unit?.unit_id,\n selectedUnitData: unit,\n overlayPosition,\n });\n },\n })),\n );\n\n const { units, selectedUnit } = props;\n\n useEffect(() => {\n // Synchronize store with provided props\n if (selectedUnit != null) {\n const unitData = units?.find((u) => u.unit_id === selectedUnit);\n store.setState({ selectedUnit, selectedUnitData: unitData });\n } else {\n store.setState({ selectedUnit: null, selectedUnitData: null });\n }\n }, [selectedUnit, units]);\n\n return h(UnitSelectionContext.Provider, { value: store }, props.children);\n}\n\nexport function useUnitSelectionTarget(\n unit: IUnit,\n): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void] {\n const ref = useRef<HTMLElement>();\n const selectedUnit = useSelectedUnit();\n const onSelectUnit = useUnitSelectionStore((state) => state.onUnitSelected);\n const selected = selectedUnit?.unit_id == unit.unit_id;\n\n const onClick = useCallback(\n (evt: Event) => {\n if (onSelectUnit == null) return;\n onSelectUnit(unit, ref.current, evt);\n evt.stopPropagation();\n },\n [unit, onSelectUnit],\n );\n\n useEffect(() => {\n if (!selected || onSelectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n onSelectUnit(unit, ref.current, null);\n\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\",\n });\n }, [selected, onSelectUnit]);\n\n return [ref, selected, onClick];\n}\n\nexport function UnitKeyboardNavigation<T extends BaseUnit>({\n units,\n}: {\n units: T[];\n}) {\n const selectedUnit = useSelectedUnit();\n const selectUnit = useUnitSelectionDispatch();\n\n const ix = units.findIndex((unit) => unit.unit_id === selectedUnit?.unit_id);\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n },\n [units, ix],\n );\n return null;\n}\n"],"names":["$2lWH8$macrostrathyper","useKeyHandler","$2lWH8$useKeyHandler","createContext","$2lWH8$createContext","useContext","$2lWH8$useContext","useState","$2lWH8$useState","useEffect","$2lWH8$useEffect","useRef","$2lWH8$useRef","useCallback","$2lWH8$useCallback","useStore","$2lWH8$useStore","createStore","$2lWH8$createStore","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$cfa36458f00f4b0e$exports","$cfa36458f00f4b0e$export$77a278d5ca56e309","$cfa36458f00f4b0e$export$b220b1d3591dc9e5","$cfa36458f00f4b0e$export$f0dd93f90aa8e5da","$cfa36458f00f4b0e$export$f19d75b1d4b676a4","$cfa36458f00f4b0e$export$cbbec12b1451fe7d","$cfa36458f00f4b0e$export$70f5ee19650fc7d1","$cfa36458f00f4b0e$var$UnitSelectionContext","store","state","onUnitSelected","selector","selectedUnitData","props","selectedUnit","overlayPosition","setSelectedUnit","unit_id","input","target","event","unit","units","find","u","el","columnRef","current","onClickedColumn","columnClickData","unitID","height","getBoundingClientRect","rect","targetRect","x","left","y","top","width","unitData","setState","Provider","value","children","ref","onSelectUnit","selected","onClick","evt","stopPropagation","scrollIntoView","behavior","block","inline","selectUnit","ix","findIndex","keyMap","nextIx","keyCode","length","useUnitSelectionDispatch","useUnitSelectionStore","useSelectedUnit","UnitSelectionProvider","useUnitSelectionTarget","UnitKeyboardNavigation"],"version":3,"file":"column-views.1a3c399e.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.07c503d3.js";import"./column-views.108db52e.js";import"./column-views.a1e29a15.js";function e(e,a){return Object.keys(a).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})}),e}var a=globalThis,t={},r={},c=a.parcelRequirea149;null==c&&((c=function(e){if(e in t)return t[e].exports;if(e in r){var a=r[e];delete r[e];var c={id:e,exports:{}};return t[e]=c,a.call(c.exports,c,c.exports),c.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,a){r[e]=a},a.parcelRequirea149=c),c.register;var o={},i=c("iYfAq"),f=c("2KV3o"),n=c("2tdcx");e(o,i),e(o,f),e(o,n);export{$4a89f93cd5289383$export$fbd245232df17557 as UnitDetailsPanel,$4a89f93cd5289383$export$fc503c39cc5cff43 as LegendPanelHeader,$4a89f93cd5289383$export$ec297f6f9a6ccad0 as UnitDetailsFeature,$4a89f93cd5289383$export$3b11bc38611c5941 as Duration,$4a89f93cd5289383$export$895d4931dd696e25 as ReferencesField,$4a89f93cd5289383$export$989167234458594d as Identifier,$4a89f93cd5289383$export$37ebfd237811b1eb as AgeLabel,$4a89f93cd5289383$export$b6867fc5221f9f65 as ClickableText,$1c6e0a5d10814cef$export$6716aecc2c9afbe2 as UnitDetailsPopover,$1c6e0a5d10814cef$export$db1115efab13710d as UnitSelectionPopover,$a8b0b0b16d1f0073$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
2
+ //# sourceMappingURL=column-views.29483479.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,S,E,E,G,E,E,G,E,E,U,6C,gB,C,6C,iB,C,6C,kB,C,6C,Q,C,6C,e,C,6C,U,C,6C,Q,C,6C,a,C,6C,kB,C,6C,oB,C,6C,8B","sources":["<anon>","packages/column-views/src/unit-details/index.ts"],"sourcesContent":["import \"./column-views.07c503d3.js\";\nimport \"./column-views.108db52e.js\";\nimport \"./column-views.a1e29a15.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $af300f8688b62310$exports = {};\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\n\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\nvar $2tdcx = parcelRequire(\"2tdcx\");\n$parcel$exportWildcard($af300f8688b62310$exports, $iYfAq);\n$parcel$exportWildcard($af300f8688b62310$exports, $2KV3o);\n$parcel$exportWildcard($af300f8688b62310$exports, $2tdcx);\n\n\nexport {$4a89f93cd5289383$export$fbd245232df17557 as UnitDetailsPanel, $4a89f93cd5289383$export$fc503c39cc5cff43 as LegendPanelHeader, $4a89f93cd5289383$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $4a89f93cd5289383$export$3b11bc38611c5941 as Duration, $4a89f93cd5289383$export$895d4931dd696e25 as ReferencesField, $4a89f93cd5289383$export$989167234458594d as Identifier, $4a89f93cd5289383$export$37ebfd237811b1eb as AgeLabel, $4a89f93cd5289383$export$b6867fc5221f9f65 as ClickableText, $1c6e0a5d10814cef$export$6716aecc2c9afbe2 as UnitDetailsPopover, $1c6e0a5d10814cef$export$db1115efab13710d as UnitSelectionPopover, $a8b0b0b16d1f0073$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};\n//# sourceMappingURL=column-views.29483479.js.map\n","export * from \"./panel\";\nexport * from \"./popover\";\nexport * from \"./modal-panel\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$af300f8688b62310$exports","$iYfAq","$2KV3o","$2tdcx","$4a89f93cd5289383$export$fbd245232df17557","UnitDetailsPanel","$4a89f93cd5289383$export$fc503c39cc5cff43","LegendPanelHeader","$4a89f93cd5289383$export$ec297f6f9a6ccad0","UnitDetailsFeature","$4a89f93cd5289383$export$3b11bc38611c5941","Duration","$4a89f93cd5289383$export$895d4931dd696e25","ReferencesField","$4a89f93cd5289383$export$989167234458594d","Identifier","$4a89f93cd5289383$export$37ebfd237811b1eb","AgeLabel","$4a89f93cd5289383$export$b6867fc5221f9f65","ClickableText","$1c6e0a5d10814cef$export$6716aecc2c9afbe2","UnitDetailsPopover","$1c6e0a5d10814cef$export$db1115efab13710d","UnitSelectionPopover","$a8b0b0b16d1f0073$export$cfdbe8496aa51962","UnitDetailsPanelWithNavigation"],"version":3,"file":"column-views.29483479.js.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ .VC2fja_taxa-occurrences-matrix{color:var(--column-text-color)}.VC2fja_taxa-occurrences-matrix line{stroke:var(--column-stroke-color);stroke-width:2px}.VC2fja_taxa-occurrences-matrix text.VC2fja_taxon-name{fill:var(--column-text-color);text-anchor:end;position:sticky;top:0;transform:rotate(90deg)translateY(4px)}.VC2fja_taxon-ranges{position:relative}.VC2fja_taxon-ranges>svg{height:100%;position:absolute}.VC2fja_taxon-labels{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute}.VC2fja_taxon-labels .VC2fja_taxon-label{height:100%;position:absolute}.VC2fja_taxon-labels .VC2fja_taxon-label-inner{top:calc(var(--label-width,200px) - 10px);transform-origin:0 100%;background-color:var(--column-background-color);position:sticky;transform:rotate(-90deg)translate(10px,8px)}.VC2fja_taxon-labels .VC2fja_taxon-label-text{text-align:left;max-width:300px;padding:0 8px;font-style:italic}
2
+ /*# sourceMappingURL=column-views.29eb25bd.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"ACAA,+DAEE,wFAGA,kKAOF,uCAEE,uDAIF,6FAOE,uEAIA,6NAOA","sources":["column-views.29eb25bd.css","packages/column-views/src/facets/fossils/index.module.sass"],"sourcesContent":[".VC2fja_taxa-occurrences-matrix {\n color: var(--column-text-color);\n}\n\n.VC2fja_taxa-occurrences-matrix line {\n stroke: var(--column-stroke-color);\n stroke-width: 2px;\n}\n\n.VC2fja_taxa-occurrences-matrix text.VC2fja_taxon-name {\n fill: var(--column-text-color);\n text-anchor: end;\n position: sticky;\n top: 0;\n transform: rotate(90deg)translate(0, 4px);\n}\n\n.VC2fja_taxon-ranges {\n position: relative;\n}\n\n.VC2fja_taxon-ranges > svg {\n height: 100%;\n position: absolute;\n}\n\n.VC2fja_taxon-labels {\n z-index: 10;\n pointer-events: none;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.VC2fja_taxon-labels .VC2fja_taxon-label {\n height: 100%;\n position: absolute;\n}\n\n.VC2fja_taxon-labels .VC2fja_taxon-label-inner {\n top: calc(var(--label-width, 200px) - 10px);\n transform-origin: 0 100%;\n background-color: var(--column-background-color);\n position: sticky;\n transform: rotate(-90deg)translate(10px, 8px);\n}\n\n.VC2fja_taxon-labels .VC2fja_taxon-label-text {\n text-align: left;\n max-width: 300px;\n padding: 0 8px;\n font-style: italic;\n}\n/*# sourceMappingURL=column-views.29eb25bd.css.map */\n",".taxa-occurrences-matrix\n color: var(--column-text-color)\n line\n stroke: var(--column-stroke-color)\n stroke-width: 2px\n text.taxon-name\n fill: var(--column-text-color)\n transform: rotate(90deg) translate(0, 4px)\n text-anchor: end\n position: sticky\n top: 0\n\n.taxon-ranges\n position: relative\n &>svg\n position: absolute\n height: 100%\n\n.taxon-labels\n z-index: 10\n position: absolute\n width: 100%\n height: 100%\n pointer-events: none\n\n .taxon-label\n position: absolute\n height: 100%\n\n .taxon-label-inner\n position: sticky\n top: calc(var(--label-width, 200px) - 10px)\n transform: rotate(-90deg) translate(10px, 8px)\n transform-origin: bottom left\n background-color: var(--column-background-color)\n\n .taxon-label-text\n\n font-style: italic\n text-align: left\n padding: 0 8px\n max-width: 300px\n //position: sticky\n //top: 200px\n"],"names":[],"version":3,"file":"column-views.29eb25bd.css.map","sourceRoot":"../../../../"}
@@ -0,0 +1,2 @@
1
+ import"./column-views.f0f5cefd.js";import"./column-views.1261be59.js";import"./column-views.6099a3a9.js";import"./column-views.92e29010.js";import"./column-views.07c503d3.js";import{useMemo as e}from"react";import{useMacrostratIntervals as t,Timescale as n,TimescaleOrientation as o}from"@macrostrat/timescale";import{SVG as a,ColumnAxisType as s}from"@macrostrat/column-components";import i from"@macrostrat/hyper";import{Value as l}from"@macrostrat/data-components";var r=globalThis,c={},m={},u=r.parcelRequirea149;null==u&&((u=function(e){if(e in c)return c[e].exports;if(e in m){var t=m[e];delete m[e];var n={id:e,exports:{}};return c[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){m[e]=t},r.parcelRequirea149=u),u.register;var p=u("4Abge"),d=u("7YHvf"),f=u("lgTAP"),b=u("wtIgl"),h=u("iYfAq");let g=i.styled(d&&d.__esModule?d.default:d);function x(e){let{unconformityLabels:t=!0,unitComponent:n,unitComponentProps:o,showLabels:a=!0,width:s=300,columnWidth:i=150,showLabelColumn:l=!0,clipUnits:r=!0,maxInternalColumns:c}=e,m=(0,b.useMacrostratUnits)(),u=m[0]?.unit_id;return g(p.LabelTrackerProvider,{units:m,key:u},[g(C,{width:i,unitComponent:n,unitComponentProps:o,showLabels:a,clipUnits:r,maxInternalColumns:c,unconformityLabels:t}),g.if(l)(p.SectionLabelsColumn,{width:s-i})])}function C(e){let{width:t,showLabels:n,unitComponent:o,unitComponentProps:s,clipUnits:i,maxInternalColumns:l,axisType:r,unconformityLabels:c=!0}=e,{sections:m,totalHeight:u}=(0,b.useMacrostratColumnData)(),p=m.map(e=>e.scaleInfo),d=t-2;return g("div.section-units-container",{style:{width:t}},[g(a,{className:"sections",height:u,innerWidth:d,paddingH:1},m.map(e=>{let{units:t,scaleInfo:a,section_id:r}=e;return g(v,{units:t,scaleInfo:a,key:`section-${r}`,unitComponent:o,unitComponentProps:s,showLabels:n,width:d,clipUnits:i,maxInternalColumns:l})})),g.if(c)(T,{width:t,sections:p,verbose:!1})])}function v(t){let{units:n,scaleInfo:o,unitComponent:a,showLabels:s=!0,width:i=300,unitComponentProps:l,className:r,clipUnits:c=!0,maxInternalColumns:m}=t,{domain:u,pixelScale:d,pixelHeight:b,scale:h}=o,x=e(()=>({...l,nColumns:Math.min(m??Math.floor(i/10),l?.nColumns??1/0,Math.max(...n.map(e=>e.column))+1)}),[n,l,m,i]);return g("g.section",{className:r,style:{"--section-height":`${b}px`,"--section-width":`${i}px`},transform:`translate(0 ${o.offset})`},g(f.MacrostratColumnProvider,{units:n,domain:u,pixelScale:d,scale:h},g(p.CompositeUnitsColumn,{width:i,showLabels:s,unitComponent:a,unitComponentProps:x,clipToFrame:c})))}function w(e){let{sections:t}=(0,b.useMacrostratColumnData)();return g(y,{packages:t.map(e=>e.scaleInfo),...e})}function y(e){let a,{levels:i=3,packages:l,unconformityLabels:r=!1}=e,c=t((0,f.useMacrostratBaseURL)()),m=(a="number"==typeof i?[2,Math.max(2+Math.min(i,5)-1,1)]:i)[1]-a[0]+1;return g("div.timescale-column",[g("div.timescales",l.map(e=>{let{pixelHeight:t,paddingTop:s,key:i,scale:l}=e;return g("div.timescale-container",{style:{paddingTop:s,"--timescale-level-count":m},key:i},[g(n,{orientation:o.VERTICAL,length:t,levels:a,absoluteAgeScale:!0,showAgeAxis:!1,scale:l,intervals:c})])})),g.if(r)(T,{width:"100%",sections:l,className:"unconformity-labels",axisType:s.AGE})])}function T(e){let{width:t,sections:n,className:o,axisType:a,verbose:s}=e;return g("div.unconformity-labels",{style:{width:t},className:o},n.map((e,o)=>{let i=n[o-1],l=e.offset-e.paddingTop;return g(A,{axisType:a,upperAge:i?.domain[0],lowerAge:e.domain[1],style:{width:t,height:e.paddingTop,top:l},verbose:s})}))}function A({upperAge:e,lowerAge:t,style:n,axisType:o,verbose:a=!1}){let i;if(null==e||null==t)return null;let r=Math.abs(e-t),c=null;r>1e3?c="giga":r>100?c="mega":r>10?c="large":r<1&&(c="small"),i=o===s.DEPTH||o===s.HEIGHT?g(l,{value:r.toLocaleString("en-US",{maximumFractionDigits:2}),unit:"m"}):g(h.Duration,{value:r});let m=null;return a&&(m=g([" ",g("span.prefix"," gap")])),g("div.unconformity",{style:n,className:c},[g("div.unconformity-inner",g("div.unconformity-text",[i,m]))])}export{x as SectionsColumn,T as UnconformityLabels,w as CompositeTimescale,y as CompositeTimescaleCore};
2
+ //# sourceMappingURL=column-views.312db572.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,W,C,K,O,A,Q,0B,C,C,a,C,C,wB,C,K,uB,A,Q,O,C,C,kB,C,K,+B,A,Q,M,mB,A,Q,S,C,K,6B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAyBhB,SAAS,EAAe,CAAyB,EACtD,GAAM,CAAA,mBACJ,EAAqB,CAAA,CAAA,CAAA,cACrB,CAAa,CAAA,mBACb,CAAkB,CAAA,WAClB,EAAa,CAAA,CAAA,CAAA,MACb,EAAQ,GAAA,CAAA,YACR,EAAc,GAAA,CAAA,gBACd,EAAkB,CAAA,CAAA,CAAA,UAClB,EAAY,CAAA,CAAA,CAAA,mBACZ,CAAkB,CACnB,CAAG,EAEE,EAAQ,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,IAGR,EAAM,CAAK,CAAC,EAAE,EAAE,QAEtB,OAAO,EAAE,EAAA,oBAAmB,CAAG,CAAE,MAAA,EAAO,IAAA,CAAI,EAAG,CAC7C,EAAE,EAAoB,CACpB,MAAO,EACP,cAAA,EACA,mBAAA,EACA,WAAA,EACA,UAAA,EACA,mBAAA,EACA,mBAAA,CACF,GACA,EAAE,EAAE,CAAC,GAAiB,EAAA,mBAAkB,CAAG,CACzC,MAAO,EAAQ,CACjB,GACD,CACH,CAEA,SAAS,EAAmB,CAAyB,EACnD,GAAM,CAAA,MACJ,CAAK,CAAA,WACL,CAAU,CAAA,cACV,CAAa,CAAA,mBACb,CAAkB,CAAA,UAClB,CAAS,CAAA,mBACT,CAAkB,CAAA,SAClB,CAAQ,CAAA,mBACR,EAAqB,CAAA,CAAA,CACtB,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAA,YAAE,CAA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","sources":["<anon>","packages/column-views/src/section.ts"],"sourcesContent":["import \"./column-views.f0f5cefd.js\";\nimport \"./column-views.1261be59.js\";\nimport \"./column-views.6099a3a9.js\";\nimport \"./column-views.92e29010.js\";\nimport \"./column-views.07c503d3.js\";\nimport {useMemo as $dA1GT$useMemo} from \"react\";\nimport {useMacrostratIntervals as $dA1GT$useMacrostratIntervals, Timescale as $dA1GT$Timescale, TimescaleOrientation as $dA1GT$TimescaleOrientation} from \"@macrostrat/timescale\";\nimport {SVG as $dA1GT$SVG, ColumnAxisType as $dA1GT$ColumnAxisType} from \"@macrostrat/column-components\";\nimport $dA1GT$macrostrathyper from \"@macrostrat/hyper\";\nimport {Value as $dA1GT$Value} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\nvar $4Abge = parcelRequire(\"4Abge\");\n\n\n\n\n\nvar $7YHvf = parcelRequire(\"7YHvf\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\n\nconst $69e10b1ec4ac73f6$var$h = (0, $dA1GT$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($7YHvf))));\nfunction $69e10b1ec4ac73f6$export$38cb0ab5af8f50d7(props) {\n const { unconformityLabels: unconformityLabels = true, unitComponent: unitComponent, unitComponentProps: unitComponentProps, showLabels: showLabels = true, width: width = 300, columnWidth: columnWidth = 150, showLabelColumn: showLabelColumn = true, clipUnits: clipUnits = true, maxInternalColumns: maxInternalColumns } = props;\n const units = (0, $wtIgl.useMacrostratUnits)();\n // Get a unique key for the column\n const key = units[0]?.unit_id;\n return $69e10b1ec4ac73f6$var$h((0, $4Abge.LabelTrackerProvider), {\n units: units,\n key: key\n }, [\n $69e10b1ec4ac73f6$var$h($69e10b1ec4ac73f6$var$SectionUnitsColumn, {\n width: columnWidth,\n unitComponent: unitComponent,\n unitComponentProps: unitComponentProps,\n showLabels: showLabels,\n clipUnits: clipUnits,\n maxInternalColumns: maxInternalColumns,\n unconformityLabels: unconformityLabels\n }),\n $69e10b1ec4ac73f6$var$h.if(showLabelColumn)((0, $4Abge.SectionLabelsColumn), {\n width: width - columnWidth\n })\n ]);\n}\nfunction $69e10b1ec4ac73f6$var$SectionUnitsColumn(props) {\n const { width: width, showLabels: showLabels, unitComponent: unitComponent, unitComponentProps: unitComponentProps, clipUnits: clipUnits, maxInternalColumns: maxInternalColumns, axisType: axisType, unconformityLabels: unconformityLabels = true } = props;\n const { sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const scaleData = sections.map((section)=>{\n return section.scaleInfo;\n });\n const innerWidth = width - 2;\n return $69e10b1ec4ac73f6$var$h(\"div.section-units-container\", {\n style: {\n width: width\n }\n }, [\n $69e10b1ec4ac73f6$var$h((0, $dA1GT$SVG), {\n className: \"sections\",\n height: totalHeight,\n innerWidth: innerWidth,\n paddingH: 1\n }, sections.map((group)=>{\n const { units: units, scaleInfo: scaleInfo, section_id: section_id } = group;\n const key = `section-${section_id}`;\n return $69e10b1ec4ac73f6$var$h($69e10b1ec4ac73f6$var$SectionUnits, {\n units: units,\n scaleInfo: scaleInfo,\n key: key,\n unitComponent: unitComponent,\n unitComponentProps: unitComponentProps,\n showLabels: showLabels,\n width: innerWidth,\n clipUnits: clipUnits,\n maxInternalColumns: maxInternalColumns\n });\n })),\n $69e10b1ec4ac73f6$var$h.if(unconformityLabels)($69e10b1ec4ac73f6$export$e12e53eeee198b99, {\n width: width,\n sections: scaleData,\n verbose: false\n })\n ]);\n}\nfunction $69e10b1ec4ac73f6$var$SectionUnits(props) {\n // Section with \"squishy\" timescale\n const { units: units, scaleInfo: scaleInfo, unitComponent: unitComponent, showLabels: showLabels = true, width: width = 300, unitComponentProps: unitComponentProps, className: className, clipUnits: clipUnits = true, maxInternalColumns: maxInternalColumns } = props;\n const { domain: domain, pixelScale: pixelScale, pixelHeight: pixelHeight, scale: scale } = scaleInfo;\n /** Ensure that we can arrange units into the maximum number\n * of columns defined by unitComponentProps, but that we don't\n * use more than necessary.\n */ const _unitComponentProps = (0, $dA1GT$useMemo)(()=>{\n return {\n ...unitComponentProps,\n nColumns: Math.min(maxInternalColumns ?? Math.floor(width / 10), unitComponentProps?.nColumns ?? Infinity, Math.max(...units.map((d)=>d.column)) + 1)\n };\n }, [\n units,\n unitComponentProps,\n maxInternalColumns,\n width\n ]);\n const style = {\n \"--section-height\": `${pixelHeight}px`,\n \"--section-width\": `${width}px`\n };\n return $69e10b1ec4ac73f6$var$h(\"g.section\", {\n className: className,\n style: style,\n transform: `translate(0 ${scaleInfo.offset})`\n }, $69e10b1ec4ac73f6$var$h((0, $lgTAP.MacrostratColumnProvider), {\n units: units,\n domain: domain,\n pixelScale: pixelScale,\n scale: scale\n }, $69e10b1ec4ac73f6$var$h((0, $4Abge.CompositeUnitsColumn), {\n width: width,\n showLabels: showLabels,\n unitComponent: unitComponent,\n unitComponentProps: _unitComponentProps,\n clipToFrame: clipUnits\n })));\n}\nfunction $69e10b1ec4ac73f6$export$db2df5a73a6fbe10(props) {\n const { sections: sections } = (0, $wtIgl.useMacrostratColumnData)();\n const sectionScales = sections.map((section)=>{\n return section.scaleInfo;\n });\n return $69e10b1ec4ac73f6$var$h($69e10b1ec4ac73f6$export$463f46772c64d403, {\n packages: sectionScales,\n ...props\n });\n}\nfunction $69e10b1ec4ac73f6$export$463f46772c64d403(props) {\n const { levels: levels = 3, packages: packages, unconformityLabels: unconformityLabels = false } = props;\n // Use intervals from Macrostrat API\n const baseURL = (0, $lgTAP.useMacrostratBaseURL)();\n const intervals = (0, $dA1GT$useMacrostratIntervals)(baseURL);\n let _levels;\n if (typeof levels === \"number\") // If levels is a number, use the most common starting level\n _levels = [\n 2,\n Math.max(2 + Math.min(levels, 5) - 1, 1)\n ];\n else _levels = levels;\n const nCols = _levels[1] - _levels[0] + 1;\n return $69e10b1ec4ac73f6$var$h(\"div.timescale-column\", [\n $69e10b1ec4ac73f6$var$h(\"div.timescales\", packages.map((group)=>{\n const { pixelHeight: pixelHeight, paddingTop: paddingTop, key: key, scale: scale } = group;\n return $69e10b1ec4ac73f6$var$h(\"div.timescale-container\", {\n style: {\n paddingTop: paddingTop,\n \"--timescale-level-count\": nCols\n },\n key: key\n }, [\n $69e10b1ec4ac73f6$var$h((0, $dA1GT$Timescale), {\n orientation: (0, $dA1GT$TimescaleOrientation).VERTICAL,\n length: pixelHeight,\n levels: _levels,\n absoluteAgeScale: true,\n showAgeAxis: false,\n scale: scale,\n intervals: intervals\n })\n ]);\n })),\n $69e10b1ec4ac73f6$var$h.if(unconformityLabels)($69e10b1ec4ac73f6$export$e12e53eeee198b99, {\n width: \"100%\",\n sections: packages,\n className: \"unconformity-labels\",\n axisType: (0, $dA1GT$ColumnAxisType).AGE\n })\n ]);\n}\nfunction $69e10b1ec4ac73f6$export$e12e53eeee198b99(props) {\n const { width: width, sections: sections, className: className, axisType: axisType, verbose: verbose } = props;\n return $69e10b1ec4ac73f6$var$h(\"div.unconformity-labels\", {\n style: {\n width: width\n },\n className: className\n }, sections.map((scaleInfo, i)=>{\n const lastGroup = sections[i - 1];\n const top = scaleInfo.offset - scaleInfo.paddingTop;\n const upperAge = lastGroup?.domain[0];\n const lowerAge = scaleInfo.domain[1];\n return $69e10b1ec4ac73f6$var$h($69e10b1ec4ac73f6$var$Unconformity, {\n axisType: axisType,\n upperAge: upperAge,\n lowerAge: lowerAge,\n style: {\n width: width,\n height: scaleInfo.paddingTop,\n top: top\n },\n verbose: verbose\n });\n }));\n}\nfunction $69e10b1ec4ac73f6$var$Unconformity({ upperAge: upperAge, lowerAge: lowerAge, style: style, axisType: axisType, verbose: verbose = false }) {\n if (upperAge == null || lowerAge == null) return null;\n const ageGap = Math.abs(upperAge - lowerAge);\n let className = null;\n if (ageGap > 1000) className = \"giga\";\n else if (ageGap > 100) className = \"mega\";\n else if (ageGap > 10) className = \"large\";\n else if (ageGap < 1) className = \"small\";\n let val;\n if (axisType === (0, $dA1GT$ColumnAxisType).DEPTH || axisType === (0, $dA1GT$ColumnAxisType).HEIGHT) {\n const _txt = ageGap.toLocaleString(\"en-US\", {\n maximumFractionDigits: 2\n });\n val = $69e10b1ec4ac73f6$var$h((0, $dA1GT$Value), {\n value: _txt,\n unit: \"m\"\n });\n } else val = $69e10b1ec4ac73f6$var$h((0, $iYfAq.Duration), {\n value: ageGap\n });\n let prefix = null;\n if (verbose) prefix = $69e10b1ec4ac73f6$var$h([\n \" \",\n $69e10b1ec4ac73f6$var$h(\"span.prefix\", \" gap\")\n ]);\n return $69e10b1ec4ac73f6$var$h(\"div.unconformity\", {\n style: style,\n className: className\n }, [\n $69e10b1ec4ac73f6$var$h(\"div.unconformity-inner\", $69e10b1ec4ac73f6$var$h(\"div.unconformity-text\", [\n val,\n prefix\n ]))\n ]);\n}\n\n\nexport {$69e10b1ec4ac73f6$export$38cb0ab5af8f50d7 as SectionsColumn, $69e10b1ec4ac73f6$export$e12e53eeee198b99 as UnconformityLabels, $69e10b1ec4ac73f6$export$db2df5a73a6fbe10 as CompositeTimescale, $69e10b1ec4ac73f6$export$463f46772c64d403 as CompositeTimescaleCore};\n//# sourceMappingURL=column-views.312db572.js.map\n","import {\n CompositeUnitsColumn,\n LabelTrackerProvider,\n SectionLabelsColumn,\n} from \"./units\";\nimport { ReactNode, FunctionComponent, useMemo } from \"react\";\nimport {\n Timescale,\n TimescaleOrientation,\n useMacrostratIntervals,\n} from \"@macrostrat/timescale\";\nimport { ColumnAxisType, SVG } from \"@macrostrat/column-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n MacrostratColumnProvider,\n useMacrostratBaseURL,\n} from \"./data-provider\";\nimport { Duration } from \"./unit-details\";\nimport { Value } from \"@macrostrat/data-components\";\nimport type { ExtUnit, PackageScaleLayoutData } from \"./prepare-units/types\";\n\nconst h = hyper.styled(styles);\n\nexport interface SectionSharedProps {\n unitComponent?: FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n children?: ReactNode;\n showLabelColumn?: boolean;\n axisType?: ColumnAxisType;\n className?: string;\n clipUnits?: boolean;\n maxInternalColumns?: number;\n // Space between sections\n verticalSpacing?: number;\n // Whether to render unconformity labels\n unconformityLabels?: boolean;\n}\n\nexport interface SectionProps extends SectionSharedProps {\n units: ExtUnit[];\n scaleInfo: PackageScaleLayoutData;\n}\n\nexport function SectionsColumn(props: SectionSharedProps) {\n const {\n unconformityLabels = true,\n unitComponent,\n unitComponentProps,\n showLabels = true,\n width = 300,\n columnWidth = 150,\n showLabelColumn = true,\n clipUnits = true,\n maxInternalColumns,\n } = props;\n\n const units = useMacrostratUnits();\n\n // Get a unique key for the column\n const key = units[0]?.unit_id;\n\n return h(LabelTrackerProvider, { units, key }, [\n h(SectionUnitsColumn, {\n width: columnWidth,\n unitComponent,\n unitComponentProps,\n showLabels,\n clipUnits,\n maxInternalColumns,\n unconformityLabels,\n }),\n h.if(showLabelColumn)(SectionLabelsColumn, {\n width: width - columnWidth,\n }),\n ]);\n}\n\nfunction SectionUnitsColumn(props: SectionSharedProps) {\n const {\n width,\n showLabels,\n unitComponent,\n unitComponentProps,\n clipUnits,\n maxInternalColumns,\n axisType,\n unconformityLabels = true,\n } = props;\n\n const { sections, totalHeight } = useMacrostratColumnData();\n\n const scaleData: PackageScaleLayoutData[] = sections.map((section) => {\n return section.scaleInfo;\n });\n\n const innerWidth = width - 2;\n\n return h(\"div.section-units-container\", { style: { width } }, [\n h(\n SVG,\n {\n className: \"sections\",\n height: totalHeight,\n innerWidth,\n paddingH: 1,\n },\n sections.map((group) => {\n const { units, scaleInfo, section_id } = group;\n\n const key = `section-${section_id}`;\n return h(\n SectionUnits,\n {\n units,\n scaleInfo,\n key,\n unitComponent,\n unitComponentProps,\n showLabels,\n width: innerWidth,\n clipUnits,\n maxInternalColumns,\n }, // This unconformity is with the section _above_\n );\n }),\n ),\n h.if(unconformityLabels)(UnconformityLabels, {\n width,\n sections: scaleData,\n verbose: false,\n }),\n ]);\n}\n\nfunction SectionUnits(props: SectionProps) {\n // Section with \"squishy\" timescale\n const {\n units,\n scaleInfo,\n unitComponent,\n showLabels = true,\n width = 300,\n unitComponentProps,\n className,\n clipUnits = true,\n maxInternalColumns,\n } = props;\n\n const { domain, pixelScale, pixelHeight, scale } = scaleInfo;\n\n /** Ensure that we can arrange units into the maximum number\n * of columns defined by unitComponentProps, but that we don't\n * use more than necessary.\n */\n const _unitComponentProps = useMemo(() => {\n return {\n ...unitComponentProps,\n nColumns: Math.min(\n maxInternalColumns ?? Math.floor(width / 10),\n unitComponentProps?.nColumns ?? Infinity,\n Math.max(...units.map((d) => d.column)) + 1,\n ),\n //axisType,\n };\n }, [units, unitComponentProps, maxInternalColumns, width]);\n\n const style = {\n \"--section-height\": `${pixelHeight}px`,\n \"--section-width\": `${width}px`,\n };\n\n return h(\n \"g.section\",\n { className, style, transform: `translate(0 ${scaleInfo.offset})` },\n h(\n MacrostratColumnProvider,\n {\n units,\n domain,\n pixelScale, // Actually pixels per myr,\n scale,\n },\n h(CompositeUnitsColumn, {\n width,\n showLabels,\n unitComponent,\n unitComponentProps: _unitComponentProps,\n clipToFrame: clipUnits,\n }),\n ),\n );\n}\n\ninterface CompositeTimescaleProps {\n levels?: [number, number] | number;\n}\n\nexport function CompositeTimescale(props: CompositeTimescaleProps) {\n const { sections } = useMacrostratColumnData();\n const sectionScales = sections.map((section) => {\n return section.scaleInfo;\n });\n\n return h(CompositeTimescaleCore, {\n packages: sectionScales,\n ...props,\n });\n}\n\ntype CompositeTimescaleCoreProps = CompositeTimescaleProps & {\n packages: PackageScaleLayoutData[];\n unconformityLabels?: boolean;\n};\n\nexport function CompositeTimescaleCore(props: CompositeTimescaleCoreProps) {\n const { levels = 3, packages, unconformityLabels = false } = props;\n\n // Use intervals from Macrostrat API\n const baseURL = useMacrostratBaseURL();\n const intervals = useMacrostratIntervals(baseURL);\n\n let _levels: [number, number];\n if (typeof levels === \"number\") {\n // If levels is a number, use the most common starting level\n _levels = [2, Math.max(2 + Math.min(levels, 5) - 1, 1)];\n } else {\n _levels = levels;\n }\n\n const nCols = _levels[1] - _levels[0] + 1;\n\n return h(\"div.timescale-column\", [\n h(\n \"div.timescales\",\n packages.map((group) => {\n const { pixelHeight, paddingTop, key, scale } = group;\n return h(\n \"div.timescale-container\",\n { style: { paddingTop, \"--timescale-level-count\": nCols }, key },\n [\n h(Timescale, {\n orientation: TimescaleOrientation.VERTICAL,\n length: pixelHeight,\n levels: _levels,\n absoluteAgeScale: true,\n showAgeAxis: false,\n scale,\n intervals,\n }),\n ],\n );\n }),\n ),\n h.if(unconformityLabels)(UnconformityLabels, {\n width: \"100%\",\n sections: packages,\n className: \"unconformity-labels\",\n axisType: ColumnAxisType.AGE,\n }),\n ]);\n}\n\nexport function UnconformityLabels(props: {\n width: string | number;\n sections: PackageScaleLayoutData[];\n axisType?: ColumnAxisType;\n className?: string;\n verbose?: boolean;\n}) {\n const { width, sections, className, axisType, verbose } = props;\n\n return h(\n \"div.unconformity-labels\",\n {\n style: {\n width,\n },\n className,\n },\n sections.map((scaleInfo, i) => {\n const lastGroup = sections[i - 1];\n const top = scaleInfo.offset - scaleInfo.paddingTop;\n const upperAge = lastGroup?.domain[0];\n const lowerAge = scaleInfo.domain[1];\n return h(Unconformity, {\n axisType,\n upperAge,\n lowerAge,\n style: {\n width,\n height: scaleInfo.paddingTop,\n top,\n },\n verbose,\n });\n }),\n );\n}\n\nfunction Unconformity({\n upperAge,\n lowerAge,\n style,\n axisType,\n verbose = false,\n}) {\n if (upperAge == null || lowerAge == null) {\n return null;\n }\n\n const ageGap = Math.abs(upperAge - lowerAge);\n\n let className: string = null;\n if (ageGap > 1000) {\n className = \"giga\";\n } else if (ageGap > 100) {\n className = \"mega\";\n } else if (ageGap > 10) {\n className = \"large\";\n } else if (ageGap < 1) {\n className = \"small\";\n }\n\n let val: ReactNode;\n if (axisType === ColumnAxisType.DEPTH || axisType === ColumnAxisType.HEIGHT) {\n const _txt = ageGap.toLocaleString(\"en-US\", { maximumFractionDigits: 2 });\n val = h(Value, { value: _txt, unit: \"m\" });\n } else {\n val = h(Duration, { value: ageGap });\n }\n\n let prefix: ReactNode = null;\n if (verbose) {\n prefix = h([\" \", h(\"span.prefix\", \" gap\")]);\n }\n\n return h(\"div.unconformity\", { style, className }, [\n h(\"div.unconformity-inner\", h(\"div.unconformity-text\", [val, prefix])),\n ]);\n}\n"],"names":["useMemo","$dA1GT$useMemo","useMacrostratIntervals","$dA1GT$useMacrostratIntervals","Timescale","$dA1GT$Timescale","TimescaleOrientation","$dA1GT$TimescaleOrientation","SVG","$dA1GT$SVG","ColumnAxisType","$dA1GT$ColumnAxisType","$dA1GT$macrostrathyper","Value","$dA1GT$Value","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4Abge","$7YHvf","$lgTAP","$wtIgl","$iYfAq","$69e10b1ec4ac73f6$var$h","styled","a","__esModule","default","$69e10b1ec4ac73f6$export$38cb0ab5af8f50d7","props","unconformityLabels","unitComponent","unitComponentProps","showLabels","width","columnWidth","showLabelColumn","clipUnits","maxInternalColumns","units","useMacrostratUnits","key","unit_id","LabelTrackerProvider","$69e10b1ec4ac73f6$var$SectionUnitsColumn","if","SectionLabelsColumn","axisType","sections","totalHeight","useMacrostratColumnData","scaleData","map","section","scaleInfo","innerWidth","style","className","height","paddingH","group","section_id","$69e10b1ec4ac73f6$var$SectionUnits","$69e10b1ec4ac73f6$export$e12e53eeee198b99","verbose","domain","pixelScale","pixelHeight","scale","_unitComponentProps","nColumns","Math","min","floor","Infinity","max","d","column","transform","offset","MacrostratColumnProvider","CompositeUnitsColumn","clipToFrame","$69e10b1ec4ac73f6$export$db2df5a73a6fbe10","$69e10b1ec4ac73f6$export$463f46772c64d403","packages","_levels","levels","intervals","useMacrostratBaseURL","nCols","paddingTop","orientation","VERTICAL","length","absoluteAgeScale","showAgeAxis","AGE","i","lastGroup","top","$69e10b1ec4ac73f6$var$Unconformity","upperAge","lowerAge","val","ageGap","abs","DEPTH","HEIGHT","value","toLocaleString","maximumFractionDigits","unit","Duration","prefix","SectionsColumn","UnconformityLabels","CompositeTimescale","CompositeTimescaleCore"],"version":3,"file":"column-views.312db572.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.9de31cdb.js";import{create as e,useStore as o}from"zustand";import{createContext as t,useState as r,useMemo as l,useEffect as n,useContext as s}from"react";import u from"@macrostrat/hyper";var a=globalThis,i={},c={},m=a.parcelRequirea149;null==m&&((m=function(e){if(e in i)return i[e].exports;if(e in c){var o=c[e];delete c[e];var t={id:e,exports:{}};return i[e]=t,o.call(t.exports,t,t.exports),t.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,o){c[e]=o},a.parcelRequirea149=m),m.register;var d=m("lgTAP");let C=t(null);function f({children:o,columns:t,columnIDs:s,selectedColumn:a,projectID:i,inProcess:c,onSelectColumn:m,onHoverColumn:f}){(0,d.useMacrostratStore)(e=>e.getColumns);let[p]=r(()=>e((e,o)=>({columns:null,selectedColumn:null,hoveredColumn:null,selectColumn(t){e({selectedColumn:t,hoveredColumn:null});let{columns:r}=o(),l=r?.find(e=>e.id==t);m?.(t,l)},setHoveredColumn(t){e({hoveredColumn:t});let{columns:r}=o(),l=r?.find(e=>e.id==t);f?.(t,l)}}))),v=t??(0,d.useMacrostratColumns)(i,c);return s?.length>0&&(v=l(()=>v?.filter(e=>s.includes(e.properties.col_id)),[s,v])),n(()=>{v?.length>0&&p.setState({columns:v,selectedColumn:a})},[v]),n(()=>{let{selectColumn:e,selectedColumn:o}=p.getState();a!=o&&e(a)},[a]),u(C.Provider,{value:p},o)}function p(e){let t=s(C);if(null==t)throw Error("Missing ColumnNavigationProvider");return o(t,e)}export{f as ColumnNavigationProvider,p as useColumnNavigationStore};
2
- //# sourceMappingURL=column-views.2ca669bc.js.map
1
+ import"./column-views.6099a3a9.js";import{create as e,useStore as o}from"zustand";import{createContext as t,useState as r,useMemo as l,useEffect as n,useContext as s}from"react";import u from"@macrostrat/hyper";var a=globalThis,i={},c={},m=a.parcelRequirea149;null==m&&((m=function(e){if(e in i)return i[e].exports;if(e in c){var o=c[e];delete c[e];var t={id:e,exports:{}};return i[e]=t,o.call(t.exports,t,t.exports),t.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,o){c[e]=o},a.parcelRequirea149=m),m.register;var d=m("lgTAP");let C=t(null);function f({children:o,columns:t,columnIDs:s,selectedColumn:a,projectID:i,inProcess:c,onSelectColumn:m,onHoverColumn:f}){(0,d.useMacrostratStore)(e=>e.getColumns);let[p]=r(()=>e((e,o)=>({columns:null,selectedColumn:null,hoveredColumn:null,selectColumn(t){e({selectedColumn:t,hoveredColumn:null});let{columns:r}=o(),l=r?.find(e=>e.id==t);m?.(t,l)},setHoveredColumn(t){e({hoveredColumn:t});let{columns:r}=o(),l=r?.find(e=>e.id==t);f?.(t,l)}}))),v=t??(0,d.useMacrostratColumns)(i,c);return s?.length>0&&(v=l(()=>v?.filter(e=>s.includes(e.properties.col_id)),[s,v])),n(()=>{v?.length>0&&p.setState({columns:v,selectedColumn:a})},[v]),n(()=>{let{selectColumn:e,selectedColumn:o}=p.getState();a!=o&&e(a)},[a]),u(C.Provider,{value:p},o)}function p(e){let t=s(C);if(null==t)throw Error("Missing ColumnNavigationProvider");return o(t,e)}export{f as ColumnNavigationProvider,p as useColumnNavigationStore};
2
+ //# sourceMappingURL=column-views.32344397.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,C,Y,C,C,W,C,C,a,C,C,c,C,K,O,A,Q,M,mB,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,SCoCA,IAAM,EAAyB,AAAA,EAC7B,MAGK,SAAS,EAAyB,CAAA,SACvC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,eACT,CAAc,CAAA,UACd,CAAS,CAAA,UACT,CAAS,CAAA,eACT,CAAc,CAAA,cACd,CAAa,CACW,EACL,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,AAAC,GAAM,EAAE,UAAU,EAEzD,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EAAwB,CAAC,EAAK,IAC5B,CAAA,CACL,QAAS,KACT,eAAgB,KAChB,cAAe,KACf,aAAa,CAAuB,EAClC,EAAI,CAAE,eAAgB,EAAU,cAAe,IAAK,GACpD,GAAM,CAAA,QAAE,CAAO,CAAE,CAAG,IACd,EAAS,GAAS,KAAK,AAAC,GAAM,EAAE,EAAE,EAAI,GAC5C,IAAiB,EAAU,EAC7B,EACA,iBAAiB,CAAuB,EACtC,EAAI,CAAE,cAAe,CAAS,GAC9B,GAAM,CAAA,QAAE,CAAO,CAAE,CAAG,IACd,EAAS,GAAS,KAAK,AAAC,GAAM,EAAE,EAAE,EAAI,GAC5C,IAAgB,EAAU,EAC5B,CACF,CAAA,IAWA,EAAW,GAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GA0B1D,OAvBI,GAAW,OAAS,GACtB,CAAA,EAAW,AAAA,EAAQ,IACV,GAAU,OAAO,AAAC,GAAM,EAAU,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,GACpE,CAAC,EAAW,EAAS,CAAA,EAG1B,AAAA,EAAU,KACJ,GAAU,OAAS,GACrB,EAAM,QAAQ,CAAC,CAAE,QAAS,EAAU,eAAA,CAAe,EAEvD,EAAG,CAAC,EAAS,EAIb,AAAA,EAAU,KACR,GAAM,CAAA,aAAE,CAAY,CAAE,eAAgB,CAAuB,CAAE,CAC7D,EAAM,QAAQ,GACZ,GAAkB,GAGtB,EAAa,EACf,EAAG,CAAC,EAAe,EAEZ,AAAA,EAAE,EAAuB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC9D,CAEO,SAAS,EACd,CAAyC,EAEzC,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,oCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,wB,C,K,wB","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/state.ts"],"sourcesContent":["import \"./column-views.9de31cdb.js\";\nimport {create as $hD7WQ$create, useStore as $hD7WQ$useStore} from \"zustand\";\nimport {createContext as $hD7WQ$createContext, useState as $hD7WQ$useState, useMemo as $hD7WQ$useMemo, useEffect as $hD7WQ$useEffect, useContext as $hD7WQ$useContext} from \"react\";\nimport $hD7WQ$macrostrathyper from \"@macrostrat/hyper\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $811f42ce180ac2d8$var$NavigationStoreContext = (0, $hD7WQ$createContext)(null);\nfunction $811f42ce180ac2d8$export$8da3b11f62ebf019({ children: children, columns: columns, columnIDs: columnIDs, selectedColumn: selectedColumn, projectID: projectID, inProcess: inProcess, onSelectColumn: onSelectColumn, onHoverColumn: onHoverColumn }) {\n const getColumns = (0, $lgTAP.useMacrostratStore)((s)=>s.getColumns);\n const [store] = (0, $hD7WQ$useState)(()=>{\n return (0, $hD7WQ$create)((set, get)=>{\n return {\n columns: null,\n selectedColumn: null,\n hoveredColumn: null,\n selectColumn (columnID) {\n set({\n selectedColumn: columnID,\n hoveredColumn: null\n });\n const { columns: columns } = get();\n const column = columns?.find((d)=>d.id == columnID);\n onSelectColumn?.(columnID, column);\n },\n setHoveredColumn (columnID) {\n set({\n hoveredColumn: columnID\n });\n const { columns: columns } = get();\n const column = columns?.find((d)=>d.id == columnID);\n onHoverColumn?.(columnID, column);\n }\n };\n });\n });\n // Set up the store\n /** TODO: unify handling of columns between parts of application */ // useAsyncEffect(async () => {\n // let _columns = columns ?? (await getColumns(projectID, inProcess));\n // store.setState({ columns: _columns, selectedColumn });\n // }, [projectID, inProcess, columns, getColumns]);\n let _columns = columns ?? (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n // filter columns if specified\n if (columnIDs?.length > 0) _columns = (0, $hD7WQ$useMemo)(()=>{\n return _columns?.filter((d)=>columnIDs.includes(d.properties.col_id));\n }, [\n columnIDs,\n _columns\n ]);\n (0, $hD7WQ$useEffect)(()=>{\n if (_columns?.length > 0) store.setState({\n columns: _columns,\n selectedColumn: selectedColumn\n });\n }, [\n _columns\n ]);\n // Update selected column if it is changed externally\n // Kind of an awkward way to do this but we need to allow the selector to run\n (0, $hD7WQ$useEffect)(()=>{\n const { selectColumn: selectColumn, selectedColumn: _internalSelectedColumn } = store.getState();\n if (selectedColumn == _internalSelectedColumn) return;\n selectColumn(selectedColumn);\n }, [\n selectedColumn\n ]);\n return (0, $hD7WQ$macrostrathyper)($811f42ce180ac2d8$var$NavigationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $811f42ce180ac2d8$export$642c2b57c47ea41(selector) {\n const storeApi = (0, $hD7WQ$useContext)($811f42ce180ac2d8$var$NavigationStoreContext);\n if (storeApi == null) throw new Error(\"Missing ColumnNavigationProvider\");\n return (0, $hD7WQ$useStore)(storeApi, selector);\n}\n\n\nexport {$811f42ce180ac2d8$export$8da3b11f62ebf019 as ColumnNavigationProvider, $811f42ce180ac2d8$export$642c2b57c47ea41 as useColumnNavigationStore};\n//# sourceMappingURL=column-views.2ca669bc.js.map\n","import { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecordWithID } from \"@macrostrat/api-types\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n useMemo,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n useMacrostratColumns,\n useMacrostratStore,\n} from \"../../../data-provider\";\n\nexport interface NavigationStore {\n columns: ColumnGeoJSONRecordWithID[];\n selectedColumn: number | null;\n hoveredColumn: number | null;\n selectColumn: (columnID: number | null) => void;\n setHoveredColumn: (columnID: number | null) => void;\n}\n\nexport interface NavigationProviderProps {\n projectID?: number;\n inProcess?: boolean;\n selectedColumn?: number | null;\n hoveredColumn?: number | null;\n columns?: ColumnGeoJSONRecordWithID[] | null;\n columnIDs?: number[] | null;\n children: ReactNode;\n onSelectColumn?: (col_id: number | null, column: any) => void;\n onHoverColumn?: (col_id: number | null, column: any) => void;\n}\n\nconst NavigationStoreContext = createContext<StoreApi<NavigationStore> | null>(\n null,\n);\n\nexport function ColumnNavigationProvider({\n children,\n columns,\n columnIDs,\n selectedColumn,\n projectID,\n inProcess,\n onSelectColumn,\n onHoverColumn,\n}: NavigationProviderProps) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n\n const [store] = useState(() => {\n return create<NavigationStore>((set, get): NavigationStore => {\n return {\n columns: null,\n selectedColumn: null,\n hoveredColumn: null,\n selectColumn(columnID: number | null) {\n set({ selectedColumn: columnID, hoveredColumn: null });\n const { columns } = get();\n const column = columns?.find((d) => d.id == columnID);\n onSelectColumn?.(columnID, column);\n },\n setHoveredColumn(columnID: number | null) {\n set({ hoveredColumn: columnID });\n const { columns } = get();\n const column = columns?.find((d) => d.id == columnID);\n onHoverColumn?.(columnID, column);\n },\n };\n });\n });\n\n // Set up the store\n /** TODO: unify handling of columns between parts of application */\n // useAsyncEffect(async () => {\n // let _columns = columns ?? (await getColumns(projectID, inProcess));\n // store.setState({ columns: _columns, selectedColumn });\n // }, [projectID, inProcess, columns, getColumns]);\n\n let _columns = columns ?? useMacrostratColumns(projectID, inProcess);\n\n // filter columns if specified\n if (columnIDs?.length > 0) {\n _columns = useMemo(() => {\n return _columns?.filter((d) => columnIDs.includes(d.properties.col_id));\n }, [columnIDs, _columns]);\n }\n\n useEffect(() => {\n if (_columns?.length > 0) {\n store.setState({ columns: _columns, selectedColumn });\n }\n }, [_columns]);\n // Update selected column if it is changed externally\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n useEffect(() => {\n const { selectColumn, selectedColumn: _internalSelectedColumn } =\n store.getState();\n if (selectedColumn == _internalSelectedColumn) {\n return;\n }\n selectColumn(selectedColumn);\n }, [selectedColumn]);\n\n return h(NavigationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useColumnNavigationStore(\n selector: (state: NavigationStore) => any,\n) {\n const storeApi = useContext(NavigationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing ColumnNavigationProvider\");\n }\n return useStore(storeApi, selector);\n}\n"],"names":["create","$hD7WQ$create","useStore","$hD7WQ$useStore","createContext","$hD7WQ$createContext","useState","$hD7WQ$useState","useMemo","$hD7WQ$useMemo","useEffect","$hD7WQ$useEffect","useContext","$hD7WQ$useContext","$hD7WQ$macrostrathyper","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$lgTAP","$811f42ce180ac2d8$var$NavigationStoreContext","$811f42ce180ac2d8$export$8da3b11f62ebf019","children","columns","columnIDs","selectedColumn","projectID","inProcess","onSelectColumn","onHoverColumn","useMacrostratStore","s","getColumns","store","set","get","hoveredColumn","selectColumn","columnID","column","find","d","setHoveredColumn","_columns","useMacrostratColumns","length","filter","includes","properties","col_id","setState","_internalSelectedColumn","getState","Provider","value","$811f42ce180ac2d8$export$642c2b57c47ea41","selector","storeApi","ColumnNavigationProvider","useColumnNavigationStore"],"version":3,"file":"column-views.2ca669bc.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,C,Y,C,C,W,C,C,a,C,C,c,C,K,O,A,Q,M,mB,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,SCoCA,IAAM,EAAyB,AAAA,EAC7B,MAGK,SAAS,EAAyB,CAAA,SACvC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,eACT,CAAc,CAAA,UACd,CAAS,CAAA,UACT,CAAS,CAAA,eACT,CAAc,CAAA,cACd,CAAa,CACW,EACL,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,AAAC,GAAM,EAAE,UAAU,EAEzD,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EAAwB,CAAC,EAAK,IAC5B,CAAA,CACL,QAAS,KACT,eAAgB,KAChB,cAAe,KACf,aAAa,CAAuB,EAClC,EAAI,CAAE,eAAgB,EAAU,cAAe,IAAK,GACpD,GAAM,CAAA,QAAE,CAAO,CAAE,CAAG,IACd,EAAS,GAAS,KAAK,AAAC,GAAM,EAAE,EAAE,EAAI,GAC5C,IAAiB,EAAU,EAC7B,EACA,iBAAiB,CAAuB,EACtC,EAAI,CAAE,cAAe,CAAS,GAC9B,GAAM,CAAA,QAAE,CAAO,CAAE,CAAG,IACd,EAAS,GAAS,KAAK,AAAC,GAAM,EAAE,EAAE,EAAI,GAC5C,IAAgB,EAAU,EAC5B,CACF,CAAA,IAWA,EAAW,GAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GA0B1D,OAvBI,GAAW,OAAS,GACtB,CAAA,EAAW,AAAA,EAAQ,IACV,GAAU,OAAO,AAAC,GAAM,EAAU,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,GACpE,CAAC,EAAW,EAAS,CAAA,EAG1B,AAAA,EAAU,KACJ,GAAU,OAAS,GACrB,EAAM,QAAQ,CAAC,CAAE,QAAS,EAAU,eAAA,CAAe,EAEvD,EAAG,CAAC,EAAS,EAIb,AAAA,EAAU,KACR,GAAM,CAAA,aAAE,CAAY,CAAE,eAAgB,CAAuB,CAAE,CAC7D,EAAM,QAAQ,GACZ,GAAkB,GAGtB,EAAa,EACf,EAAG,CAAC,EAAe,EAEZ,AAAA,EAAE,EAAuB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC9D,CAEO,SAAS,EACd,CAAyC,EAEzC,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,oCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,wB,C,K,wB","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/state.ts"],"sourcesContent":["import \"./column-views.6099a3a9.js\";\nimport {create as $hD7WQ$create, useStore as $hD7WQ$useStore} from \"zustand\";\nimport {createContext as $hD7WQ$createContext, useState as $hD7WQ$useState, useMemo as $hD7WQ$useMemo, useEffect as $hD7WQ$useEffect, useContext as $hD7WQ$useContext} from \"react\";\nimport $hD7WQ$macrostrathyper from \"@macrostrat/hyper\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $811f42ce180ac2d8$var$NavigationStoreContext = (0, $hD7WQ$createContext)(null);\nfunction $811f42ce180ac2d8$export$8da3b11f62ebf019({ children: children, columns: columns, columnIDs: columnIDs, selectedColumn: selectedColumn, projectID: projectID, inProcess: inProcess, onSelectColumn: onSelectColumn, onHoverColumn: onHoverColumn }) {\n const getColumns = (0, $lgTAP.useMacrostratStore)((s)=>s.getColumns);\n const [store] = (0, $hD7WQ$useState)(()=>{\n return (0, $hD7WQ$create)((set, get)=>{\n return {\n columns: null,\n selectedColumn: null,\n hoveredColumn: null,\n selectColumn (columnID) {\n set({\n selectedColumn: columnID,\n hoveredColumn: null\n });\n const { columns: columns } = get();\n const column = columns?.find((d)=>d.id == columnID);\n onSelectColumn?.(columnID, column);\n },\n setHoveredColumn (columnID) {\n set({\n hoveredColumn: columnID\n });\n const { columns: columns } = get();\n const column = columns?.find((d)=>d.id == columnID);\n onHoverColumn?.(columnID, column);\n }\n };\n });\n });\n // Set up the store\n /** TODO: unify handling of columns between parts of application */ // useAsyncEffect(async () => {\n // let _columns = columns ?? (await getColumns(projectID, inProcess));\n // store.setState({ columns: _columns, selectedColumn });\n // }, [projectID, inProcess, columns, getColumns]);\n let _columns = columns ?? (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n // filter columns if specified\n if (columnIDs?.length > 0) _columns = (0, $hD7WQ$useMemo)(()=>{\n return _columns?.filter((d)=>columnIDs.includes(d.properties.col_id));\n }, [\n columnIDs,\n _columns\n ]);\n (0, $hD7WQ$useEffect)(()=>{\n if (_columns?.length > 0) store.setState({\n columns: _columns,\n selectedColumn: selectedColumn\n });\n }, [\n _columns\n ]);\n // Update selected column if it is changed externally\n // Kind of an awkward way to do this but we need to allow the selector to run\n (0, $hD7WQ$useEffect)(()=>{\n const { selectColumn: selectColumn, selectedColumn: _internalSelectedColumn } = store.getState();\n if (selectedColumn == _internalSelectedColumn) return;\n selectColumn(selectedColumn);\n }, [\n selectedColumn\n ]);\n return (0, $hD7WQ$macrostrathyper)($811f42ce180ac2d8$var$NavigationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $811f42ce180ac2d8$export$642c2b57c47ea41(selector) {\n const storeApi = (0, $hD7WQ$useContext)($811f42ce180ac2d8$var$NavigationStoreContext);\n if (storeApi == null) throw new Error(\"Missing ColumnNavigationProvider\");\n return (0, $hD7WQ$useStore)(storeApi, selector);\n}\n\n\nexport {$811f42ce180ac2d8$export$8da3b11f62ebf019 as ColumnNavigationProvider, $811f42ce180ac2d8$export$642c2b57c47ea41 as useColumnNavigationStore};\n//# sourceMappingURL=column-views.32344397.js.map\n","import { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecordWithID } from \"@macrostrat/api-types\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n useMemo,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n useMacrostratColumns,\n useMacrostratStore,\n} from \"../../../data-provider\";\n\nexport interface NavigationStore {\n columns: ColumnGeoJSONRecordWithID[];\n selectedColumn: number | null;\n hoveredColumn: number | null;\n selectColumn: (columnID: number | null) => void;\n setHoveredColumn: (columnID: number | null) => void;\n}\n\nexport interface NavigationProviderProps {\n projectID?: number;\n inProcess?: boolean;\n selectedColumn?: number | null;\n hoveredColumn?: number | null;\n columns?: ColumnGeoJSONRecordWithID[] | null;\n columnIDs?: number[] | null;\n children: ReactNode;\n onSelectColumn?: (col_id: number | null, column: any) => void;\n onHoverColumn?: (col_id: number | null, column: any) => void;\n}\n\nconst NavigationStoreContext = createContext<StoreApi<NavigationStore> | null>(\n null,\n);\n\nexport function ColumnNavigationProvider({\n children,\n columns,\n columnIDs,\n selectedColumn,\n projectID,\n inProcess,\n onSelectColumn,\n onHoverColumn,\n}: NavigationProviderProps) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n\n const [store] = useState(() => {\n return create<NavigationStore>((set, get): NavigationStore => {\n return {\n columns: null,\n selectedColumn: null,\n hoveredColumn: null,\n selectColumn(columnID: number | null) {\n set({ selectedColumn: columnID, hoveredColumn: null });\n const { columns } = get();\n const column = columns?.find((d) => d.id == columnID);\n onSelectColumn?.(columnID, column);\n },\n setHoveredColumn(columnID: number | null) {\n set({ hoveredColumn: columnID });\n const { columns } = get();\n const column = columns?.find((d) => d.id == columnID);\n onHoverColumn?.(columnID, column);\n },\n };\n });\n });\n\n // Set up the store\n /** TODO: unify handling of columns between parts of application */\n // useAsyncEffect(async () => {\n // let _columns = columns ?? (await getColumns(projectID, inProcess));\n // store.setState({ columns: _columns, selectedColumn });\n // }, [projectID, inProcess, columns, getColumns]);\n\n let _columns = columns ?? useMacrostratColumns(projectID, inProcess);\n\n // filter columns if specified\n if (columnIDs?.length > 0) {\n _columns = useMemo(() => {\n return _columns?.filter((d) => columnIDs.includes(d.properties.col_id));\n }, [columnIDs, _columns]);\n }\n\n useEffect(() => {\n if (_columns?.length > 0) {\n store.setState({ columns: _columns, selectedColumn });\n }\n }, [_columns]);\n // Update selected column if it is changed externally\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n useEffect(() => {\n const { selectColumn, selectedColumn: _internalSelectedColumn } =\n store.getState();\n if (selectedColumn == _internalSelectedColumn) {\n return;\n }\n selectColumn(selectedColumn);\n }, [selectedColumn]);\n\n return h(NavigationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useColumnNavigationStore(\n selector: (state: NavigationStore) => any,\n) {\n const storeApi = useContext(NavigationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing ColumnNavigationProvider\");\n }\n return useStore(storeApi, selector);\n}\n"],"names":["create","$hD7WQ$create","useStore","$hD7WQ$useStore","createContext","$hD7WQ$createContext","useState","$hD7WQ$useState","useMemo","$hD7WQ$useMemo","useEffect","$hD7WQ$useEffect","useContext","$hD7WQ$useContext","$hD7WQ$macrostrathyper","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$lgTAP","$811f42ce180ac2d8$var$NavigationStoreContext","$811f42ce180ac2d8$export$8da3b11f62ebf019","children","columns","columnIDs","selectedColumn","projectID","inProcess","onSelectColumn","onHoverColumn","useMacrostratStore","s","getColumns","store","set","get","hoveredColumn","selectColumn","columnID","column","find","d","setHoveredColumn","_columns","useMacrostratColumns","length","filter","includes","properties","col_id","setState","_internalSelectedColumn","getState","Provider","value","$811f42ce180ac2d8$export$642c2b57c47ea41","selector","storeApi","ColumnNavigationProvider","useColumnNavigationStore"],"version":3,"file":"column-views.32344397.js.map","sourceRoot":"../../../../"}