@macrostrat/column-views 2.2.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/esm/{column-views.b0e6c0b3.js → column-views.04636815.js} +3 -3
  3. package/dist/esm/{column-views.b0e6c0b3.js.map → column-views.04636815.js.map} +1 -1
  4. package/dist/esm/{column-views.54f8b909.js → column-views.052498a6.js} +37 -4
  5. package/dist/esm/column-views.052498a6.js.map +1 -0
  6. package/dist/esm/{column-views.5456a1ee.js → column-views.0da4503a.js} +2 -2
  7. package/dist/esm/{column-views.5456a1ee.js.map → column-views.0da4503a.js.map} +1 -1
  8. package/dist/esm/{column-views.ee525e88.js → column-views.107b47b4.js} +8 -8
  9. package/dist/esm/{column-views.ee525e88.js.map → column-views.107b47b4.js.map} +1 -1
  10. package/dist/esm/column-views.17a70358.js +16 -0
  11. package/dist/esm/column-views.17a70358.js.map +1 -0
  12. package/dist/esm/{column-views.073c42da.js → column-views.1b5bf0c6.js} +3 -3
  13. package/dist/esm/{column-views.073c42da.js.map → column-views.1b5bf0c6.js.map} +1 -1
  14. package/dist/esm/{column-views.52ad973a.js → column-views.2708e176.js} +8 -8
  15. package/dist/esm/column-views.2708e176.js.map +1 -0
  16. package/dist/esm/{column-views.88d63dd0.js → column-views.275ba52b.js} +3 -3
  17. package/dist/esm/{column-views.88d63dd0.js.map → column-views.275ba52b.js.map} +1 -1
  18. package/dist/esm/{column-views.7c95c3d7.js → column-views.2bac03a2.js} +2 -2
  19. package/dist/esm/{column-views.7c95c3d7.js.map → column-views.2bac03a2.js.map} +1 -1
  20. package/dist/esm/column-views.322790f3.js +138 -0
  21. package/dist/esm/column-views.322790f3.js.map +1 -0
  22. package/dist/esm/{column-views.6698b95a.js → column-views.343fc926.js} +9 -18
  23. package/dist/esm/column-views.343fc926.js.map +1 -0
  24. package/dist/esm/column-views.3c9cba65.js +13 -0
  25. package/dist/esm/{column-views.43beafa3.js.map → column-views.3c9cba65.js.map} +1 -1
  26. package/dist/esm/{column-views.aeb61926.js → column-views.3d3e00be.js} +2 -2
  27. package/dist/esm/{column-views.aeb61926.js.map → column-views.3d3e00be.js.map} +1 -1
  28. package/dist/esm/{column-views.7d69838d.js → column-views.40094dd9.js} +3 -3
  29. package/dist/esm/{column-views.7d69838d.js.map → column-views.40094dd9.js.map} +1 -1
  30. package/dist/esm/{column-views.d2214a99.js → column-views.44373a90.js} +8 -7
  31. package/dist/esm/column-views.44373a90.js.map +1 -0
  32. package/dist/esm/{column-views.ad080c0e.js → column-views.488f24b6.js} +2 -2
  33. package/dist/esm/{column-views.ad080c0e.js.map → column-views.488f24b6.js.map} +1 -1
  34. package/dist/esm/{column-views.abf6aedd.js → column-views.4b259f9e.js} +2 -2
  35. package/dist/esm/{column-views.abf6aedd.js.map → column-views.4b259f9e.js.map} +1 -1
  36. package/dist/esm/{column-views.1151416d.css → column-views.54c1f382.css} +6 -5
  37. package/dist/esm/column-views.54c1f382.css.map +1 -0
  38. package/dist/esm/{column-views.729a6728.js → column-views.565b193a.js} +2 -2
  39. package/dist/esm/{column-views.729a6728.js.map → column-views.565b193a.js.map} +1 -1
  40. package/dist/esm/{column-views.058c0083.js → column-views.5ca2b219.js} +5 -5
  41. package/dist/esm/{column-views.058c0083.js.map → column-views.5ca2b219.js.map} +1 -1
  42. package/dist/esm/{column-views.218e8f5d.js → column-views.5eb4e6ff.js} +4 -4
  43. package/dist/esm/{column-views.218e8f5d.js.map → column-views.5eb4e6ff.js.map} +1 -1
  44. package/dist/esm/{column-views.11ae78f7.js → column-views.5fff0716.js} +3 -3
  45. package/dist/esm/{column-views.11ae78f7.js.map → column-views.5fff0716.js.map} +1 -1
  46. package/dist/esm/{column-views.05586d1f.js → column-views.60e97132.js} +2 -4
  47. package/dist/esm/column-views.60e97132.js.map +1 -0
  48. package/dist/esm/{column-views.75e5aebe.js → column-views.63d40878.js} +4 -4
  49. package/dist/esm/{column-views.75e5aebe.js.map → column-views.63d40878.js.map} +1 -1
  50. package/dist/esm/{column-views.d6d6df77.js → column-views.6c9e5069.js} +40 -62
  51. package/dist/esm/column-views.6c9e5069.js.map +1 -0
  52. package/dist/esm/column-views.6df65dab.js +9 -0
  53. package/dist/esm/column-views.6df65dab.js.map +1 -0
  54. package/dist/esm/column-views.7fa0d026.js +62 -0
  55. package/dist/esm/column-views.7fa0d026.js.map +1 -0
  56. package/dist/esm/{column-views.3a7179c4.js → column-views.82eb5026.js} +12 -7
  57. package/dist/esm/column-views.82eb5026.js.map +1 -0
  58. package/dist/esm/{column-views.9dd25b5b.js → column-views.92575b87.js} +3 -3
  59. package/dist/esm/column-views.92575b87.js.map +1 -0
  60. package/dist/esm/{column-views.833c2b74.js → column-views.9d51a5ab.js} +3 -3
  61. package/dist/esm/{column-views.833c2b74.js.map → column-views.9d51a5ab.js.map} +1 -1
  62. package/dist/esm/{column-views.817752b6.js → column-views.9ffc089b.js} +3 -3
  63. package/dist/esm/{column-views.817752b6.js.map → column-views.9ffc089b.js.map} +1 -1
  64. package/dist/esm/{column-views.70164236.js → column-views.aa9ede4d.js} +2 -2
  65. package/dist/esm/{column-views.70164236.js.map → column-views.aa9ede4d.js.map} +1 -1
  66. package/dist/esm/{column-views.6d63971b.js → column-views.ad2fe46c.js} +2 -2
  67. package/dist/esm/{column-views.6d63971b.js.map → column-views.ad2fe46c.js.map} +1 -1
  68. package/dist/esm/{column-views.7b4a1f15.js → column-views.afe0bb48.js} +5 -5
  69. package/dist/esm/{column-views.7b4a1f15.js.map → column-views.afe0bb48.js.map} +1 -1
  70. package/dist/esm/{column-views.aecf25bc.js → column-views.b4e1236d.js} +2 -2
  71. package/dist/esm/{column-views.aecf25bc.js.map → column-views.b4e1236d.js.map} +1 -1
  72. package/dist/esm/{column-views.6ce8cb61.js → column-views.c149f7a5.js} +3 -3
  73. package/dist/esm/{column-views.6ce8cb61.js.map → column-views.c149f7a5.js.map} +1 -1
  74. package/dist/esm/column-views.c3c7901a.js +149 -0
  75. package/dist/esm/column-views.c3c7901a.js.map +1 -0
  76. package/dist/esm/{column-views.b7016f82.css → column-views.cb6fc808.css} +10 -10
  77. package/dist/esm/column-views.cb6fc808.css.map +1 -0
  78. package/dist/esm/{column-views.35efe006.js → column-views.ce3a3ac8.js} +2 -2
  79. package/dist/esm/{column-views.35efe006.js.map → column-views.ce3a3ac8.js.map} +1 -1
  80. package/dist/esm/{column-views.77e22590.js → column-views.d1b49f5c.js} +2 -2
  81. package/dist/esm/{column-views.77e22590.js.map → column-views.d1b49f5c.js.map} +1 -1
  82. package/dist/esm/{column-views.faa4e06d.js → column-views.d524075b.js} +4 -4
  83. package/dist/esm/{column-views.faa4e06d.js.map → column-views.d524075b.js.map} +1 -1
  84. package/dist/esm/column-views.d5e788e8.js +31 -0
  85. package/dist/esm/column-views.d5e788e8.js.map +1 -0
  86. package/dist/esm/{column-views.30950997.js → column-views.d6c0b7bc.js} +2 -2
  87. package/dist/esm/{column-views.30950997.js.map → column-views.d6c0b7bc.js.map} +1 -1
  88. package/dist/esm/{column-views.44d3797a.js → column-views.dc195174.js} +2 -2
  89. package/dist/esm/{column-views.44d3797a.js.map → column-views.dc195174.js.map} +1 -1
  90. package/dist/esm/column-views.de433f18.js +139 -0
  91. package/dist/esm/column-views.de433f18.js.map +1 -0
  92. package/dist/esm/{column-views.ef88c46c.js → column-views.e075af15.js} +2 -2
  93. package/dist/esm/{column-views.ef88c46c.js.map → column-views.e075af15.js.map} +1 -1
  94. package/dist/esm/{column-views.7faf00ed.js → column-views.f7cdf6be.js} +3 -3
  95. package/dist/esm/{column-views.7faf00ed.js.map → column-views.f7cdf6be.js.map} +1 -1
  96. package/dist/esm/{column-views.66ccfc44.js → column-views.faa7e52e.js} +3 -3
  97. package/dist/esm/{column-views.66ccfc44.js.map → column-views.faa7e52e.js.map} +1 -1
  98. package/dist/esm/index.d.ts +39 -19
  99. package/dist/esm/index.d.ts.map +1 -1
  100. package/dist/esm/index.js +12 -12
  101. package/dist/node/column-views.012fa10c.js +2 -0
  102. package/dist/node/column-views.012fa10c.js.map +1 -0
  103. package/dist/node/{column-views.edb4ba54.js → column-views.021a6961.js} +2 -2
  104. package/dist/node/{column-views.edb4ba54.js.map → column-views.021a6961.js.map} +1 -1
  105. package/dist/node/{column-views.a19be00f.js → column-views.08bef1f6.js} +2 -2
  106. package/dist/node/{column-views.a19be00f.js.map → column-views.08bef1f6.js.map} +1 -1
  107. package/dist/node/{column-views.ae22e8b1.js → column-views.0f401891.js} +2 -2
  108. package/dist/node/{column-views.ae22e8b1.js.map → column-views.0f401891.js.map} +1 -1
  109. package/dist/node/column-views.1d064426.js +2 -0
  110. package/dist/node/column-views.1d064426.js.map +1 -0
  111. package/dist/node/{column-views.ae54d3e1.js → column-views.2577dec0.js} +2 -2
  112. package/dist/node/{column-views.ae54d3e1.js.map → column-views.2577dec0.js.map} +1 -1
  113. package/dist/node/{column-views.1ac9e2ed.js → column-views.2fe8feb9.js} +2 -2
  114. package/dist/node/{column-views.1ac9e2ed.js.map → column-views.2fe8feb9.js.map} +1 -1
  115. package/dist/node/{column-views.a281d5bb.js → column-views.42bc66a8.js} +2 -2
  116. package/dist/node/{column-views.a281d5bb.js.map → column-views.42bc66a8.js.map} +1 -1
  117. package/dist/node/{column-views.4ce5f5e4.js → column-views.465e593b.js} +2 -2
  118. package/dist/node/{column-views.4ce5f5e4.js.map → column-views.465e593b.js.map} +1 -1
  119. package/dist/node/{column-views.e1813308.js → column-views.46efb749.js} +2 -2
  120. package/dist/node/{column-views.e1813308.js.map → column-views.46efb749.js.map} +1 -1
  121. package/dist/node/{column-views.61dc64bc.js → column-views.47440961.js} +2 -2
  122. package/dist/node/{column-views.61dc64bc.js.map → column-views.47440961.js.map} +1 -1
  123. package/dist/node/column-views.5361f0e2.js +2 -0
  124. package/dist/node/column-views.5361f0e2.js.map +1 -0
  125. package/dist/node/{column-views.38835c99.js → column-views.5559de6a.js} +2 -2
  126. package/dist/node/{column-views.38835c99.js.map → column-views.5559de6a.js.map} +1 -1
  127. package/dist/node/{column-views.52cc4dd0.js → column-views.56f88b8c.js} +2 -2
  128. package/dist/node/{column-views.52cc4dd0.js.map → column-views.56f88b8c.js.map} +1 -1
  129. package/dist/node/{column-views.0b3a384e.js → column-views.5a9331a9.js} +2 -2
  130. package/dist/node/{column-views.0b3a384e.js.map → column-views.5a9331a9.js.map} +1 -1
  131. package/dist/node/column-views.5fd6e11a.js +2 -0
  132. package/dist/node/column-views.5fd6e11a.js.map +1 -0
  133. package/dist/node/column-views.672b683c.js +2 -0
  134. package/dist/node/column-views.672b683c.js.map +1 -0
  135. package/dist/node/{column-views.a08b0c9f.js → column-views.6c7f9245.js} +2 -2
  136. package/dist/node/{column-views.a08b0c9f.js.map → column-views.6c7f9245.js.map} +1 -1
  137. package/dist/node/{column-views.67fed1f5.js → column-views.75456275.js} +2 -2
  138. package/dist/node/{column-views.67fed1f5.js.map → column-views.75456275.js.map} +1 -1
  139. package/dist/node/column-views.75ba0464.css +2 -0
  140. package/dist/node/column-views.75ba0464.css.map +1 -0
  141. package/dist/node/column-views.777b9bb6.js +2 -0
  142. package/dist/node/column-views.777b9bb6.js.map +1 -0
  143. package/dist/node/{column-views.21a73236.js → column-views.7c322202.js} +2 -2
  144. package/dist/node/{column-views.21a73236.js.map → column-views.7c322202.js.map} +1 -1
  145. package/dist/node/column-views.7cc1a14f.js +2 -0
  146. package/dist/node/column-views.7cc1a14f.js.map +1 -0
  147. package/dist/node/{column-views.7faaf6c8.js → column-views.8e846c57.js} +2 -2
  148. package/dist/node/{column-views.7faaf6c8.js.map → column-views.8e846c57.js.map} +1 -1
  149. package/dist/node/{column-views.003348f6.js → column-views.8ee8469d.js} +2 -2
  150. package/dist/node/{column-views.003348f6.js.map → column-views.8ee8469d.js.map} +1 -1
  151. package/dist/node/{column-views.420b60d2.js → column-views.93bde6c1.js} +2 -2
  152. package/dist/node/{column-views.420b60d2.js.map → column-views.93bde6c1.js.map} +1 -1
  153. package/dist/node/{column-views.f2ee436e.js → column-views.a14f0134.js} +2 -2
  154. package/dist/node/{column-views.f2ee436e.js.map → column-views.a14f0134.js.map} +1 -1
  155. package/dist/node/{column-views.aef76eee.js → column-views.a596b1f5.js} +2 -2
  156. package/dist/node/{column-views.aef76eee.js.map → column-views.a596b1f5.js.map} +1 -1
  157. package/dist/node/column-views.af480651.js +2 -0
  158. package/dist/node/column-views.af480651.js.map +1 -0
  159. package/dist/node/column-views.b103acbc.js +2 -0
  160. package/dist/node/column-views.b103acbc.js.map +1 -0
  161. package/dist/node/{column-views.60b5663d.js → column-views.b40c1b9c.js} +2 -2
  162. package/dist/node/{column-views.60b5663d.js.map → column-views.b40c1b9c.js.map} +1 -1
  163. package/dist/node/column-views.b6e86cf0.js +2 -0
  164. package/dist/node/column-views.b6e86cf0.js.map +1 -0
  165. package/dist/node/{column-views.22c2d45b.js → column-views.c007152b.js} +2 -2
  166. package/dist/node/{column-views.22c2d45b.js.map → column-views.c007152b.js.map} +1 -1
  167. package/dist/node/{column-views.b6943236.js → column-views.c921fa1a.js} +2 -2
  168. package/dist/node/{column-views.b6943236.js.map → column-views.c921fa1a.js.map} +1 -1
  169. package/dist/node/{column-views.05cfc627.js → column-views.c9880a4d.js} +2 -2
  170. package/dist/node/{column-views.05cfc627.js.map → column-views.c9880a4d.js.map} +1 -1
  171. package/dist/node/column-views.ccfb9afb.css +2 -0
  172. package/dist/node/column-views.ccfb9afb.css.map +1 -0
  173. package/dist/node/{column-views.bde2dfa8.js → column-views.cd54f1b1.js} +2 -2
  174. package/dist/node/{column-views.bde2dfa8.js.map → column-views.cd54f1b1.js.map} +1 -1
  175. package/dist/node/{column-views.db47fe3c.js → column-views.d77d260b.js} +2 -2
  176. package/dist/node/{column-views.db47fe3c.js.map → column-views.d77d260b.js.map} +1 -1
  177. package/dist/node/{column-views.105c28fa.js → column-views.d818b387.js} +2 -2
  178. package/dist/node/{column-views.105c28fa.js.map → column-views.d818b387.js.map} +1 -1
  179. package/dist/node/{column-views.2d00d842.js → column-views.d8821a96.js} +2 -2
  180. package/dist/node/{column-views.2d00d842.js.map → column-views.d8821a96.js.map} +1 -1
  181. package/dist/node/column-views.dbb4a46b.js +2 -0
  182. package/dist/node/column-views.dbb4a46b.js.map +1 -0
  183. package/dist/node/{column-views.b12f8c81.js → column-views.e264a767.js} +2 -2
  184. package/dist/node/{column-views.b12f8c81.js.map → column-views.e264a767.js.map} +1 -1
  185. package/dist/node/column-views.e93b3bdb.js +2 -0
  186. package/dist/node/column-views.e93b3bdb.js.map +1 -0
  187. package/dist/node/{column-views.3913cd0f.js → column-views.ec691859.js} +2 -2
  188. package/dist/node/{column-views.3913cd0f.js.map → column-views.ec691859.js.map} +1 -1
  189. package/dist/node/column-views.ec7cc7cc.js +2 -0
  190. package/dist/node/column-views.ec7cc7cc.js.map +1 -0
  191. package/dist/node/{column-views.aae09aca.js → column-views.eecdc727.js} +2 -2
  192. package/dist/node/{column-views.aae09aca.js.map → column-views.eecdc727.js.map} +1 -1
  193. package/dist/node/{column-views.d08e4328.js → column-views.f577d065.js} +2 -2
  194. package/dist/node/{column-views.d08e4328.js.map → column-views.f577d065.js.map} +1 -1
  195. package/dist/node/column-views.fac4baff.js +2 -0
  196. package/dist/node/column-views.fac4baff.js.map +1 -0
  197. package/dist/node/index.js +1 -1
  198. package/dist/node/index.js.map +1 -1
  199. package/package.json +2 -2
  200. package/src/age-axis.ts +1 -1
  201. package/src/column.ts +4 -1
  202. package/src/correlation-chart/stories/correlation-chart.stories.ts +1 -1
  203. package/src/facets/detrital-zircon/index.ts +78 -11
  204. package/src/facets/detrital-zircon/provider.ts +1 -1
  205. package/src/facets/fossils/index.ts +145 -215
  206. package/src/facets/fossils/provider.ts +18 -25
  207. package/src/facets/fossils/taxon-ranges.ts +220 -0
  208. package/src/facets/index.ts +0 -1
  209. package/src/facets/{base-sample-column.module.sass → measurements/base.module.sass} +1 -0
  210. package/src/facets/measurements/base.ts +215 -0
  211. package/src/facets/measurements/index.ts +2 -38
  212. package/src/facets/measurements/sgp.ts +91 -0
  213. package/src/notes.ts +6 -3
  214. package/src/prepare-units/index.ts +8 -2
  215. package/src/prepare-units/utils.ts +55 -9
  216. package/dist/esm/column-views.05586d1f.js.map +0 -1
  217. package/dist/esm/column-views.1151416d.css.map +0 -1
  218. package/dist/esm/column-views.1e579112.js +0 -92
  219. package/dist/esm/column-views.1e579112.js.map +0 -1
  220. package/dist/esm/column-views.3a7179c4.js.map +0 -1
  221. package/dist/esm/column-views.43beafa3.js +0 -15
  222. package/dist/esm/column-views.52ad973a.js.map +0 -1
  223. package/dist/esm/column-views.54f8b909.js.map +0 -1
  224. package/dist/esm/column-views.6698b95a.js.map +0 -1
  225. package/dist/esm/column-views.6e7082db.js +0 -16
  226. package/dist/esm/column-views.6e7082db.js.map +0 -1
  227. package/dist/esm/column-views.7243e77d.js +0 -37
  228. package/dist/esm/column-views.7243e77d.js.map +0 -1
  229. package/dist/esm/column-views.76a220c4.js +0 -95
  230. package/dist/esm/column-views.76a220c4.js.map +0 -1
  231. package/dist/esm/column-views.9dd25b5b.js.map +0 -1
  232. package/dist/esm/column-views.b7016f82.css.map +0 -1
  233. package/dist/esm/column-views.d2214a99.js.map +0 -1
  234. package/dist/esm/column-views.d6d6df77.js.map +0 -1
  235. package/dist/esm/column-views.ea4ebbb7.js +0 -31
  236. package/dist/esm/column-views.ea4ebbb7.js.map +0 -1
  237. package/dist/node/column-views.16f336ee.js +0 -2
  238. package/dist/node/column-views.16f336ee.js.map +0 -1
  239. package/dist/node/column-views.1c567bfd.js +0 -2
  240. package/dist/node/column-views.1c567bfd.js.map +0 -1
  241. package/dist/node/column-views.2901b649.js +0 -2
  242. package/dist/node/column-views.2901b649.js.map +0 -1
  243. package/dist/node/column-views.29eb25bd.css +0 -2
  244. package/dist/node/column-views.29eb25bd.css.map +0 -1
  245. package/dist/node/column-views.39c21f22.js +0 -2
  246. package/dist/node/column-views.39c21f22.js.map +0 -1
  247. package/dist/node/column-views.573cb29d.js +0 -2
  248. package/dist/node/column-views.573cb29d.js.map +0 -1
  249. package/dist/node/column-views.5f3b0b04.js +0 -2
  250. package/dist/node/column-views.5f3b0b04.js.map +0 -1
  251. package/dist/node/column-views.77ace3a2.js +0 -2
  252. package/dist/node/column-views.77ace3a2.js.map +0 -1
  253. package/dist/node/column-views.8f54691f.js +0 -2
  254. package/dist/node/column-views.8f54691f.js.map +0 -1
  255. package/dist/node/column-views.a16cd1f2.js +0 -2
  256. package/dist/node/column-views.a16cd1f2.js.map +0 -1
  257. package/dist/node/column-views.a9576bac.js +0 -2
  258. package/dist/node/column-views.a9576bac.js.map +0 -1
  259. package/dist/node/column-views.c3c15cc2.js +0 -2
  260. package/dist/node/column-views.c3c15cc2.js.map +0 -1
  261. package/dist/node/column-views.cd7b223b.css +0 -2
  262. package/dist/node/column-views.cd7b223b.css.map +0 -1
  263. package/dist/node/column-views.f6ac1161.js +0 -2
  264. package/dist/node/column-views.f6ac1161.js.map +0 -1
  265. package/src/facets/base-sample-column.ts +0 -114
  266. package/src/facets/measurements/provider.ts +0 -80
  267. /package/src/facets/fossils/{index.module.sass → taxon-ranges.module.sass} +0 -0
@@ -1,2 +1,2 @@
1
- import"./column-views.22c2d45b.js";import{create as e,useStore as r}from"zustand";import{lineIntersect as t}from"@turf/line-intersect";import o from"@turf/distance";import{nearestPointOnLine as n}from"@turf/nearest-point-on-line";import{centroid as i}from"@turf/centroid";import{createContext as a,useState as s,useEffect as l,useContext as u}from"react";import c from"@macrostrat/hyper";import{createComputed as f}from"zustand-computed";function p(e,r,t,o){Object.defineProperty(e,r,{get:t,set:o,enumerable:!0,configurable:!0})}var d=globalThis,m={},g={},b=d.parcelRequirea149;null==b&&((b=function(e){if(e in m)return m[e].exports;if(e in g){var r=g[e];delete g[e];var t={id:e,exports:{}};return m[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){g[e]=r},d.parcelRequirea149=b),b.register;var C={};p(C,"ColumnCorrelationProvider",()=>P),p(C,"useCorrelationMapStore",()=>x);var v=b("lgTAP");let L=a(null),y=f(e=>{var r,a,s,l;return{focusedColumns:(r=e.columns,a=e.focusedLine,null==r||null==a||a.coordinates.length<2?[]:function(e,r){var t,a;let s=e.map(e=>i(e.geometry)),l=s.map(e=>n(r,e)),u=l.map(e=>o(e.geometry.coordinates,r.coordinates[0]));return t=e.map((e,r)=>({...e,properties:{...e.properties,centroid:s[r],nearestPointOnLine:l[r],distanceAlongLine:u[r]}})),a=e=>e.properties.distanceAlongLine,t.sort((e,r)=>a(e)-a(r))}((s=r,l=a,null==s||null==l?[]:s.filter(e=>{let r=e.geometry;return null!=r&&("Polygon"==r.type||"MultiPolygon"==r.type)&&t(l,r).features.length>0})),a))}});function P({children:t,columns:o,projectID:n,inProcess:i,focusedLine:a,onSelectColumns:u}){let[f]=s(()=>e(y((e,r)=>({focusedLine:a,columns:null,onClickMap(t,o){let n=r(),i=t.originalEvent.shiftKey,a=n.focusedLine?.coordinates??[];a.length>=2&&!i&&(a=[]),e({focusedLine:{type:"LineString",coordinates:[...a,o.coordinates]}})}})))),p=(0,v.useMacrostratColumns)(n,i);l(()=>{null!=p&&f.setState({columns:p})},[p]);let d=r(f,e=>e.focusedColumns),m=r(f,e=>e.focusedLine);return l(()=>{u?.(d,m)},[d,m]),c(L.Provider,{value:f},t)}function x(e){let t=u(L);if(null==t)throw Error("Missing CorrelationMapProvider");return r(t,e)}export{P as ColumnCorrelationProvider,x as useCorrelationMapStore};
2
- //# sourceMappingURL=column-views.7faaf6c8.js.map
1
+ import"./column-views.c007152b.js";import{create as e,useStore as r}from"zustand";import{lineIntersect as t}from"@turf/line-intersect";import o from"@turf/distance";import{nearestPointOnLine as n}from"@turf/nearest-point-on-line";import{centroid as i}from"@turf/centroid";import{createContext as a,useState as s,useEffect as l,useContext as u}from"react";import c from"@macrostrat/hyper";import{createComputed as f}from"zustand-computed";function p(e,r,t,o){Object.defineProperty(e,r,{get:t,set:o,enumerable:!0,configurable:!0})}var d=globalThis,m={},g={},b=d.parcelRequirea149;null==b&&((b=function(e){if(e in m)return m[e].exports;if(e in g){var r=g[e];delete g[e];var t={id:e,exports:{}};return m[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){g[e]=r},d.parcelRequirea149=b),b.register;var C={};p(C,"ColumnCorrelationProvider",()=>P),p(C,"useCorrelationMapStore",()=>x);var v=b("lgTAP");let L=a(null),y=f(e=>{var r,a,s,l;return{focusedColumns:(r=e.columns,a=e.focusedLine,null==r||null==a||a.coordinates.length<2?[]:function(e,r){var t,a;let s=e.map(e=>i(e.geometry)),l=s.map(e=>n(r,e)),u=l.map(e=>o(e.geometry.coordinates,r.coordinates[0]));return t=e.map((e,r)=>({...e,properties:{...e.properties,centroid:s[r],nearestPointOnLine:l[r],distanceAlongLine:u[r]}})),a=e=>e.properties.distanceAlongLine,t.sort((e,r)=>a(e)-a(r))}((s=r,l=a,null==s||null==l?[]:s.filter(e=>{let r=e.geometry;return null!=r&&("Polygon"==r.type||"MultiPolygon"==r.type)&&t(l,r).features.length>0})),a))}});function P({children:t,columns:o,projectID:n,inProcess:i,focusedLine:a,onSelectColumns:u}){let[f]=s(()=>e(y((e,r)=>({focusedLine:a,columns:null,onClickMap(t,o){let n=r(),i=t.originalEvent.shiftKey,a=n.focusedLine?.coordinates??[];a.length>=2&&!i&&(a=[]),e({focusedLine:{type:"LineString",coordinates:[...a,o.coordinates]}})}})))),p=(0,v.useMacrostratColumns)(n,i);l(()=>{null!=p&&f.setState({columns:p})},[p]);let d=r(f,e=>e.focusedColumns),m=r(f,e=>e.focusedLine);return l(()=>{u?.(d,m)},[d,m]),c(L.Provider,{value:f},t)}function x(e){let t=u(L);if(null==t)throw Error("Missing CorrelationMapProvider");return r(t,e)}export{P as ColumnCorrelationProvider,x as useCorrelationMapStore};
2
+ //# sourceMappingURL=column-views.8e846c57.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,K,sB,A,Q,M,gB,A,Q,sB,C,K,6B,A,Q,Y,C,K,gB,A,Q,iB,C,C,Y,C,C,a,C,C,c,C,K,O,A,Q,M,mB,A,Q,kB,C,K,kB,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,4B,I,G,E,E,yB,I,G,I,E,E,SCuCA,IAAM,EACJ,AAAA,EAAoD,MAOhD,EAAW,AAAA,EAAe,AAAC,QA0E/B,EACA,EAYA,EACA,QAvFO,CAEL,cAAA,EAuEF,EAvE0C,EAAM,OAAO,CAwEvD,EAxEyD,EAAM,WAAW,CA0E1E,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,GAAgB,EAAK,WAAW,CAAC,MAAM,CAAG,EACxD,EAAE,CAEJ,AAkCT,SACE,CAA8B,CAC9B,CAAgB,MAyBF,EAAM,EAvBpB,IAAM,EAAY,EAAQ,GAAG,CAAC,AAAC,GAAQ,AAAA,EAAS,EAAI,QAAQ,GACtD,EAAkB,EAAU,GAAG,CAAC,AAAC,GACrC,AAAA,EAAmB,EAAM,IAErB,EAAY,EAAgB,GAAG,CAAC,AAAC,GACrC,AAAA,EAAS,EAAM,QAAQ,CAAC,WAAW,CAAE,EAAK,WAAW,CAAC,EAAE,GAe1D,OAGc,EAfG,EAAQ,GAAG,CAAC,CAAC,EAAK,IAC1B,CAAA,CACL,GAAG,CAAG,CACN,WAAY,CACV,GAAG,EAAI,UAAU,CACjB,SAAU,CAAS,CAAC,EAAE,CACtB,mBAAoB,CAAe,CAAC,EAAE,CACtC,kBAAmB,CAAS,CAAC,EAAE,AACjC,CACF,CAAA,GAMkB,EAHM,AAAC,GAAM,EAAE,UAAU,CAAC,iBAAiB,CAIxD,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAS,GAAK,EAAS,GAHpD,GApDE,EAN6B,EAO7B,EAPsC,EAStC,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,EACd,EAAE,CAGJ,EAAQ,MAAM,CAAC,AAAC,IACrB,IAAM,EAAO,EAAI,QAAQ,QAGzB,AAAY,MAAR,GACA,CAAA,AAAa,WAAb,EAAK,IAAI,EAAiB,AAAa,gBAAb,EAAK,IAAI,AAAI,GAGpC,AADc,AAAA,EAAc,EAAM,GACrB,QAAQ,CAAC,MAAM,CAAG,CACxC,IArBE,GA9EF,IAGK,SAAS,EAA0B,CAAA,SACxC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,UACT,CAAS,CAAA,YACT,CAAW,CAAA,gBACX,CAAe,CACU,EACzB,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EACL,EAAS,CAAC,EAAK,IACN,CAAA,CACL,YAAA,EACA,QAAS,KACT,WAAW,CAA6B,CAAE,CAAY,EACpD,IAAM,EAAQ,IAER,EAAkB,EAAM,aAAa,CAAC,QAAQ,CAChD,EAAiB,EAAM,WAAW,EAAE,aAAe,EAAE,AAErD,CAAA,EAAe,MAAM,EAAI,GAAK,CAAC,GAEjC,CAAA,EAAiB,EAAE,AAAF,EAEnB,EAAI,CACF,YAAa,CACX,KAAM,aACN,YAAa,IAAI,EAAgB,EAAM,WAAW,CAAC,AACrD,CACF,EACF,CACF,CAAA,KAOA,EAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GACjD,AAAA,EAAU,KACJ,AAAY,MAAZ,GACF,EAAM,QAAQ,CAAC,CAAE,QAAS,CAAS,EAEvC,EAAG,CAAC,EAAS,EAGb,IAAM,EAAiB,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,cAAc,EAChE,EAAe,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,WAAW,EAMjE,OAJA,AAAA,EAAU,KACR,IAAkB,EAAgB,EACpC,EAAG,CAAC,EAAgB,EAAa,EAE1B,AAAA,EAAE,EAAwB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC/D,CAEO,SAAS,EACd,CAA6D,EAE7D,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,kCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,yB,C,K,sB","sources":["<anon>","packages/column-views/src/maps/column-correlation/state.ts"],"sourcesContent":["import \"./column-views.22c2d45b.js\";\nimport {create as $g7zod$create, useStore as $g7zod$useStore} from \"zustand\";\nimport {lineIntersect as $g7zod$lineIntersect} from \"@turf/line-intersect\";\nimport $g7zod$turfdistance from \"@turf/distance\";\nimport {nearestPointOnLine as $g7zod$nearestPointOnLine} from \"@turf/nearest-point-on-line\";\nimport {centroid as $g7zod$centroid} from \"@turf/centroid\";\nimport {createContext as $g7zod$createContext, useState as $g7zod$useState, useEffect as $g7zod$useEffect, useContext as $g7zod$useContext} from \"react\";\nimport $g7zod$macrostrathyper from \"@macrostrat/hyper\";\nimport {createComputed as $g7zod$createComputed} from \"zustand-computed\";\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 $c36af3ba15da093b$exports = {};\n\n$parcel$export($c36af3ba15da093b$exports, \"ColumnCorrelationProvider\", () => $c36af3ba15da093b$export$72ffe141ebf87ef1);\n$parcel$export($c36af3ba15da093b$exports, \"useCorrelationMapStore\", () => $c36af3ba15da093b$export$21398703d3a9bb4d);\n\n\n\n\n\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $c36af3ba15da093b$var$CorrelationStoreContext = (0, $g7zod$createContext)(null);\n/** A computed store that will automatically update when the state changes */ const $c36af3ba15da093b$var$computed = (0, $g7zod$createComputed)((state)=>{\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: $c36af3ba15da093b$var$buildCorrelationColumns(state.columns, state.focusedLine)\n };\n});\nfunction $c36af3ba15da093b$export$72ffe141ebf87ef1({ children: children, columns: columns, projectID: projectID, inProcess: inProcess, focusedLine: focusedLine, onSelectColumns: onSelectColumns }) {\n const [store] = (0, $g7zod$useState)(()=>{\n return (0, $g7zod$create)($c36af3ba15da093b$var$computed((set, get)=>{\n return {\n focusedLine: focusedLine,\n columns: null,\n onClickMap (event, point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n if (existingCoords.length >= 2 && !shiftKeyPressed) // Reset the line to zero length\n existingCoords = [];\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [\n ...existingCoords,\n point.coordinates\n ]\n }\n });\n }\n };\n }));\n });\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */ const _columns = (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n (0, $g7zod$useEffect)(()=>{\n if (_columns != null) store.setState({\n columns: _columns\n });\n }, [\n _columns\n ]);\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = (0, $g7zod$useStore)(store, (state)=>state.focusedColumns);\n const _focusedLine = (0, $g7zod$useStore)(store, (state)=>state.focusedLine);\n (0, $g7zod$useEffect)(()=>{\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [\n focusedColumns,\n _focusedLine\n ]);\n return (0, $g7zod$macrostrathyper)($c36af3ba15da093b$var$CorrelationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $c36af3ba15da093b$export$21398703d3a9bb4d(selector) {\n const storeApi = (0, $g7zod$useContext)($c36af3ba15da093b$var$CorrelationStoreContext);\n if (storeApi == null) throw new Error(\"Missing CorrelationMapProvider\");\n return (0, $g7zod$useStore)(storeApi, selector);\n}\nfunction $c36af3ba15da093b$var$buildCorrelationColumns(columns, line) {\n if (columns == null || line == null || line.coordinates.length < 2) return [];\n return $c36af3ba15da093b$var$orderColumnsByDistance($c36af3ba15da093b$var$computeIntersectingColumns(columns, line), line);\n}\nfunction $c36af3ba15da093b$var$computeIntersectingColumns(columns, line) {\n if (columns == null || line == null) return [];\n return columns.filter((col)=>{\n const poly = col.geometry;\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n const intersection = (0, $g7zod$lineIntersect)(line, poly);\n return intersection.features.length > 0;\n });\n}\nfunction $c36af3ba15da093b$var$orderColumnsByDistance(columns, line) {\n const centroids = columns.map((col)=>(0, $g7zod$centroid)(col.geometry));\n const projectedPoints = centroids.map((point)=>(0, $g7zod$nearestPointOnLine)(line, point));\n const distances = projectedPoints.map((point)=>(0, $g7zod$turfdistance)(point.geometry.coordinates, line.coordinates[0]));\n let newColumns = columns.map((col, i)=>{\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i]\n }\n };\n });\n return $c36af3ba15da093b$var$sorted(newColumns, (d)=>d.properties.distanceAlongLine);\n}\nfunction $c36af3ba15da093b$var$sorted(data, accessor) {\n return data.sort((a, b)=>accessor(a) - accessor(b));\n}\n\n\nexport {$c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore};\n//# sourceMappingURL=column-views.7faaf6c8.js.map\n","import { LineString, Point } from \"geojson\";\nimport { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecord } from \"@macrostrat/api-types\";\n// Turf intersection\nimport { lineIntersect } from \"@turf/line-intersect\";\nimport distance from \"@turf/distance\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { centroid } from \"@turf/centroid\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { createComputed } from \"zustand-computed\";\nimport { useMacrostratColumns } from \"../../data-provider/base\";\n\nexport interface CorrelationMapInput {\n columns: ColumnGeoJSONRecord[];\n focusedLine: LineString | null;\n}\n\nexport interface CorrelationMapStore extends CorrelationMapInput {\n onClickMap: (event: mapboxgl.MapMouseEvent, point: Point) => void;\n}\n\nexport interface CorrelationProviderProps extends CorrelationMapInput {\n projectID?: number;\n inProcess?: boolean;\n columns: ColumnGeoJSONRecord[] | null;\n children: ReactNode;\n onSelectColumns?: (\n columns: FocusedColumnGeoJSONRecord[],\n line: LineString | null,\n ) => void;\n}\n\nconst CorrelationStoreContext =\n createContext<StoreApi<CorrelationMapStore> | null>(null);\n\ntype ComputedStore = {\n focusedColumns: FocusedColumnGeoJSONRecord[];\n};\n\n/** A computed store that will automatically update when the state changes */\nconst computed = createComputed((state: CorrelationMapStore): ComputedStore => {\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: buildCorrelationColumns(state.columns, state.focusedLine),\n };\n}) as any;\n\nexport function ColumnCorrelationProvider({\n children,\n columns,\n projectID,\n inProcess,\n focusedLine,\n onSelectColumns,\n}: CorrelationProviderProps) {\n const [store] = useState(() => {\n return create<CorrelationMapStore & ComputedStore>(\n computed((set, get): CorrelationMapStore => {\n return {\n focusedLine,\n columns: null,\n onClickMap(event: mapboxgl.MapMouseEvent, point: Point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n\n if (existingCoords.length >= 2 && !shiftKeyPressed) {\n // Reset the line to zero length\n existingCoords = [];\n }\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [...existingCoords, point.coordinates],\n },\n });\n },\n };\n }),\n );\n });\n\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */\n const _columns = useMacrostratColumns(projectID, inProcess);\n useEffect(() => {\n if (_columns != null) {\n store.setState({ columns: _columns });\n }\n }, [_columns]);\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = useStore(store, (state) => state.focusedColumns);\n const _focusedLine = useStore(store, (state) => state.focusedLine);\n\n useEffect(() => {\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [focusedColumns, _focusedLine]);\n\n return h(CorrelationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useCorrelationMapStore(\n selector: (state: CorrelationMapStore & ComputedStore) => any,\n) {\n const storeApi = useContext(CorrelationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing CorrelationMapProvider\");\n }\n return useStore(storeApi, selector);\n}\n\nfunction buildCorrelationColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n if (columns == null || line == null || line.coordinates.length < 2) {\n return [];\n }\n return orderColumnsByDistance(\n computeIntersectingColumns(columns, line),\n line,\n );\n}\n\nfunction computeIntersectingColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): ColumnGeoJSONRecord[] {\n if (columns == null || line == null) {\n return [];\n }\n\n return columns.filter((col) => {\n const poly = col.geometry;\n\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n\n const intersection = lineIntersect(line, poly);\n return intersection.features.length > 0;\n });\n}\n\ninterface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {\n properties: {\n centroid: Point;\n nearestPointOnLine: Point;\n distanceAlongLine: number;\n } & ColumnGeoJSONRecord[\"properties\"];\n}\n\nfunction orderColumnsByDistance(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n const centroids = columns.map((col) => centroid(col.geometry));\n const projectedPoints = centroids.map((point) =>\n nearestPointOnLine(line, point),\n );\n const distances = projectedPoints.map((point) =>\n distance(point.geometry.coordinates, line.coordinates[0]),\n );\n\n let newColumns = columns.map((col, i) => {\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i],\n },\n };\n });\n\n return sorted(newColumns, (d) => d.properties.distanceAlongLine);\n}\n\nfunction sorted(data, accessor: (d) => number) {\n return data.sort((a, b) => accessor(a) - accessor(b));\n}\n"],"names":["create","$g7zod$create","useStore","$g7zod$useStore","lineIntersect","$g7zod$lineIntersect","$g7zod$turfdistance","nearestPointOnLine","$g7zod$nearestPointOnLine","centroid","$g7zod$centroid","createContext","$g7zod$createContext","useState","$g7zod$useState","useEffect","$g7zod$useEffect","useContext","$g7zod$useContext","$g7zod$macrostrathyper","createComputed","$g7zod$createComputed","$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","$c36af3ba15da093b$exports","$c36af3ba15da093b$export$72ffe141ebf87ef1","$c36af3ba15da093b$export$21398703d3a9bb4d","$lgTAP","$c36af3ba15da093b$var$CorrelationStoreContext","$c36af3ba15da093b$var$computed","state","columns","line","focusedColumns","focusedLine","coordinates","length","$c36af3ba15da093b$var$orderColumnsByDistance","data","accessor","centroids","map","col","geometry","projectedPoints","point","distances","i","properties","distanceAlongLine","d","sort","a","b","filter","poly","type","intersection","features","children","projectID","inProcess","onSelectColumns","store","onClickMap","event","shiftKeyPressed","originalEvent","shiftKey","existingCoords","_columns","useMacrostratColumns","setState","_focusedLine","Provider","value","selector","storeApi","ColumnCorrelationProvider","useCorrelationMapStore"],"version":3,"file":"column-views.7faaf6c8.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,K,sB,A,Q,M,gB,A,Q,sB,C,K,6B,A,Q,Y,C,K,gB,A,Q,iB,C,C,Y,C,C,a,C,C,c,C,K,O,A,Q,M,mB,A,Q,kB,C,K,kB,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,4B,I,G,E,E,yB,I,G,I,E,E,SCuCA,IAAM,EACJ,AAAA,EAAoD,MAOhD,EAAW,AAAA,EAAe,AAAC,QA0E/B,EACA,EAYA,EACA,QAvFO,CAEL,cAAA,EAuEF,EAvE0C,EAAM,OAAO,CAwEvD,EAxEyD,EAAM,WAAW,CA0E1E,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,GAAgB,EAAK,WAAW,CAAC,MAAM,CAAG,EACxD,EAAE,CAEJ,AAkCT,SACE,CAA8B,CAC9B,CAAgB,MAyBF,EAAM,EAvBpB,IAAM,EAAY,EAAQ,GAAG,CAAC,AAAC,GAAQ,AAAA,EAAS,EAAI,QAAQ,GACtD,EAAkB,EAAU,GAAG,CAAC,AAAC,GACrC,AAAA,EAAmB,EAAM,IAErB,EAAY,EAAgB,GAAG,CAAC,AAAC,GACrC,AAAA,EAAS,EAAM,QAAQ,CAAC,WAAW,CAAE,EAAK,WAAW,CAAC,EAAE,GAe1D,OAGc,EAfG,EAAQ,GAAG,CAAC,CAAC,EAAK,IAC1B,CAAA,CACL,GAAG,CAAG,CACN,WAAY,CACV,GAAG,EAAI,UAAU,CACjB,SAAU,CAAS,CAAC,EAAE,CACtB,mBAAoB,CAAe,CAAC,EAAE,CACtC,kBAAmB,CAAS,CAAC,EAAE,AACjC,CACF,CAAA,GAMkB,EAHM,AAAC,GAAM,EAAE,UAAU,CAAC,iBAAiB,CAIxD,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAS,GAAK,EAAS,GAHpD,GApDE,EAN6B,EAO7B,EAPsC,EAStC,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,EACd,EAAE,CAGJ,EAAQ,MAAM,CAAC,AAAC,IACrB,IAAM,EAAO,EAAI,QAAQ,QAGzB,AAAY,MAAR,GACA,CAAA,AAAa,WAAb,EAAK,IAAI,EAAiB,AAAa,gBAAb,EAAK,IAAI,AAAI,GAGpC,AADc,AAAA,EAAc,EAAM,GACrB,QAAQ,CAAC,MAAM,CAAG,CACxC,IArBE,GA9EF,IAGK,SAAS,EAA0B,CAAA,SACxC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,UACT,CAAS,CAAA,YACT,CAAW,CAAA,gBACX,CAAe,CACU,EACzB,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EACL,EAAS,CAAC,EAAK,IACN,CAAA,CACL,YAAA,EACA,QAAS,KACT,WAAW,CAA6B,CAAE,CAAY,EACpD,IAAM,EAAQ,IAER,EAAkB,EAAM,aAAa,CAAC,QAAQ,CAChD,EAAiB,EAAM,WAAW,EAAE,aAAe,EAAE,AAErD,CAAA,EAAe,MAAM,EAAI,GAAK,CAAC,GAEjC,CAAA,EAAiB,EAAE,AAAF,EAEnB,EAAI,CACF,YAAa,CACX,KAAM,aACN,YAAa,IAAI,EAAgB,EAAM,WAAW,CAAC,AACrD,CACF,EACF,CACF,CAAA,KAOA,EAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GACjD,AAAA,EAAU,KACJ,AAAY,MAAZ,GACF,EAAM,QAAQ,CAAC,CAAE,QAAS,CAAS,EAEvC,EAAG,CAAC,EAAS,EAGb,IAAM,EAAiB,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,cAAc,EAChE,EAAe,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,WAAW,EAMjE,OAJA,AAAA,EAAU,KACR,IAAkB,EAAgB,EACpC,EAAG,CAAC,EAAgB,EAAa,EAE1B,AAAA,EAAE,EAAwB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC/D,CAEO,SAAS,EACd,CAA6D,EAE7D,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,kCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,yB,C,K,sB","sources":["<anon>","packages/column-views/src/maps/column-correlation/state.ts"],"sourcesContent":["import \"./column-views.c007152b.js\";\nimport {create as $g7zod$create, useStore as $g7zod$useStore} from \"zustand\";\nimport {lineIntersect as $g7zod$lineIntersect} from \"@turf/line-intersect\";\nimport $g7zod$turfdistance from \"@turf/distance\";\nimport {nearestPointOnLine as $g7zod$nearestPointOnLine} from \"@turf/nearest-point-on-line\";\nimport {centroid as $g7zod$centroid} from \"@turf/centroid\";\nimport {createContext as $g7zod$createContext, useState as $g7zod$useState, useEffect as $g7zod$useEffect, useContext as $g7zod$useContext} from \"react\";\nimport $g7zod$macrostrathyper from \"@macrostrat/hyper\";\nimport {createComputed as $g7zod$createComputed} from \"zustand-computed\";\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 $c36af3ba15da093b$exports = {};\n\n$parcel$export($c36af3ba15da093b$exports, \"ColumnCorrelationProvider\", () => $c36af3ba15da093b$export$72ffe141ebf87ef1);\n$parcel$export($c36af3ba15da093b$exports, \"useCorrelationMapStore\", () => $c36af3ba15da093b$export$21398703d3a9bb4d);\n\n\n\n\n\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $c36af3ba15da093b$var$CorrelationStoreContext = (0, $g7zod$createContext)(null);\n/** A computed store that will automatically update when the state changes */ const $c36af3ba15da093b$var$computed = (0, $g7zod$createComputed)((state)=>{\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: $c36af3ba15da093b$var$buildCorrelationColumns(state.columns, state.focusedLine)\n };\n});\nfunction $c36af3ba15da093b$export$72ffe141ebf87ef1({ children: children, columns: columns, projectID: projectID, inProcess: inProcess, focusedLine: focusedLine, onSelectColumns: onSelectColumns }) {\n const [store] = (0, $g7zod$useState)(()=>{\n return (0, $g7zod$create)($c36af3ba15da093b$var$computed((set, get)=>{\n return {\n focusedLine: focusedLine,\n columns: null,\n onClickMap (event, point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n if (existingCoords.length >= 2 && !shiftKeyPressed) // Reset the line to zero length\n existingCoords = [];\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [\n ...existingCoords,\n point.coordinates\n ]\n }\n });\n }\n };\n }));\n });\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */ const _columns = (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n (0, $g7zod$useEffect)(()=>{\n if (_columns != null) store.setState({\n columns: _columns\n });\n }, [\n _columns\n ]);\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = (0, $g7zod$useStore)(store, (state)=>state.focusedColumns);\n const _focusedLine = (0, $g7zod$useStore)(store, (state)=>state.focusedLine);\n (0, $g7zod$useEffect)(()=>{\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [\n focusedColumns,\n _focusedLine\n ]);\n return (0, $g7zod$macrostrathyper)($c36af3ba15da093b$var$CorrelationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $c36af3ba15da093b$export$21398703d3a9bb4d(selector) {\n const storeApi = (0, $g7zod$useContext)($c36af3ba15da093b$var$CorrelationStoreContext);\n if (storeApi == null) throw new Error(\"Missing CorrelationMapProvider\");\n return (0, $g7zod$useStore)(storeApi, selector);\n}\nfunction $c36af3ba15da093b$var$buildCorrelationColumns(columns, line) {\n if (columns == null || line == null || line.coordinates.length < 2) return [];\n return $c36af3ba15da093b$var$orderColumnsByDistance($c36af3ba15da093b$var$computeIntersectingColumns(columns, line), line);\n}\nfunction $c36af3ba15da093b$var$computeIntersectingColumns(columns, line) {\n if (columns == null || line == null) return [];\n return columns.filter((col)=>{\n const poly = col.geometry;\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n const intersection = (0, $g7zod$lineIntersect)(line, poly);\n return intersection.features.length > 0;\n });\n}\nfunction $c36af3ba15da093b$var$orderColumnsByDistance(columns, line) {\n const centroids = columns.map((col)=>(0, $g7zod$centroid)(col.geometry));\n const projectedPoints = centroids.map((point)=>(0, $g7zod$nearestPointOnLine)(line, point));\n const distances = projectedPoints.map((point)=>(0, $g7zod$turfdistance)(point.geometry.coordinates, line.coordinates[0]));\n let newColumns = columns.map((col, i)=>{\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i]\n }\n };\n });\n return $c36af3ba15da093b$var$sorted(newColumns, (d)=>d.properties.distanceAlongLine);\n}\nfunction $c36af3ba15da093b$var$sorted(data, accessor) {\n return data.sort((a, b)=>accessor(a) - accessor(b));\n}\n\n\nexport {$c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore};\n//# sourceMappingURL=column-views.8e846c57.js.map\n","import { LineString, Point } from \"geojson\";\nimport { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecord } from \"@macrostrat/api-types\";\n// Turf intersection\nimport { lineIntersect } from \"@turf/line-intersect\";\nimport distance from \"@turf/distance\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { centroid } from \"@turf/centroid\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { createComputed } from \"zustand-computed\";\nimport { useMacrostratColumns } from \"../../data-provider/base\";\n\nexport interface CorrelationMapInput {\n columns: ColumnGeoJSONRecord[];\n focusedLine: LineString | null;\n}\n\nexport interface CorrelationMapStore extends CorrelationMapInput {\n onClickMap: (event: mapboxgl.MapMouseEvent, point: Point) => void;\n}\n\nexport interface CorrelationProviderProps extends CorrelationMapInput {\n projectID?: number;\n inProcess?: boolean;\n columns: ColumnGeoJSONRecord[] | null;\n children: ReactNode;\n onSelectColumns?: (\n columns: FocusedColumnGeoJSONRecord[],\n line: LineString | null,\n ) => void;\n}\n\nconst CorrelationStoreContext =\n createContext<StoreApi<CorrelationMapStore> | null>(null);\n\ntype ComputedStore = {\n focusedColumns: FocusedColumnGeoJSONRecord[];\n};\n\n/** A computed store that will automatically update when the state changes */\nconst computed = createComputed((state: CorrelationMapStore): ComputedStore => {\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: buildCorrelationColumns(state.columns, state.focusedLine),\n };\n}) as any;\n\nexport function ColumnCorrelationProvider({\n children,\n columns,\n projectID,\n inProcess,\n focusedLine,\n onSelectColumns,\n}: CorrelationProviderProps) {\n const [store] = useState(() => {\n return create<CorrelationMapStore & ComputedStore>(\n computed((set, get): CorrelationMapStore => {\n return {\n focusedLine,\n columns: null,\n onClickMap(event: mapboxgl.MapMouseEvent, point: Point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n\n if (existingCoords.length >= 2 && !shiftKeyPressed) {\n // Reset the line to zero length\n existingCoords = [];\n }\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [...existingCoords, point.coordinates],\n },\n });\n },\n };\n }),\n );\n });\n\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */\n const _columns = useMacrostratColumns(projectID, inProcess);\n useEffect(() => {\n if (_columns != null) {\n store.setState({ columns: _columns });\n }\n }, [_columns]);\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = useStore(store, (state) => state.focusedColumns);\n const _focusedLine = useStore(store, (state) => state.focusedLine);\n\n useEffect(() => {\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [focusedColumns, _focusedLine]);\n\n return h(CorrelationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useCorrelationMapStore(\n selector: (state: CorrelationMapStore & ComputedStore) => any,\n) {\n const storeApi = useContext(CorrelationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing CorrelationMapProvider\");\n }\n return useStore(storeApi, selector);\n}\n\nfunction buildCorrelationColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n if (columns == null || line == null || line.coordinates.length < 2) {\n return [];\n }\n return orderColumnsByDistance(\n computeIntersectingColumns(columns, line),\n line,\n );\n}\n\nfunction computeIntersectingColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): ColumnGeoJSONRecord[] {\n if (columns == null || line == null) {\n return [];\n }\n\n return columns.filter((col) => {\n const poly = col.geometry;\n\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n\n const intersection = lineIntersect(line, poly);\n return intersection.features.length > 0;\n });\n}\n\ninterface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {\n properties: {\n centroid: Point;\n nearestPointOnLine: Point;\n distanceAlongLine: number;\n } & ColumnGeoJSONRecord[\"properties\"];\n}\n\nfunction orderColumnsByDistance(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n const centroids = columns.map((col) => centroid(col.geometry));\n const projectedPoints = centroids.map((point) =>\n nearestPointOnLine(line, point),\n );\n const distances = projectedPoints.map((point) =>\n distance(point.geometry.coordinates, line.coordinates[0]),\n );\n\n let newColumns = columns.map((col, i) => {\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i],\n },\n };\n });\n\n return sorted(newColumns, (d) => d.properties.distanceAlongLine);\n}\n\nfunction sorted(data, accessor: (d) => number) {\n return data.sort((a, b) => accessor(a) - accessor(b));\n}\n"],"names":["create","$g7zod$create","useStore","$g7zod$useStore","lineIntersect","$g7zod$lineIntersect","$g7zod$turfdistance","nearestPointOnLine","$g7zod$nearestPointOnLine","centroid","$g7zod$centroid","createContext","$g7zod$createContext","useState","$g7zod$useState","useEffect","$g7zod$useEffect","useContext","$g7zod$useContext","$g7zod$macrostrathyper","createComputed","$g7zod$createComputed","$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","$c36af3ba15da093b$exports","$c36af3ba15da093b$export$72ffe141ebf87ef1","$c36af3ba15da093b$export$21398703d3a9bb4d","$lgTAP","$c36af3ba15da093b$var$CorrelationStoreContext","$c36af3ba15da093b$var$computed","state","columns","line","focusedColumns","focusedLine","coordinates","length","$c36af3ba15da093b$var$orderColumnsByDistance","data","accessor","centroids","map","col","geometry","projectedPoints","point","distances","i","properties","distanceAlongLine","d","sort","a","b","filter","poly","type","intersection","features","children","projectID","inProcess","onSelectColumns","store","onClickMap","event","shiftKeyPressed","originalEvent","shiftKey","existingCoords","_columns","useMacrostratColumns","setState","_focusedLine","Provider","value","selector","storeApi","ColumnCorrelationProvider","useCorrelationMapStore"],"version":3,"file":"column-views.8e846c57.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.420b60d2.js";import"./column-views.b6943236.js";import"./column-views.6bba8c57.js";import"./column-views.38835c99.js";import"./column-views.22c2d45b.js";import"./column-views.e7e26765.js";import"./column-views.e6720522.js";import e from"@macrostrat/hyper";import{LithologyColumn as o,useColumnLayout as n,useGeologicPattern as t}from"@macrostrat/column-components";import{useInDarkMode as i}from"@macrostrat/ui-components";import{useMemo as r}from"react";function a(e,o){return Object.keys(o).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return o[n]}})}),e}function d(e,o,n,t){Object.defineProperty(e,o,{get:n,set:t,enumerable:!0,configurable:!0})}var l=globalThis,s={},c={},u=l.parcelRequirea149;null==u&&((u=function(e){if(e in s)return s[e].exports;if(e in c){var o=c[e];delete c[e];var n={id:e,exports:{}};return s[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){c[e]=o},l.parcelRequirea149=u),u.register;var m={};d(m,"UnitsColumn",()=>x),d(m,"SimpleUnitsColumn",()=>g),d(m,"BasicUnitComponent",()=>_),d(m,"UnitComponent",()=>h),d(m,"useUnitColor",()=>w),d(m,"ColoredUnitComponent",()=>E),d(m,"useUnitColorByEnvironment",()=>H),d(m,"EnvironmentColoredUnitComponent",()=>y);var f=u("jiUaC"),p=u("1n4Pb"),b=u("bfmPX"),$=u("4Abge"),C=u("lgTAP"),v=u("5VyZI"),U=u("lI6Sf");function x({width:n=100}){return e(o,{width:n},e(p.UnitBoxes))}function g(o){let{columnWidth:n,width:t,gutterWidth:i=0,labelOffset:r=30}=o;return e([e(x,{width:n}),e(f.UnitNamesColumn,{transform:`translate(${n+i})`,paddingLeft:r,width:t-n-i})])}function _({division:o,...n}){return e(h,{division:o,...n,backgroundColor:o.color,patternID:o.patternID})}function h({division:o,nColumns:t=2,...i}){let r=i.width??n()?.width,a=0==(o.overlappingUnits?.length??0)?1:t,d=(o.column??0)%a;return e($.TrackedLabeledUnit,{division:o,...i,width:r/a,x:d*r/a})}function w(e,o={}){let n=(0,C.useLithologies)(),t=i(),{asBackground:a=!0}=o;return r(()=>null==e||null==n?null:(0,b.getMixedUnitColor)(e,n,t,a),[e?.unit_id,n,t,a])}function E(o){let n=w(o.division);return e(h,{fill:t(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:n,...o})}function H(e,o={}){let n=(0,C.useEnvironments)(),t=(0,C.useLithologies)(),a=i(),{asBackground:d=!0}=o;return r(()=>{if(null==e||null==n)return null;let o=(0,b.getMixedUnitColor)(e,n,a,d,{key:"environ",id_key:"environ_id"});return null!=o?o:(0,b.getMixedUnitColor)(e,t,a,d)},[e?.unit_id,n,t,a,d])}function y(o){let n=H(o.division);return e(h,{fill:t(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:n,...o})}a(m,b),a(m,$),a(m,U);export{x as UnitsColumn,g as SimpleUnitsColumn,_ as BasicUnitComponent,h as UnitComponent,w as useUnitColor,E as ColoredUnitComponent,H as useUnitColorByEnvironment,y as EnvironmentColoredUnitComponent,$0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor,$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider,$6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit,$6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent,$6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn,$6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn,$6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn,$6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};
2
- //# sourceMappingURL=column-views.003348f6.js.map
1
+ import"./column-views.93bde6c1.js";import"./column-views.c921fa1a.js";import"./column-views.6bba8c57.js";import"./column-views.5559de6a.js";import"./column-views.c007152b.js";import"./column-views.e7e26765.js";import"./column-views.e6720522.js";import e from"@macrostrat/hyper";import{LithologyColumn as o,useColumnLayout as n,useGeologicPattern as t}from"@macrostrat/column-components";import{useInDarkMode as i}from"@macrostrat/ui-components";import{useMemo as r}from"react";function a(e,o){return Object.keys(o).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return o[n]}})}),e}function d(e,o,n,t){Object.defineProperty(e,o,{get:n,set:t,enumerable:!0,configurable:!0})}var l=globalThis,s={},c={},u=l.parcelRequirea149;null==u&&((u=function(e){if(e in s)return s[e].exports;if(e in c){var o=c[e];delete c[e];var n={id:e,exports:{}};return s[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){c[e]=o},l.parcelRequirea149=u),u.register;var m={};d(m,"UnitsColumn",()=>x),d(m,"SimpleUnitsColumn",()=>g),d(m,"BasicUnitComponent",()=>_),d(m,"UnitComponent",()=>h),d(m,"useUnitColor",()=>w),d(m,"ColoredUnitComponent",()=>E),d(m,"useUnitColorByEnvironment",()=>H),d(m,"EnvironmentColoredUnitComponent",()=>y);var f=u("jiUaC"),p=u("1n4Pb"),b=u("bfmPX"),$=u("4Abge"),C=u("lgTAP"),v=u("5VyZI"),U=u("lI6Sf");function x({width:n=100}){return e(o,{width:n},e(p.UnitBoxes))}function g(o){let{columnWidth:n,width:t,gutterWidth:i=0,labelOffset:r=30}=o;return e([e(x,{width:n}),e(f.UnitNamesColumn,{transform:`translate(${n+i})`,paddingLeft:r,width:t-n-i})])}function _({division:o,...n}){return e(h,{division:o,...n,backgroundColor:o.color,patternID:o.patternID})}function h({division:o,nColumns:t=2,...i}){let r=i.width??n()?.width,a=0==(o.overlappingUnits?.length??0)?1:t,d=(o.column??0)%a;return e($.TrackedLabeledUnit,{division:o,...i,width:r/a,x:d*r/a})}function w(e,o={}){let n=(0,C.useLithologies)(),t=i(),{asBackground:a=!0}=o;return r(()=>null==e||null==n?null:(0,b.getMixedUnitColor)(e,n,t,a),[e?.unit_id,n,t,a])}function E(o){let n=w(o.division);return e(h,{fill:t(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:n,...o})}function H(e,o={}){let n=(0,C.useEnvironments)(),t=(0,C.useLithologies)(),a=i(),{asBackground:d=!0}=o;return r(()=>{if(null==e||null==n)return null;let o=(0,b.getMixedUnitColor)(e,n,a,d,{key:"environ",id_key:"environ_id"});return null!=o?o:(0,b.getMixedUnitColor)(e,t,a,d)},[e?.unit_id,n,t,a,d])}function y(o){let n=H(o.division);return e(h,{fill:t(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:n,...o})}a(m,b),a(m,$),a(m,U);export{x as UnitsColumn,g as SimpleUnitsColumn,_ as BasicUnitComponent,h as UnitComponent,w as useUnitColor,E as ColoredUnitComponent,H as useUnitColorByEnvironment,y as EnvironmentColoredUnitComponent,$0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor,$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider,$6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit,$6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent,$6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn,$6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn,$6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn,$6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};
2
+ //# sourceMappingURL=column-views.8ee8469d.js.map
@@ -1 +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,Q,M,mB,A,Q,mB,C,C,mB,C,C,sB,C,K,+B,A,Q,iB,C,K,2B,A,Q,W,C,K,O,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,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,c,I,G,E,E,oB,I,G,E,E,qB,I,G,E,E,gB,I,G,E,E,e,I,G,E,E,uB,I,G,E,E,4B,I,G,E,E,kC,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCqBO,SAAS,EAAY,CAAA,MAAE,EAAQ,GAAA,CAAK,EAIzC,OAAO,AAAA,EAAE,EAAiB,CAAE,MAAA,CAAM,EAAG,AAAA,EAAE,EAAA,SAAQ,EACjD,CAEO,SAAS,EAAkB,CAA0B,EAK1D,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAA,YAAE,EAAc,CAAA,CAAA,YAAG,EAAc,EAAA,CAAI,CAAG,EAElE,OAAO,AAAA,EAAE,CACP,AAAA,EAAE,EAAa,CACb,MAAO,CACT,GACA,AAAA,EAAE,EAAA,eAAc,CAAG,CACjB,UAAW,CAAC,UAAU,EAAE,EAAc,EAAY,CAAC,CAAC,CACpD,YAAa,EACb,MAAO,EAAQ,EAAc,CAC/B,GACD,CACH,CAEO,SAAS,EAAmB,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,EAGtD,OAAO,AAAA,EAAE,EAAe,CACtB,SAAA,EACA,GAAG,CAAI,CACP,gBAAiB,EAAS,KAAK,CAC/B,UAAW,EAAS,SAAS,AAC/B,EACF,CAEO,SAAS,EAAc,CAAA,SAAE,CAAQ,CAAA,SAAE,EAAW,CAAA,CAAG,GAAG,EAAM,EAC/D,IAAM,EAAQ,EAAK,KAAK,EAAI,AAAA,KAAmB,MAGzC,EAAY,AAAqB,GADb,CAAA,EAAS,gBAAgB,EAAE,QAAU,CAAA,EACpB,EAAI,EACzC,EAAW,AAAC,CAAA,EAAS,MAAM,EAAI,CAAA,EAAK,EAI1C,OAAO,AAAA,EAAE,EAAA,kBAAiB,CAAG,CAC3B,SAAA,EACA,GAAG,CAAI,CACP,MANmB,EAAQ,EAO3B,EANS,EAAW,EAAS,CAO/B,EACF,CAMO,SAAS,EAAa,CAAI,CAAE,EAAyB,CAAC,CAAC,EAE5D,IAAM,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,IACb,AAAI,AAAQ,MAAR,GAAgB,AAAW,MAAX,EAAwB,KACrC,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,GACnD,CAAC,GAAM,QAAS,EAAS,EAAY,EAAa,CACvD,CAEO,SAAS,EAAqB,CAAK,EAGxC,IAAM,EAAkB,EAAa,EAAM,QAAQ,EAQnD,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,CAEO,SAAS,EACd,CAAI,CACJ,EAAyB,CAAC,CAAC,EAG3B,IAAM,EAAiB,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,IACjB,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,KACb,GAAI,AAAQ,MAAR,GAAgB,AAAkB,MAAlB,EAAwB,OAAO,KACnD,IAAI,EAAI,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAgB,EAAY,EAAc,CACxE,IAAK,UACL,OAAQ,YACV,UACA,AAAI,AAAK,MAAL,EACK,EAGF,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,EACtD,EAAG,CAAC,GAAM,QAAS,EAAgB,EAAS,EAAY,EAAa,CACvE,CAEO,SAAS,EAAgC,CAAK,EAGnD,IAAM,EAAkB,EAA0B,EAAM,QAAQ,EAQhE,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,C,E,E,G,E,E,G,E,E,U,K,W,C,K,iB,C,K,kB,C,K,a,C,K,Y,C,K,oB,C,K,yB,C,K,+B,C,6C,iB,C,6C,oB,C,6C,kB,C,6C,sB,C,6C,oB,C,6C,oB,C,6C,mB,C,4C,mB","sources":["<anon>","packages/column-views/src/units/index.ts"],"sourcesContent":["import \"./column-views.420b60d2.js\";\nimport \"./column-views.b6943236.js\";\nimport \"./column-views.6bba8c57.js\";\nimport \"./column-views.38835c99.js\";\nimport \"./column-views.22c2d45b.js\";\nimport \"./column-views.e7e26765.js\";\nimport \"./column-views.e6720522.js\";\nimport $6u7Ut$macrostrathyper from \"@macrostrat/hyper\";\nimport {LithologyColumn as $6u7Ut$LithologyColumn, useColumnLayout as $6u7Ut$useColumnLayout, useGeologicPattern as $6u7Ut$useGeologicPattern} from \"@macrostrat/column-components\";\nimport {useInDarkMode as $6u7Ut$useInDarkMode} from \"@macrostrat/ui-components\";\nimport {useMemo as $6u7Ut$useMemo} from \"react\";\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\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 $1da06db49d2262cb$exports = {};\n\n$parcel$export($1da06db49d2262cb$exports, \"UnitsColumn\", () => $1da06db49d2262cb$export$3750278673318c9a);\n$parcel$export($1da06db49d2262cb$exports, \"SimpleUnitsColumn\", () => $1da06db49d2262cb$export$2006342ddaa547c6);\n$parcel$export($1da06db49d2262cb$exports, \"BasicUnitComponent\", () => $1da06db49d2262cb$export$600691a8e9d13a7);\n$parcel$export($1da06db49d2262cb$exports, \"UnitComponent\", () => $1da06db49d2262cb$export$48a4cacf2b7a4441);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColor\", () => $1da06db49d2262cb$export$62c7735c72801c19);\n$parcel$export($1da06db49d2262cb$exports, \"ColoredUnitComponent\", () => $1da06db49d2262cb$export$6012fd1584b5d0c0);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColorByEnvironment\", () => $1da06db49d2262cb$export$4830e703a903113);\n$parcel$export($1da06db49d2262cb$exports, \"EnvironmentColoredUnitComponent\", () => $1da06db49d2262cb$export$c2fe8a14da82d570);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\n\nvar $4Abge = parcelRequire(\"4Abge\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lI6Sf = parcelRequire(\"lI6Sf\");\nfunction $1da06db49d2262cb$export$3750278673318c9a({ width: width = 100 }) {\n /*\n A column showing units with USGS color fill\n */ return (0, $6u7Ut$macrostrathyper)((0, $6u7Ut$LithologyColumn), {\n width: width\n }, (0, $6u7Ut$macrostrathyper)((0, $1n4Pb.UnitBoxes)));\n}\nfunction $1da06db49d2262cb$export$2006342ddaa547c6(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { columnWidth: columnWidth, width: width, gutterWidth: gutterWidth = 0, labelOffset: labelOffset = 30 } = props;\n return (0, $6u7Ut$macrostrathyper)([\n (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$3750278673318c9a, {\n width: columnWidth\n }),\n (0, $6u7Ut$macrostrathyper)((0, $jiUaC.UnitNamesColumn), {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth\n })\n ]);\n}\nfunction $1da06db49d2262cb$export$600691a8e9d13a7({ division: division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */ return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n division: division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID\n });\n}\nfunction $1da06db49d2262cb$export$48a4cacf2b7a4441({ division: division, nColumns: nColumns = 2, ...rest }) {\n const width = rest.width ?? (0, $6u7Ut$useColumnLayout)()?.width;\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = columnIx * width / _nColumns;\n return (0, $6u7Ut$macrostrathyper)((0, $4Abge.TrackedLabeledUnit), {\n division: division,\n ...rest,\n width: reducedWidth,\n x: x\n });\n}\nfunction $1da06db49d2262cb$export$62c7735c72801c19(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || lithMap == null) return null;\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$6012fd1584b5d0c0(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */ const backgroundColor = $1da06db49d2262cb$export$62c7735c72801c19(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$export$4830e703a903113(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const environmentMap = (0, $lgTAP.useEnvironments)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || environmentMap == null) return null;\n let c = (0, $bfmPX.getMixedUnitColor)(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\"\n });\n if (c != null) return c;\n // Fallback to lithology color if no environment color is found\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n environmentMap,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$c2fe8a14da82d570(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */ const backgroundColor = $1da06db49d2262cb$export$4830e703a903113(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$var$getPatternID(liths, lithMap) {\n if (lithMap == null || liths == null || liths.length == 0) return null;\n const patternIDs = new Set();\n for (const lith of liths){\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) patternIDs.add(`${lithData.fill}`);\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n$parcel$exportWildcard($1da06db49d2262cb$exports, $bfmPX);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $4Abge);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $lI6Sf);\n\n\nexport {$1da06db49d2262cb$export$3750278673318c9a as UnitsColumn, $1da06db49d2262cb$export$2006342ddaa547c6 as SimpleUnitsColumn, $1da06db49d2262cb$export$600691a8e9d13a7 as BasicUnitComponent, $1da06db49d2262cb$export$48a4cacf2b7a4441 as UnitComponent, $1da06db49d2262cb$export$62c7735c72801c19 as useUnitColor, $1da06db49d2262cb$export$6012fd1584b5d0c0 as ColoredUnitComponent, $1da06db49d2262cb$export$4830e703a903113 as useUnitColorByEnvironment, $1da06db49d2262cb$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor, $6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};\n//# sourceMappingURL=column-views.003348f6.js.map\n","import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":["$6u7Ut$macrostrathyper","LithologyColumn","$6u7Ut$LithologyColumn","useColumnLayout","$6u7Ut$useColumnLayout","useGeologicPattern","$6u7Ut$useGeologicPattern","useInDarkMode","$6u7Ut$useInDarkMode","useMemo","$6u7Ut$useMemo","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$export","e","n","v","s","set","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$1da06db49d2262cb$exports","$1da06db49d2262cb$export$3750278673318c9a","$1da06db49d2262cb$export$2006342ddaa547c6","$1da06db49d2262cb$export$600691a8e9d13a7","$1da06db49d2262cb$export$48a4cacf2b7a4441","$1da06db49d2262cb$export$62c7735c72801c19","$1da06db49d2262cb$export$6012fd1584b5d0c0","$1da06db49d2262cb$export$4830e703a903113","$1da06db49d2262cb$export$c2fe8a14da82d570","$jiUaC","$1n4Pb","$bfmPX","$4Abge","$lgTAP","$5VyZI","$lI6Sf","width","UnitBoxes","props","columnWidth","gutterWidth","labelOffset","UnitNamesColumn","transform","paddingLeft","division","rest","backgroundColor","color","patternID","nColumns","_nColumns","nOverlappingUnits","overlappingUnits","length","columnIx","column","TrackedLabeledUnit","x","unit","opts","lithMap","useLithologies","inDarkMode","asBackground","getMixedUnitColor","unit_id","fill","resolveID","environmentMap","useEnvironments","c","id_key","UnitsColumn","SimpleUnitsColumn","BasicUnitComponent","UnitComponent","useUnitColor","ColoredUnitComponent","useUnitColorByEnvironment","EnvironmentColoredUnitComponent","$0557c7dbdd54c055$export$175d3e927f1a9860","$6b7af672ec278734$export$e4e89ab6c86ac513","LabelTrackerProvider","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","CompositeUnitComponent","$6b7af672ec278734$export$a6684360fef0406e","CompositeUnitsColumn","$6b7af672ec278734$export$d8c3f2fdd653a082","AnnotatedUnitsColumn","$6b7af672ec278734$export$13984e34afdbb040","SectionLabelsColumn","$6b7af672ec278734$export$6cc7a9df4edde18","ColumnNotesProvider"],"version":3,"file":"column-views.003348f6.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,mB,C,C,mB,C,C,sB,C,K,+B,A,Q,iB,C,K,2B,A,Q,W,C,K,O,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,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,c,I,G,E,E,oB,I,G,E,E,qB,I,G,E,E,gB,I,G,E,E,e,I,G,E,E,uB,I,G,E,E,4B,I,G,E,E,kC,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCqBO,SAAS,EAAY,CAAA,MAAE,EAAQ,GAAA,CAAK,EAIzC,OAAO,AAAA,EAAE,EAAiB,CAAE,MAAA,CAAM,EAAG,AAAA,EAAE,EAAA,SAAQ,EACjD,CAEO,SAAS,EAAkB,CAA0B,EAK1D,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAA,YAAE,EAAc,CAAA,CAAA,YAAG,EAAc,EAAA,CAAI,CAAG,EAElE,OAAO,AAAA,EAAE,CACP,AAAA,EAAE,EAAa,CACb,MAAO,CACT,GACA,AAAA,EAAE,EAAA,eAAc,CAAG,CACjB,UAAW,CAAC,UAAU,EAAE,EAAc,EAAY,CAAC,CAAC,CACpD,YAAa,EACb,MAAO,EAAQ,EAAc,CAC/B,GACD,CACH,CAEO,SAAS,EAAmB,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,EAGtD,OAAO,AAAA,EAAE,EAAe,CACtB,SAAA,EACA,GAAG,CAAI,CACP,gBAAiB,EAAS,KAAK,CAC/B,UAAW,EAAS,SAAS,AAC/B,EACF,CAEO,SAAS,EAAc,CAAA,SAAE,CAAQ,CAAA,SAAE,EAAW,CAAA,CAAG,GAAG,EAAM,EAC/D,IAAM,EAAQ,EAAK,KAAK,EAAI,AAAA,KAAmB,MAGzC,EAAY,AAAqB,GADb,CAAA,EAAS,gBAAgB,EAAE,QAAU,CAAA,EACpB,EAAI,EACzC,EAAW,AAAC,CAAA,EAAS,MAAM,EAAI,CAAA,EAAK,EAI1C,OAAO,AAAA,EAAE,EAAA,kBAAiB,CAAG,CAC3B,SAAA,EACA,GAAG,CAAI,CACP,MANmB,EAAQ,EAO3B,EANS,EAAW,EAAS,CAO/B,EACF,CAMO,SAAS,EAAa,CAAI,CAAE,EAAyB,CAAC,CAAC,EAE5D,IAAM,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,IACb,AAAI,AAAQ,MAAR,GAAgB,AAAW,MAAX,EAAwB,KACrC,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,GACnD,CAAC,GAAM,QAAS,EAAS,EAAY,EAAa,CACvD,CAEO,SAAS,EAAqB,CAAK,EAGxC,IAAM,EAAkB,EAAa,EAAM,QAAQ,EAQnD,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,CAEO,SAAS,EACd,CAAI,CACJ,EAAyB,CAAC,CAAC,EAG3B,IAAM,EAAiB,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,IACjB,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,KACb,GAAI,AAAQ,MAAR,GAAgB,AAAkB,MAAlB,EAAwB,OAAO,KACnD,IAAI,EAAI,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAgB,EAAY,EAAc,CACxE,IAAK,UACL,OAAQ,YACV,UACA,AAAI,AAAK,MAAL,EACK,EAGF,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,EACtD,EAAG,CAAC,GAAM,QAAS,EAAgB,EAAS,EAAY,EAAa,CACvE,CAEO,SAAS,EAAgC,CAAK,EAGnD,IAAM,EAAkB,EAA0B,EAAM,QAAQ,EAQhE,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,C,E,E,G,E,E,G,E,E,U,K,W,C,K,iB,C,K,kB,C,K,a,C,K,Y,C,K,oB,C,K,yB,C,K,+B,C,6C,iB,C,6C,oB,C,6C,kB,C,6C,sB,C,6C,oB,C,6C,oB,C,6C,mB,C,4C,mB","sources":["<anon>","packages/column-views/src/units/index.ts"],"sourcesContent":["import \"./column-views.93bde6c1.js\";\nimport \"./column-views.c921fa1a.js\";\nimport \"./column-views.6bba8c57.js\";\nimport \"./column-views.5559de6a.js\";\nimport \"./column-views.c007152b.js\";\nimport \"./column-views.e7e26765.js\";\nimport \"./column-views.e6720522.js\";\nimport $6u7Ut$macrostrathyper from \"@macrostrat/hyper\";\nimport {LithologyColumn as $6u7Ut$LithologyColumn, useColumnLayout as $6u7Ut$useColumnLayout, useGeologicPattern as $6u7Ut$useGeologicPattern} from \"@macrostrat/column-components\";\nimport {useInDarkMode as $6u7Ut$useInDarkMode} from \"@macrostrat/ui-components\";\nimport {useMemo as $6u7Ut$useMemo} from \"react\";\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\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 $1da06db49d2262cb$exports = {};\n\n$parcel$export($1da06db49d2262cb$exports, \"UnitsColumn\", () => $1da06db49d2262cb$export$3750278673318c9a);\n$parcel$export($1da06db49d2262cb$exports, \"SimpleUnitsColumn\", () => $1da06db49d2262cb$export$2006342ddaa547c6);\n$parcel$export($1da06db49d2262cb$exports, \"BasicUnitComponent\", () => $1da06db49d2262cb$export$600691a8e9d13a7);\n$parcel$export($1da06db49d2262cb$exports, \"UnitComponent\", () => $1da06db49d2262cb$export$48a4cacf2b7a4441);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColor\", () => $1da06db49d2262cb$export$62c7735c72801c19);\n$parcel$export($1da06db49d2262cb$exports, \"ColoredUnitComponent\", () => $1da06db49d2262cb$export$6012fd1584b5d0c0);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColorByEnvironment\", () => $1da06db49d2262cb$export$4830e703a903113);\n$parcel$export($1da06db49d2262cb$exports, \"EnvironmentColoredUnitComponent\", () => $1da06db49d2262cb$export$c2fe8a14da82d570);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\n\nvar $4Abge = parcelRequire(\"4Abge\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lI6Sf = parcelRequire(\"lI6Sf\");\nfunction $1da06db49d2262cb$export$3750278673318c9a({ width: width = 100 }) {\n /*\n A column showing units with USGS color fill\n */ return (0, $6u7Ut$macrostrathyper)((0, $6u7Ut$LithologyColumn), {\n width: width\n }, (0, $6u7Ut$macrostrathyper)((0, $1n4Pb.UnitBoxes)));\n}\nfunction $1da06db49d2262cb$export$2006342ddaa547c6(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { columnWidth: columnWidth, width: width, gutterWidth: gutterWidth = 0, labelOffset: labelOffset = 30 } = props;\n return (0, $6u7Ut$macrostrathyper)([\n (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$3750278673318c9a, {\n width: columnWidth\n }),\n (0, $6u7Ut$macrostrathyper)((0, $jiUaC.UnitNamesColumn), {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth\n })\n ]);\n}\nfunction $1da06db49d2262cb$export$600691a8e9d13a7({ division: division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */ return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n division: division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID\n });\n}\nfunction $1da06db49d2262cb$export$48a4cacf2b7a4441({ division: division, nColumns: nColumns = 2, ...rest }) {\n const width = rest.width ?? (0, $6u7Ut$useColumnLayout)()?.width;\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = columnIx * width / _nColumns;\n return (0, $6u7Ut$macrostrathyper)((0, $4Abge.TrackedLabeledUnit), {\n division: division,\n ...rest,\n width: reducedWidth,\n x: x\n });\n}\nfunction $1da06db49d2262cb$export$62c7735c72801c19(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || lithMap == null) return null;\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$6012fd1584b5d0c0(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */ const backgroundColor = $1da06db49d2262cb$export$62c7735c72801c19(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$export$4830e703a903113(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const environmentMap = (0, $lgTAP.useEnvironments)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || environmentMap == null) return null;\n let c = (0, $bfmPX.getMixedUnitColor)(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\"\n });\n if (c != null) return c;\n // Fallback to lithology color if no environment color is found\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n environmentMap,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$c2fe8a14da82d570(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */ const backgroundColor = $1da06db49d2262cb$export$4830e703a903113(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$var$getPatternID(liths, lithMap) {\n if (lithMap == null || liths == null || liths.length == 0) return null;\n const patternIDs = new Set();\n for (const lith of liths){\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) patternIDs.add(`${lithData.fill}`);\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n$parcel$exportWildcard($1da06db49d2262cb$exports, $bfmPX);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $4Abge);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $lI6Sf);\n\n\nexport {$1da06db49d2262cb$export$3750278673318c9a as UnitsColumn, $1da06db49d2262cb$export$2006342ddaa547c6 as SimpleUnitsColumn, $1da06db49d2262cb$export$600691a8e9d13a7 as BasicUnitComponent, $1da06db49d2262cb$export$48a4cacf2b7a4441 as UnitComponent, $1da06db49d2262cb$export$62c7735c72801c19 as useUnitColor, $1da06db49d2262cb$export$6012fd1584b5d0c0 as ColoredUnitComponent, $1da06db49d2262cb$export$4830e703a903113 as useUnitColorByEnvironment, $1da06db49d2262cb$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor, $6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};\n//# sourceMappingURL=column-views.8ee8469d.js.map\n","import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":["$6u7Ut$macrostrathyper","LithologyColumn","$6u7Ut$LithologyColumn","useColumnLayout","$6u7Ut$useColumnLayout","useGeologicPattern","$6u7Ut$useGeologicPattern","useInDarkMode","$6u7Ut$useInDarkMode","useMemo","$6u7Ut$useMemo","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$export","e","n","v","s","set","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$1da06db49d2262cb$exports","$1da06db49d2262cb$export$3750278673318c9a","$1da06db49d2262cb$export$2006342ddaa547c6","$1da06db49d2262cb$export$600691a8e9d13a7","$1da06db49d2262cb$export$48a4cacf2b7a4441","$1da06db49d2262cb$export$62c7735c72801c19","$1da06db49d2262cb$export$6012fd1584b5d0c0","$1da06db49d2262cb$export$4830e703a903113","$1da06db49d2262cb$export$c2fe8a14da82d570","$jiUaC","$1n4Pb","$bfmPX","$4Abge","$lgTAP","$5VyZI","$lI6Sf","width","UnitBoxes","props","columnWidth","gutterWidth","labelOffset","UnitNamesColumn","transform","paddingLeft","division","rest","backgroundColor","color","patternID","nColumns","_nColumns","nOverlappingUnits","overlappingUnits","length","columnIx","column","TrackedLabeledUnit","x","unit","opts","lithMap","useLithologies","inDarkMode","asBackground","getMixedUnitColor","unit_id","fill","resolveID","environmentMap","useEnvironments","c","id_key","UnitsColumn","SimpleUnitsColumn","BasicUnitComponent","UnitComponent","useUnitColor","ColoredUnitComponent","useUnitColorByEnvironment","EnvironmentColoredUnitComponent","$0557c7dbdd54c055$export$175d3e927f1a9860","$6b7af672ec278734$export$e4e89ab6c86ac513","LabelTrackerProvider","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","CompositeUnitComponent","$6b7af672ec278734$export$a6684360fef0406e","CompositeUnitsColumn","$6b7af672ec278734$export$d8c3f2fdd653a082","AnnotatedUnitsColumn","$6b7af672ec278734$export$13984e34afdbb040","SectionLabelsColumn","$6b7af672ec278734$export$6cc7a9df4edde18","ColumnNotesProvider"],"version":3,"file":"column-views.8ee8469d.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.5f3b0b04.js";import"./column-views.e1813308.js";import e from"@macrostrat/hyper";import t,{useCallback as o,useMemo as n}from"react";import{NotesColumn as r}from"@macrostrat/column-components";var a=globalThis,i={},s={},l=a.parcelRequirea149;null==l&&((l=function(e){if(e in i)return i[e].exports;if(e in s){var t=s[e];delete s[e];var o={id:e,exports:{}};return i[e]=o,t.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){s[e]=t},a.parcelRequirea149=l),l.register;var c=l("iWhRv"),m=l("wtIgl");function p(e,t){let{axisType:o}=t,[n,r]=(0,c.getUnitHeightRange)(e,o);return{height:n,top_height:r,data:e,id:e.unit_id}}let u=e=>e.unit_name.replace("Mbr","Member").replace("Fm","Formation").replace("Gp","Group"),f=t.memo(function(t){let{axisType:n,units:a}=(0,m.useMacrostratColumnData)(),i=(0,m.useCompositeScale)(),{left:s=0,noteComponent:l,shouldRenderNote:c=(e,t)=>!0,minimumHeight:u=0,divisions:f=a,...d}=t,h=o(e=>0==u||Math.abs(i(e.top_height)-i(e.height))>u,[i,u]);return null==f?null:e(r,{transform:`translate(${s})`,editable:!1,noteComponent:l,notes:f.filter(c).map(e=>p(e,{axisType:n})).filter(h),forceOptions:{nodeSpacing:1},...d})});function d(t){let{nameForDivision:o=u,noteComponent:r,...a}=t,i=n(()=>t=>{let{note:n}=t;return e("p.col-note-label",o(n.data))},[o]);return e(f,{noteComponent:r??i,...a})}export{p as noteForDivision,u as defaultNameFunction,f as UnitDataColumn,d as UnitNamesColumn};
2
- //# sourceMappingURL=column-views.420b60d2.js.map
1
+ import"./column-views.dbb4a46b.js";import"./column-views.46efb749.js";import e from"@macrostrat/hyper";import t,{useCallback as o,useMemo as n}from"react";import{NotesColumn as r}from"@macrostrat/column-components";var a=globalThis,i={},s={},l=a.parcelRequirea149;null==l&&((l=function(e){if(e in i)return i[e].exports;if(e in s){var t=s[e];delete s[e];var o={id:e,exports:{}};return i[e]=o,t.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){s[e]=t},a.parcelRequirea149=l),l.register;var c=l("iWhRv"),m=l("wtIgl");function p(e,t){let{axisType:o}=t,[n,r]=(0,c.getUnitHeightRange)(e,o);return{height:n,top_height:r,data:e,id:e.unit_id}}let u=e=>e.unit_name.replace("Mbr","Member").replace("Fm","Formation").replace("Gp","Group"),f=t.memo(function(t){let{axisType:n,units:a}=(0,m.useMacrostratColumnData)(),i=(0,m.useCompositeScale)(),{left:s=0,noteComponent:l,shouldRenderNote:c=(e,t)=>!0,minimumHeight:u=0,divisions:f=a,...d}=t,h=o(e=>0==u||Math.abs(i(e.top_height)-i(e.height))>u,[i,u]);return null==f?null:e(r,{transform:`translate(${s})`,editable:!1,noteComponent:l,notes:f.filter(c).map(e=>p(e,{axisType:n})).filter(h),forceOptions:{nodeSpacing:1},...d})});function d(t){let{nameForDivision:o=u,noteComponent:r,...a}=t,i=n(()=>t=>{let{note:n}=t;return e("p.col-note-label",o(n.data))},[o]);return e(f,{noteComponent:r??i,...a})}export{p as noteForDivision,u as defaultNameFunction,f as UnitDataColumn,d as UnitNamesColumn};
2
+ //# sourceMappingURL=column-views.93bde6c1.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,G,e,C,C,W,C,K,O,A,Q,e,C,K,+B,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,SC+BA,SAAS,EACP,CAAU,CACV,CAAkC,EAElC,GAAM,CAAA,SAAE,CAAQ,CAAE,CAAG,EAEf,CAAC,EAAQ,EAAW,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAK,GAErD,MAAO,CACL,OAAA,EACA,WAAA,EACA,KAAM,EACN,GAAI,EAAI,OAAO,AACjB,CACF,CAEA,IAAM,EAAsB,AAAC,GACpB,EAAI,SAAS,CACjB,OAAO,CAAC,MAAO,UACf,OAAO,CAAC,KAAM,aACd,OAAO,CAAC,KAAM,SA0Cb,EAAiB,AAAA,EAAM,IAAI,CAvCjC,SAAyB,CAAoB,EAC3C,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACtB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IACR,CAAA,KACJ,EAAO,CAAA,CAAA,cACP,CAAa,CAAA,iBACb,EAAmB,CAAC,EAA8B,IAAc,CAAA,CAAA,CAAA,cAChE,EAAgB,CAAA,CAAA,UAChB,EAAY,CAAA,CACZ,GAAG,EACJ,CAAG,EAEE,EAAsB,AAAA,EAC1B,AAAC,GACC,AAAqB,GAAjB,GAEG,AADI,KAAK,GAAG,CAAC,EAAM,EAAE,UAAU,EAAI,EAAM,EAAE,MAAM,GAC5C,EAEd,CAAC,EAAO,EAAc,SAGxB,AAAI,AAAa,MAAb,EAA0B,KAMvB,AAAA,EAAE,EAAa,CACpB,UAAW,CAAC,UAAU,EAAE,EAAK,CAAC,CAAC,CAC/B,SAAU,CAAA,EACV,cAAA,EACA,MATwB,EACvB,MAAM,CAAC,GACP,GAAG,CAAC,AAAC,GAAa,EAAgB,EAAG,CAAE,SAAA,CAAS,IAChD,MAAM,CAAC,GAOR,aAAc,CACZ,YAAa,CACf,EACA,GAAG,CAAI,AACT,EACF,GAWO,SAAS,EAAgB,CAAqB,EACnD,GAAM,CAAA,gBACJ,EAAkB,CAAA,CAAA,cAClB,CAAa,CACb,GAAG,EACJ,CAAG,EAEE,EAAuB,AAAA,EAC3B,IAAM,AAAC,IACL,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,EACjB,OAAO,AAAA,EAAE,mBAAoB,EAAgB,EAAK,IAAI,EACxD,EACA,CAAC,EAAgB,EAGnB,OAAO,AAAA,EAAE,EAAgB,CACvB,cAAe,GAAiB,EAChC,GAAG,CAAI,AACT,EACF,Q,K,e,C,K,mB,C,K,c,C,K,e","sources":["<anon>","packages/column-views/src/units/names.ts"],"sourcesContent":["import \"./column-views.5f3b0b04.js\";\nimport \"./column-views.e1813308.js\";\nimport $eWQbS$macrostrathyper from \"@macrostrat/hyper\";\nimport $eWQbS$react, {useCallback as $eWQbS$useCallback, useMemo as $eWQbS$useMemo} from \"react\";\nimport {NotesColumn as $eWQbS$NotesColumn} from \"@macrostrat/column-components\";\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 $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $e80be54614c93c14$export$2f2e65a797f8fc1e(div, opts) {\n const { axisType: axisType } = opts;\n const [height, top_height] = (0, $iWhRv.getUnitHeightRange)(div, axisType);\n return {\n height: height,\n top_height: top_height,\n data: div,\n id: div.unit_id\n };\n}\nconst $e80be54614c93c14$export$c9757aeb43a67df0 = (div)=>{\n return div.unit_name.replace(\"Mbr\", \"Member\").replace(\"Fm\", \"Formation\").replace(\"Gp\", \"Group\");\n};\nfunction $e80be54614c93c14$var$UnitDataColumn_(props) {\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n const { left: left = 0, noteComponent: noteComponent, shouldRenderNote: shouldRenderNote = (note, i)=>true, minimumHeight: minimumHeight = 0, divisions: divisions = units, ...rest } = props;\n const minimumHeightFilter = (0, $eWQbS$useCallback)((d)=>{\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n }, [\n scale,\n minimumHeight\n ]);\n if (divisions == null) return null;\n const notes = divisions.filter(shouldRenderNote).map((d)=>$e80be54614c93c14$export$2f2e65a797f8fc1e(d, {\n axisType: axisType\n })).filter(minimumHeightFilter);\n return (0, $eWQbS$macrostrathyper)((0, $eWQbS$NotesColumn), {\n transform: `translate(${left})`,\n editable: false,\n noteComponent: noteComponent,\n notes: notes,\n forceOptions: {\n nodeSpacing: 1\n },\n ...rest\n });\n}\nconst $e80be54614c93c14$export$6316e673796ccb55 = (0, $eWQbS$react).memo($e80be54614c93c14$var$UnitDataColumn_);\nfunction $e80be54614c93c14$export$594d19cdd88f8c16(props) {\n const { nameForDivision: nameForDivision = $e80be54614c93c14$export$c9757aeb43a67df0, noteComponent: noteComponent, ...rest } = props;\n const defaultNoteComponent = (0, $eWQbS$useMemo)(()=>(props)=>{\n const { note: note } = props;\n return (0, $eWQbS$macrostrathyper)(\"p.col-note-label\", nameForDivision(note.data));\n }, [\n nameForDivision\n ]);\n return (0, $eWQbS$macrostrathyper)($e80be54614c93c14$export$6316e673796ccb55, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest\n });\n}\n\n\nexport {$e80be54614c93c14$export$2f2e65a797f8fc1e as noteForDivision, $e80be54614c93c14$export$c9757aeb43a67df0 as defaultNameFunction, $e80be54614c93c14$export$6316e673796ccb55 as UnitDataColumn, $e80be54614c93c14$export$594d19cdd88f8c16 as UnitNamesColumn};\n//# sourceMappingURL=column-views.420b60d2.js.map\n","import h from \"@macrostrat/hyper\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ColumnAxisType,\n NotesColumn,\n NotesColumnProps,\n} from \"@macrostrat/column-components\";\nimport type { ColumnDivision } from \"@macrostrat/column-components\";\nimport { IUnit } from \"./types\";\nimport React from \"react\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { CompositeColumnScale } from \"./composite\";\nimport { useCompositeScale, useMacrostratColumnData } from \"../data-provider\";\n\ninterface UnitDataProps extends NotesColumnProps {\n left?: number;\n transform?: string;\n noteComponent?: React.ComponentType<any>;\n shouldRenderNote?(div: ColumnDivision | IUnit, index: number): boolean;\n divisions?: IUnit[];\n minimumHeight?: number;\n scale?: CompositeColumnScale;\n}\n\ntype UnitNote = {\n height: number;\n top_height: number;\n data: IUnit;\n id: number;\n};\n\nfunction noteForDivision(\n div: IUnit,\n opts: { axisType: ColumnAxisType },\n): UnitNote {\n const { axisType } = opts;\n\n const [height, top_height] = getUnitHeightRange(div, axisType);\n\n return {\n height,\n top_height,\n data: div,\n id: div.unit_id,\n };\n}\n\nconst defaultNameFunction = (div) => {\n return div.unit_name\n .replace(\"Mbr\", \"Member\")\n .replace(\"Fm\", \"Formation\")\n .replace(\"Gp\", \"Group\");\n};\n\nfunction UnitDataColumn_(props: UnitDataProps) {\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n const {\n left = 0,\n noteComponent,\n shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,\n minimumHeight = 0,\n divisions = units,\n ...rest\n } = props;\n\n const minimumHeightFilter = useCallback(\n (d) => {\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n },\n [scale, minimumHeight],\n );\n\n if (divisions == null) return null;\n const notes: UnitNote[] = divisions\n .filter(shouldRenderNote)\n .map((d: IUnit) => noteForDivision(d, { axisType }))\n .filter(minimumHeightFilter);\n\n return h(NotesColumn, {\n transform: `translate(${left})`,\n editable: false,\n noteComponent,\n notes,\n forceOptions: {\n nodeSpacing: 1,\n },\n ...rest,\n });\n}\n\nconst UnitDataColumn = React.memo(UnitDataColumn_);\n\ninterface UnitNamesProps extends UnitDataProps {\n nameForDivision?(obj: IUnit): string;\n paddingLeft?: number;\n width: number;\n onClickNote?: (note: any) => void;\n}\n\nexport function UnitNamesColumn(props: UnitNamesProps) {\n const {\n nameForDivision = defaultNameFunction,\n noteComponent,\n ...rest\n } = props;\n\n const defaultNoteComponent = useMemo(\n () => (props) => {\n const { note } = props;\n return h(\"p.col-note-label\", nameForDivision(note.data));\n },\n [nameForDivision],\n );\n\n return h(UnitDataColumn, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest,\n });\n}\n\nexport type { UnitNamesProps };\nexport { defaultNameFunction, noteForDivision, UnitDataColumn };\n"],"names":["$eWQbS$macrostrathyper","$eWQbS$react","useCallback","$eWQbS$useCallback","useMemo","$eWQbS$useMemo","NotesColumn","$eWQbS$NotesColumn","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$wtIgl","$e80be54614c93c14$export$2f2e65a797f8fc1e","div","opts","axisType","height","top_height","getUnitHeightRange","data","unit_id","$e80be54614c93c14$export$c9757aeb43a67df0","unit_name","replace","$e80be54614c93c14$export$6316e673796ccb55","memo","props","units","useMacrostratColumnData","scale","useCompositeScale","left","noteComponent","shouldRenderNote","note","i","minimumHeight","divisions","rest","minimumHeightFilter","d","dy","Math","abs","transform","editable","notes","filter","map","forceOptions","nodeSpacing","$e80be54614c93c14$export$594d19cdd88f8c16","nameForDivision","defaultNoteComponent","noteForDivision","defaultNameFunction","UnitDataColumn","UnitNamesColumn"],"version":3,"file":"column-views.420b60d2.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,G,e,C,C,W,C,K,O,A,Q,e,C,K,+B,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,SC+BA,SAAS,EACP,CAAU,CACV,CAAkC,EAElC,GAAM,CAAA,SAAE,CAAQ,CAAE,CAAG,EAEf,CAAC,EAAQ,EAAW,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAK,GAErD,MAAO,CACL,OAAA,EACA,WAAA,EACA,KAAM,EACN,GAAI,EAAI,OAAO,AACjB,CACF,CAEA,IAAM,EAAsB,AAAC,GACpB,EAAI,SAAS,CACjB,OAAO,CAAC,MAAO,UACf,OAAO,CAAC,KAAM,aACd,OAAO,CAAC,KAAM,SA0Cb,EAAiB,AAAA,EAAM,IAAI,CAvCjC,SAAyB,CAAoB,EAC3C,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACtB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IACR,CAAA,KACJ,EAAO,CAAA,CAAA,cACP,CAAa,CAAA,iBACb,EAAmB,CAAC,EAA8B,IAAc,CAAA,CAAA,CAAA,cAChE,EAAgB,CAAA,CAAA,UAChB,EAAY,CAAA,CACZ,GAAG,EACJ,CAAG,EAEE,EAAsB,AAAA,EAC1B,AAAC,GACC,AAAqB,GAAjB,GAEG,AADI,KAAK,GAAG,CAAC,EAAM,EAAE,UAAU,EAAI,EAAM,EAAE,MAAM,GAC5C,EAEd,CAAC,EAAO,EAAc,SAGxB,AAAI,AAAa,MAAb,EAA0B,KAMvB,AAAA,EAAE,EAAa,CACpB,UAAW,CAAC,UAAU,EAAE,EAAK,CAAC,CAAC,CAC/B,SAAU,CAAA,EACV,cAAA,EACA,MATwB,EACvB,MAAM,CAAC,GACP,GAAG,CAAC,AAAC,GAAa,EAAgB,EAAG,CAAE,SAAA,CAAS,IAChD,MAAM,CAAC,GAOR,aAAc,CACZ,YAAa,CACf,EACA,GAAG,CAAI,AACT,EACF,GAWO,SAAS,EAAgB,CAAqB,EACnD,GAAM,CAAA,gBACJ,EAAkB,CAAA,CAAA,cAClB,CAAa,CACb,GAAG,EACJ,CAAG,EAEE,EAAuB,AAAA,EAC3B,IAAM,AAAC,IACL,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,EACjB,OAAO,AAAA,EAAE,mBAAoB,EAAgB,EAAK,IAAI,EACxD,EACA,CAAC,EAAgB,EAGnB,OAAO,AAAA,EAAE,EAAgB,CACvB,cAAe,GAAiB,EAChC,GAAG,CAAI,AACT,EACF,Q,K,e,C,K,mB,C,K,c,C,K,e","sources":["<anon>","packages/column-views/src/units/names.ts"],"sourcesContent":["import \"./column-views.dbb4a46b.js\";\nimport \"./column-views.46efb749.js\";\nimport $eWQbS$macrostrathyper from \"@macrostrat/hyper\";\nimport $eWQbS$react, {useCallback as $eWQbS$useCallback, useMemo as $eWQbS$useMemo} from \"react\";\nimport {NotesColumn as $eWQbS$NotesColumn} from \"@macrostrat/column-components\";\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 $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $e80be54614c93c14$export$2f2e65a797f8fc1e(div, opts) {\n const { axisType: axisType } = opts;\n const [height, top_height] = (0, $iWhRv.getUnitHeightRange)(div, axisType);\n return {\n height: height,\n top_height: top_height,\n data: div,\n id: div.unit_id\n };\n}\nconst $e80be54614c93c14$export$c9757aeb43a67df0 = (div)=>{\n return div.unit_name.replace(\"Mbr\", \"Member\").replace(\"Fm\", \"Formation\").replace(\"Gp\", \"Group\");\n};\nfunction $e80be54614c93c14$var$UnitDataColumn_(props) {\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n const { left: left = 0, noteComponent: noteComponent, shouldRenderNote: shouldRenderNote = (note, i)=>true, minimumHeight: minimumHeight = 0, divisions: divisions = units, ...rest } = props;\n const minimumHeightFilter = (0, $eWQbS$useCallback)((d)=>{\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n }, [\n scale,\n minimumHeight\n ]);\n if (divisions == null) return null;\n const notes = divisions.filter(shouldRenderNote).map((d)=>$e80be54614c93c14$export$2f2e65a797f8fc1e(d, {\n axisType: axisType\n })).filter(minimumHeightFilter);\n return (0, $eWQbS$macrostrathyper)((0, $eWQbS$NotesColumn), {\n transform: `translate(${left})`,\n editable: false,\n noteComponent: noteComponent,\n notes: notes,\n forceOptions: {\n nodeSpacing: 1\n },\n ...rest\n });\n}\nconst $e80be54614c93c14$export$6316e673796ccb55 = (0, $eWQbS$react).memo($e80be54614c93c14$var$UnitDataColumn_);\nfunction $e80be54614c93c14$export$594d19cdd88f8c16(props) {\n const { nameForDivision: nameForDivision = $e80be54614c93c14$export$c9757aeb43a67df0, noteComponent: noteComponent, ...rest } = props;\n const defaultNoteComponent = (0, $eWQbS$useMemo)(()=>(props)=>{\n const { note: note } = props;\n return (0, $eWQbS$macrostrathyper)(\"p.col-note-label\", nameForDivision(note.data));\n }, [\n nameForDivision\n ]);\n return (0, $eWQbS$macrostrathyper)($e80be54614c93c14$export$6316e673796ccb55, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest\n });\n}\n\n\nexport {$e80be54614c93c14$export$2f2e65a797f8fc1e as noteForDivision, $e80be54614c93c14$export$c9757aeb43a67df0 as defaultNameFunction, $e80be54614c93c14$export$6316e673796ccb55 as UnitDataColumn, $e80be54614c93c14$export$594d19cdd88f8c16 as UnitNamesColumn};\n//# sourceMappingURL=column-views.93bde6c1.js.map\n","import h from \"@macrostrat/hyper\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ColumnAxisType,\n NotesColumn,\n NotesColumnProps,\n} from \"@macrostrat/column-components\";\nimport type { ColumnDivision } from \"@macrostrat/column-components\";\nimport { IUnit } from \"./types\";\nimport React from \"react\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { CompositeColumnScale } from \"./composite\";\nimport { useCompositeScale, useMacrostratColumnData } from \"../data-provider\";\n\ninterface UnitDataProps extends NotesColumnProps {\n left?: number;\n transform?: string;\n noteComponent?: React.ComponentType<any>;\n shouldRenderNote?(div: ColumnDivision | IUnit, index: number): boolean;\n divisions?: IUnit[];\n minimumHeight?: number;\n scale?: CompositeColumnScale;\n}\n\ntype UnitNote = {\n height: number;\n top_height: number;\n data: IUnit;\n id: number;\n};\n\nfunction noteForDivision(\n div: IUnit,\n opts: { axisType: ColumnAxisType },\n): UnitNote {\n const { axisType } = opts;\n\n const [height, top_height] = getUnitHeightRange(div, axisType);\n\n return {\n height,\n top_height,\n data: div,\n id: div.unit_id,\n };\n}\n\nconst defaultNameFunction = (div) => {\n return div.unit_name\n .replace(\"Mbr\", \"Member\")\n .replace(\"Fm\", \"Formation\")\n .replace(\"Gp\", \"Group\");\n};\n\nfunction UnitDataColumn_(props: UnitDataProps) {\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n const {\n left = 0,\n noteComponent,\n shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,\n minimumHeight = 0,\n divisions = units,\n ...rest\n } = props;\n\n const minimumHeightFilter = useCallback(\n (d) => {\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n },\n [scale, minimumHeight],\n );\n\n if (divisions == null) return null;\n const notes: UnitNote[] = divisions\n .filter(shouldRenderNote)\n .map((d: IUnit) => noteForDivision(d, { axisType }))\n .filter(minimumHeightFilter);\n\n return h(NotesColumn, {\n transform: `translate(${left})`,\n editable: false,\n noteComponent,\n notes,\n forceOptions: {\n nodeSpacing: 1,\n },\n ...rest,\n });\n}\n\nconst UnitDataColumn = React.memo(UnitDataColumn_);\n\ninterface UnitNamesProps extends UnitDataProps {\n nameForDivision?(obj: IUnit): string;\n paddingLeft?: number;\n width: number;\n onClickNote?: (note: any) => void;\n}\n\nexport function UnitNamesColumn(props: UnitNamesProps) {\n const {\n nameForDivision = defaultNameFunction,\n noteComponent,\n ...rest\n } = props;\n\n const defaultNoteComponent = useMemo(\n () => (props) => {\n const { note } = props;\n return h(\"p.col-note-label\", nameForDivision(note.data));\n },\n [nameForDivision],\n );\n\n return h(UnitDataColumn, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest,\n });\n}\n\nexport type { UnitNamesProps };\nexport { defaultNameFunction, noteForDivision, UnitDataColumn };\n"],"names":["$eWQbS$macrostrathyper","$eWQbS$react","useCallback","$eWQbS$useCallback","useMemo","$eWQbS$useMemo","NotesColumn","$eWQbS$NotesColumn","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$wtIgl","$e80be54614c93c14$export$2f2e65a797f8fc1e","div","opts","axisType","height","top_height","getUnitHeightRange","data","unit_id","$e80be54614c93c14$export$c9757aeb43a67df0","unit_name","replace","$e80be54614c93c14$export$6316e673796ccb55","memo","props","units","useMacrostratColumnData","scale","useCompositeScale","left","noteComponent","shouldRenderNote","note","i","minimumHeight","divisions","rest","minimumHeightFilter","d","dy","Math","abs","transform","editable","notes","filter","map","forceOptions","nodeSpacing","$e80be54614c93c14$export$594d19cdd88f8c16","nameForDivision","defaultNoteComponent","noteForDivision","defaultNameFunction","UnitDataColumn","UnitNamesColumn"],"version":3,"file":"column-views.93bde6c1.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.139b0855.js";import"./column-views.41876859.js";import"./column-views.bde2dfa8.js";import"./column-views.ae22e8b1.js";import{useMapStyleOperator as e}from"@macrostrat/mapbox-react";import o from"@macrostrat/hyper";import{useMemo as t,useRef as r}from"react";import{setGeoJSON as n}from"@macrostrat/mapbox-utils";import{geoCentroid as l}from"d3-geo";var u=globalThis,a={},i={},s=u.parcelRequirea149;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in i){var o=i[e];delete i[e];var t={id:e,exports:{}};return a[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){i[e]=o},u.parcelRequirea149=s),s.register,Object.defineProperty({},"ColumnNavigationMap",{get:()=>v,set:void 0,enumerable:!0,configurable:!0});var c=s("dETE9"),m=s("4pcLO"),d=s("c4zVj"),f=s("5fAA3");function v(e){let{columns:t,columnIDs:r,onSelectColumn:n,onHoverColumn:l,selectedColumn:u,hoveredColumn:a,projectID:i,children:s,inProcess:c,...m}=e;return o(d.ColumnNavigationProvider,{columns:t,columnIDs:r,onSelectColumn:n,onHoverColumn:l,selectedColumn:u,hoveredColumn:a,projectID:i,inProcess:c},o(p,e))}function p(e){let{padding:r=50,children:n,columnColor:l,showTriangulation:u,triangulationColor:a,keyboardNavigation:i=!0,...s}=e,d=t(()=>{let e=[(0,c.buildColumnsStyle)(l)];return u&&e.push((0,f.buildKeyboardNavigationStyle)(a)),e},[l,u,a]);return o(m.InsetMap,{...s,boxZoom:!1,dragRotate:!1,overlayStyles:d},[o(C),n,o.if(i)(f.ColumnKeyboardNavigation,{showTriangulation:u})])}function C({enabled:o=!0}){let t=(0,d.useColumnNavigationStore)(e=>e.columns),u=(0,d.useColumnNavigationStore)(e=>e.selectedColumn),a=(0,d.useColumnNavigationStore)(e=>e.hoveredColumn),i=(0,d.useColumnNavigationStore)(e=>e.selectColumn),s=(0,d.useColumnNavigationStore)(e=>e.setHoveredColumn);e(e=>{if(null==t)return;n(e,"columns",{type:"FeatureCollection",features:t});let o=o=>{0!=o.features.length&&(s(o.features[0].id),e.getCanvas().style.cursor="pointer")},r=()=>{s(null),e.getCanvas().style.cursor=""},l=e=>{0!=e.features.length&&i(e.features[0].id)},u=["columns-points","columns-fill"];return e.on("mousemove",u,o),e.on("mouseleave",u,r),e.on("click",u,l),()=>{e.off("mouseenter",u,o),e.off("mouseleave",u,r),e.off("click",u,l)}},[t,o]);let c=r(null);e(e=>{let o=c.current;a!=o&&(null!=o&&e.setFeatureState({source:"columns",id:o},{hover:!1}),c.current=a,e.setFeatureState({source:"columns",id:a},{hover:!0}))},[a,t]);let m=r(null),f=r(!0);return e(e=>{if(null==t)return;let o=m.current;if(u==o)return;null!=o&&e.setFeatureState({source:"columns",id:o},{selected:!1}),m.current=u,e.setFeatureState({source:"columns",id:u},{selected:!0});let r=t.find(e=>e.id==u)?.geometry;if(null==r)return;let n=l(r),a=f.current;e.easeTo({center:n},{duration:500*!a}),a&&(f.current=!1)},[u,t]),null}export{v as ColumnNavigationMap};
2
- //# sourceMappingURL=column-views.f2ee436e.js.map
1
+ import"./column-views.139b0855.js";import"./column-views.41876859.js";import"./column-views.cd54f1b1.js";import"./column-views.0f401891.js";import{useMapStyleOperator as e}from"@macrostrat/mapbox-react";import o from"@macrostrat/hyper";import{useMemo as t,useRef as r}from"react";import{setGeoJSON as n}from"@macrostrat/mapbox-utils";import{geoCentroid as l}from"d3-geo";var u=globalThis,a={},i={},s=u.parcelRequirea149;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in i){var o=i[e];delete i[e];var t={id:e,exports:{}};return a[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){i[e]=o},u.parcelRequirea149=s),s.register,Object.defineProperty({},"ColumnNavigationMap",{get:()=>v,set:void 0,enumerable:!0,configurable:!0});var c=s("dETE9"),m=s("4pcLO"),d=s("c4zVj"),f=s("5fAA3");function v(e){let{columns:t,columnIDs:r,onSelectColumn:n,onHoverColumn:l,selectedColumn:u,hoveredColumn:a,projectID:i,children:s,inProcess:c,...m}=e;return o(d.ColumnNavigationProvider,{columns:t,columnIDs:r,onSelectColumn:n,onHoverColumn:l,selectedColumn:u,hoveredColumn:a,projectID:i,inProcess:c},o(p,e))}function p(e){let{padding:r=50,children:n,columnColor:l,showTriangulation:u,triangulationColor:a,keyboardNavigation:i=!0,...s}=e,d=t(()=>{let e=[(0,c.buildColumnsStyle)(l)];return u&&e.push((0,f.buildKeyboardNavigationStyle)(a)),e},[l,u,a]);return o(m.InsetMap,{...s,boxZoom:!1,dragRotate:!1,overlayStyles:d},[o(C),n,o.if(i)(f.ColumnKeyboardNavigation,{showTriangulation:u})])}function C({enabled:o=!0}){let t=(0,d.useColumnNavigationStore)(e=>e.columns),u=(0,d.useColumnNavigationStore)(e=>e.selectedColumn),a=(0,d.useColumnNavigationStore)(e=>e.hoveredColumn),i=(0,d.useColumnNavigationStore)(e=>e.selectColumn),s=(0,d.useColumnNavigationStore)(e=>e.setHoveredColumn);e(e=>{if(null==t)return;n(e,"columns",{type:"FeatureCollection",features:t});let o=o=>{0!=o.features.length&&(s(o.features[0].id),e.getCanvas().style.cursor="pointer")},r=()=>{s(null),e.getCanvas().style.cursor=""},l=e=>{0!=e.features.length&&i(e.features[0].id)},u=["columns-points","columns-fill"];return e.on("mousemove",u,o),e.on("mouseleave",u,r),e.on("click",u,l),()=>{e.off("mouseenter",u,o),e.off("mouseleave",u,r),e.off("click",u,l)}},[t,o]);let c=r(null);e(e=>{let o=c.current;a!=o&&(null!=o&&e.setFeatureState({source:"columns",id:o},{hover:!1}),c.current=a,e.setFeatureState({source:"columns",id:a},{hover:!0}))},[a,t]);let m=r(null),f=r(!0);return e(e=>{if(null==t)return;let o=m.current;if(u==o)return;null!=o&&e.setFeatureState({source:"columns",id:o},{selected:!1}),m.current=u,e.setFeatureState({source:"columns",id:u},{selected:!0});let r=t.find(e=>e.id==u)?.geometry;if(null==r)return;let n=l(r),a=f.current;e.easeTo({center:n},{duration:500*!a}),a&&(f.current=!1)},[u,t]),null}export{v as ColumnNavigationMap};
2
+ //# sourceMappingURL=column-views.a14f0134.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,uB,C,K,0B,A,Q,M,mB,A,Q,W,C,C,U,C,K,O,A,Q,c,C,K,0B,A,Q,e,C,K,Q,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,sB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,S,E,E,S,E,E,SCiCO,SAAS,EACd,CAAyD,EAEzD,GAAM,CAAA,QACJ,CAAO,CAAA,UACP,CAAS,CAAA,eACT,CAAc,CAAA,cACd,CAAa,CAAA,eACb,CAAc,CAAA,cACd,CAAa,CAAA,UACb,CAAS,CAAA,SACT,CAAQ,CAAA,UACR,CAAS,CACT,GAAG,EACJ,CAAG,EAEJ,OAAO,AAAA,EACL,EAAA,wBAAuB,CACvB,CACE,QAAA,EACA,UAAA,EACA,eAAA,EACA,cAAA,EACA,eAAA,EACA,cAAA,EACA,UAAA,EACA,UAAA,CACF,EACA,AAAA,EAAE,EAAsB,GAE5B,CAEA,SAAS,EAAqB,CAA+B,EAC3D,GAAM,CAAA,QACJ,EAAU,EAAA,CAAA,SACV,CAAQ,CAAA,YACR,CAAW,CAAA,kBACX,CAAiB,CAAA,mBACjB,CAAkB,CAAA,mBAClB,EAAqB,CAAA,CAAA,CACrB,GAAG,EACJ,CAAG,EAEE,EAAgB,AAAA,EAAQ,KAC5B,IAAI,EAAgB,CAAC,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,GAAa,CAIpD,OAHI,GACF,EAAO,IAAI,CAAC,AAAA,CAAA,EAAA,EAAA,4BAA2B,AAA3B,EAA6B,IAEpC,CACT,EAAG,CAAC,EAAa,EAAmB,EAAmB,EAEvD,OAAO,AAAA,EACL,EAAA,QAAO,CACP,CACE,GAAG,CAAI,CACP,QAAS,CAAA,EACT,WAAY,CAAA,EACZ,cAAA,CACF,EACA,CACE,AAAA,EAAE,GACF,EACA,AAAA,EAAE,EAAE,CAAC,GAAoB,EAAA,wBAAuB,CAAG,CAAE,kBAAA,CAAkB,GACxE,CAEL,CAEA,SAAS,EAAa,CAAA,QAAE,EAAU,CAAA,CAAA,CAAM,EACtC,IAAM,EAAU,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,OAAO,EAC3D,EAAiB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACrB,AAAC,GAAU,EAAM,cAAc,EAE3B,EAAgB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACpB,AAAC,GAAU,EAAM,aAAa,EAE1B,EAAe,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,YAAY,EACrE,EAAmB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACvB,AAAC,GAAU,EAAM,gBAAgB,EAGnC,AAAA,EACE,AAAC,IACC,GAAI,AAAW,MAAX,EACF,OAOF,AAAA,EAAW,EAAK,UALgB,CAC9B,KAAM,oBACN,SAAU,CACZ,GAIA,IAAM,EAAY,AAAC,IACY,GAAzB,EAAM,QAAQ,CAAC,MAAM,GAEzB,EAAiB,AADM,EAAM,QAAQ,CAAC,EAAE,CACR,EAAE,EAClC,EAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAG,UACjC,EACM,EAAa,KACjB,EAAiB,MACjB,EAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAG,EACjC,EAEM,EAAe,AAAC,IACS,GAAzB,EAAM,QAAQ,CAAC,MAAM,EAGzB,EADW,AADY,EAAM,QAAQ,CAAC,EAAE,CACd,EAAE,CAE9B,EAGM,EAAS,CAAC,iBAAkB,eAAe,CAKjD,OAJA,EAAI,EAAE,CAAC,YAAa,EAAQ,GAC5B,EAAI,EAAE,CAAC,aAAc,EAAQ,GAC7B,EAAI,EAAE,CAAC,QAAS,EAAQ,GAEjB,KACL,EAAI,GAAG,CAAC,aAAc,EAAQ,GAC9B,EAAI,GAAG,CAAC,aAAc,EAAQ,GAC9B,EAAI,GAAG,CAAC,QAAS,EAAQ,EAC3B,CACF,EACA,CAAC,EAAS,EAAQ,EAGpB,IAAM,EAAmB,AAAA,EAAO,MAChC,AAAA,EACE,AAAC,IACC,IAAM,EAAoB,EAAiB,OAAO,CAC9C,GAAiB,IACjB,AAAqB,MAArB,GAEF,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAkB,EAC3C,CAAE,MAAO,CAAA,CAAM,GAGnB,EAAiB,OAAO,CAAG,EAE3B,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAc,EACvC,CAAE,MAAO,CAAA,CAAK,GAElB,EACA,CAAC,EAAe,EAAQ,EAI1B,IAAM,EAAoB,AAAA,EAAO,MAC3B,EAAmB,AAAA,EAAO,CAAA,GAsChC,OArCA,AAAA,EACE,AAAC,IACC,GAAI,AAAW,MAAX,EAAiB,OACrB,IAAM,EAAqB,EAAkB,OAAO,CACpD,GAAI,GAAkB,EAAoB,MACtC,AAAsB,OAAtB,GAEF,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAmB,EAC5C,CAAE,SAAU,CAAA,CAAM,GAItB,EAAkB,OAAO,CAAG,EAG5B,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAe,EACxC,CAAE,SAAU,CAAA,CAAK,GAInB,IAAM,EAAiB,EAAQ,IAAI,CACjC,AAAC,GAAM,EAAE,EAAE,EAAI,IACd,SACH,GAAI,AAAkB,MAAlB,EAAwB,OAC5B,IAAM,EAAS,AAAA,EAAY,GAErB,EAAkB,EAAiB,OAAO,CAChD,EAAI,MAAM,CAAC,CAAE,OAAA,CAAO,EAAG,CAAE,SAAU,AAAsB,KAAtB,CAA0B,GACzD,GACF,CAAA,EAAiB,OAAO,CAAG,CAAA,CAD7B,CAGF,EACA,CAAC,EAAgB,EAAQ,EAGpB,IACT,Q,K,mB","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import \"./column-views.139b0855.js\";\nimport \"./column-views.41876859.js\";\nimport \"./column-views.bde2dfa8.js\";\nimport \"./column-views.ae22e8b1.js\";\nimport {useMapStyleOperator as $li42A$useMapStyleOperator} from \"@macrostrat/mapbox-react\";\nimport $li42A$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $li42A$useMemo, useRef as $li42A$useRef} from \"react\";\nimport {setGeoJSON as $li42A$setGeoJSON} from \"@macrostrat/mapbox-utils\";\nimport {geoCentroid as $li42A$geoCentroid} from \"d3-geo\";\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 $44d1d5e5d8e823d1$exports = {};\n\n$parcel$export($44d1d5e5d8e823d1$exports, \"ColumnNavigationMap\", () => $44d1d5e5d8e823d1$export$821baedf611249f3);\n\n\n\n\nvar $dETE9 = parcelRequire(\"dETE9\");\nvar $4pcLO = parcelRequire(\"4pcLO\");\n\n\nvar $c4zVj = parcelRequire(\"c4zVj\");\n\n\nvar $5fAA3 = parcelRequire(\"5fAA3\");\nfunction $44d1d5e5d8e823d1$export$821baedf611249f3(props) {\n const { columns: columns, columnIDs: columnIDs, onSelectColumn: onSelectColumn, onHoverColumn: onHoverColumn, selectedColumn: selectedColumn, hoveredColumn: hoveredColumn, projectID: projectID, children: children, inProcess: inProcess, ...rest } = props;\n return (0, $li42A$macrostrathyper)((0, $c4zVj.ColumnNavigationProvider), {\n columns: columns,\n columnIDs: columnIDs,\n onSelectColumn: onSelectColumn,\n onHoverColumn: onHoverColumn,\n selectedColumn: selectedColumn,\n hoveredColumn: hoveredColumn,\n projectID: projectID,\n inProcess: inProcess\n }, (0, $li42A$macrostrathyper)($44d1d5e5d8e823d1$var$_ColumnNavigationMap, props));\n}\nfunction $44d1d5e5d8e823d1$var$_ColumnNavigationMap(props) {\n const { padding: padding = 50, children: children, columnColor: columnColor, showTriangulation: showTriangulation, triangulationColor: triangulationColor, keyboardNavigation: keyboardNavigation = true, ...rest } = props;\n const overlayStyles = (0, $li42A$useMemo)(()=>{\n let styles = [\n (0, $dETE9.buildColumnsStyle)(columnColor)\n ];\n if (showTriangulation) styles.push((0, $5fAA3.buildKeyboardNavigationStyle)(triangulationColor));\n return styles;\n }, [\n columnColor,\n showTriangulation,\n triangulationColor\n ]);\n return (0, $li42A$macrostrathyper)((0, $4pcLO.InsetMap), {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles: overlayStyles\n }, [\n (0, $li42A$macrostrathyper)($44d1d5e5d8e823d1$var$ColumnsLayer),\n children,\n (0, $li42A$macrostrathyper).if(keyboardNavigation)((0, $5fAA3.ColumnKeyboardNavigation), {\n showTriangulation: showTriangulation\n })\n ]);\n}\nfunction $44d1d5e5d8e823d1$var$ColumnsLayer({ enabled: enabled = true }) {\n const columns = (0, $c4zVj.useColumnNavigationStore)((state)=>state.columns);\n const selectedColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectedColumn);\n const hoveredColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.hoveredColumn);\n const selectColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectColumn);\n const setHoveredColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.setHoveredColumn);\n (0, $li42A$useMapStyleOperator)((map)=>{\n if (columns == null) return;\n const data = {\n type: \"FeatureCollection\",\n features: columns\n };\n (0, $li42A$setGeoJSON)(map, \"columns\", data);\n const mouseMove = (event)=>{\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = ()=>{\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n const clickHandler = (event)=>{\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n // Setup hover styles on map\n const layers = [\n \"columns-points\",\n \"columns-fill\"\n ];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n return ()=>{\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n }, [\n columns,\n enabled\n ]);\n const hoveredColumnRef = (0, $li42A$useRef)(null);\n (0, $li42A$useMapStyleOperator)((map)=>{\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) // Deselect previous column\n map.setFeatureState({\n source: \"columns\",\n id: prevHoveredColumn\n }, {\n hover: false\n });\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState({\n source: \"columns\",\n id: hoveredColumn\n }, {\n hover: true\n });\n }, [\n hoveredColumn,\n columns\n ]);\n /** Set feature state for selected columns */ const selectedColumnRef = (0, $li42A$useRef)(null);\n const initialRenderRef = (0, $li42A$useRef)(true);\n (0, $li42A$useMapStyleOperator)((map)=>{\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) // Deselect previous column\n map.setFeatureState({\n source: \"columns\",\n id: prevSelectedColumn\n }, {\n selected: false\n });\n selectedColumnRef.current = selectedColumn;\n // Select the current column\n map.setFeatureState({\n source: \"columns\",\n id: selectedColumn\n }, {\n selected: true\n });\n // Center the selected column\n const columnGeometry = columns.find((d)=>d.id == selectedColumn)?.geometry;\n if (columnGeometry == null) return;\n const center = (0, $li42A$geoCentroid)(columnGeometry);\n const isInitialRender = initialRenderRef.current;\n map.easeTo({\n center: center\n }, {\n duration: isInitialRender ? 0 : 500\n });\n if (isInitialRender) initialRenderRef.current = false;\n }, [\n selectedColumn,\n columns\n ]);\n return null;\n}\n\n\nexport {$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap};\n//# sourceMappingURL=column-views.f2ee436e.js.map\n","import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":["useMapStyleOperator","$li42A$useMapStyleOperator","$li42A$macrostrathyper","useMemo","$li42A$useMemo","useRef","$li42A$useRef","setGeoJSON","$li42A$setGeoJSON","geoCentroid","$li42A$geoCentroid","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$44d1d5e5d8e823d1$export$821baedf611249f3","set","s","enumerable","configurable","$dETE9","$4pcLO","$c4zVj","$5fAA3","props","columns","columnIDs","onSelectColumn","onHoverColumn","selectedColumn","hoveredColumn","projectID","children","inProcess","rest","ColumnNavigationProvider","$44d1d5e5d8e823d1$var$_ColumnNavigationMap","padding","columnColor","showTriangulation","triangulationColor","keyboardNavigation","overlayStyles","styles","buildColumnsStyle","push","buildKeyboardNavigationStyle","InsetMap","boxZoom","dragRotate","$44d1d5e5d8e823d1$var$ColumnsLayer","if","ColumnKeyboardNavigation","enabled","useColumnNavigationStore","state","selectColumn","setHoveredColumn","map","type","features","mouseMove","event","length","hoveredFeature","getCanvas","style","cursor","mouseLeave","clickHandler","layers","on","off","hoveredColumnRef","prevHoveredColumn","current","setFeatureState","source","hover","selectedColumnRef","initialRenderRef","prevSelectedColumn","selected","columnGeometry","find","d","geometry","center","isInitialRender","easeTo","duration","ColumnNavigationMap"],"version":3,"file":"column-views.f2ee436e.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,uB,C,K,0B,A,Q,M,mB,A,Q,W,C,C,U,C,K,O,A,Q,c,C,K,0B,A,Q,e,C,K,Q,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,sB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,S,E,E,S,E,E,SCiCO,SAAS,EACd,CAAyD,EAEzD,GAAM,CAAA,QACJ,CAAO,CAAA,UACP,CAAS,CAAA,eACT,CAAc,CAAA,cACd,CAAa,CAAA,eACb,CAAc,CAAA,cACd,CAAa,CAAA,UACb,CAAS,CAAA,SACT,CAAQ,CAAA,UACR,CAAS,CACT,GAAG,EACJ,CAAG,EAEJ,OAAO,AAAA,EACL,EAAA,wBAAuB,CACvB,CACE,QAAA,EACA,UAAA,EACA,eAAA,EACA,cAAA,EACA,eAAA,EACA,cAAA,EACA,UAAA,EACA,UAAA,CACF,EACA,AAAA,EAAE,EAAsB,GAE5B,CAEA,SAAS,EAAqB,CAA+B,EAC3D,GAAM,CAAA,QACJ,EAAU,EAAA,CAAA,SACV,CAAQ,CAAA,YACR,CAAW,CAAA,kBACX,CAAiB,CAAA,mBACjB,CAAkB,CAAA,mBAClB,EAAqB,CAAA,CAAA,CACrB,GAAG,EACJ,CAAG,EAEE,EAAgB,AAAA,EAAQ,KAC5B,IAAI,EAAgB,CAAC,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,GAAa,CAIpD,OAHI,GACF,EAAO,IAAI,CAAC,AAAA,CAAA,EAAA,EAAA,4BAA2B,AAA3B,EAA6B,IAEpC,CACT,EAAG,CAAC,EAAa,EAAmB,EAAmB,EAEvD,OAAO,AAAA,EACL,EAAA,QAAO,CACP,CACE,GAAG,CAAI,CACP,QAAS,CAAA,EACT,WAAY,CAAA,EACZ,cAAA,CACF,EACA,CACE,AAAA,EAAE,GACF,EACA,AAAA,EAAE,EAAE,CAAC,GAAoB,EAAA,wBAAuB,CAAG,CAAE,kBAAA,CAAkB,GACxE,CAEL,CAEA,SAAS,EAAa,CAAA,QAAE,EAAU,CAAA,CAAA,CAAM,EACtC,IAAM,EAAU,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,OAAO,EAC3D,EAAiB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACrB,AAAC,GAAU,EAAM,cAAc,EAE3B,EAAgB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACpB,AAAC,GAAU,EAAM,aAAa,EAE1B,EAAe,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,YAAY,EACrE,EAAmB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EACvB,AAAC,GAAU,EAAM,gBAAgB,EAGnC,AAAA,EACE,AAAC,IACC,GAAI,AAAW,MAAX,EACF,OAOF,AAAA,EAAW,EAAK,UALgB,CAC9B,KAAM,oBACN,SAAU,CACZ,GAIA,IAAM,EAAY,AAAC,IACY,GAAzB,EAAM,QAAQ,CAAC,MAAM,GAEzB,EAAiB,AADM,EAAM,QAAQ,CAAC,EAAE,CACR,EAAE,EAClC,EAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAG,UACjC,EACM,EAAa,KACjB,EAAiB,MACjB,EAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAG,EACjC,EAEM,EAAe,AAAC,IACS,GAAzB,EAAM,QAAQ,CAAC,MAAM,EAGzB,EADW,AADY,EAAM,QAAQ,CAAC,EAAE,CACd,EAAE,CAE9B,EAGM,EAAS,CAAC,iBAAkB,eAAe,CAKjD,OAJA,EAAI,EAAE,CAAC,YAAa,EAAQ,GAC5B,EAAI,EAAE,CAAC,aAAc,EAAQ,GAC7B,EAAI,EAAE,CAAC,QAAS,EAAQ,GAEjB,KACL,EAAI,GAAG,CAAC,aAAc,EAAQ,GAC9B,EAAI,GAAG,CAAC,aAAc,EAAQ,GAC9B,EAAI,GAAG,CAAC,QAAS,EAAQ,EAC3B,CACF,EACA,CAAC,EAAS,EAAQ,EAGpB,IAAM,EAAmB,AAAA,EAAO,MAChC,AAAA,EACE,AAAC,IACC,IAAM,EAAoB,EAAiB,OAAO,CAC9C,GAAiB,IACjB,AAAqB,MAArB,GAEF,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAkB,EAC3C,CAAE,MAAO,CAAA,CAAM,GAGnB,EAAiB,OAAO,CAAG,EAE3B,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAc,EACvC,CAAE,MAAO,CAAA,CAAK,GAElB,EACA,CAAC,EAAe,EAAQ,EAI1B,IAAM,EAAoB,AAAA,EAAO,MAC3B,EAAmB,AAAA,EAAO,CAAA,GAsChC,OArCA,AAAA,EACE,AAAC,IACC,GAAI,AAAW,MAAX,EAAiB,OACrB,IAAM,EAAqB,EAAkB,OAAO,CACpD,GAAI,GAAkB,EAAoB,MACtC,AAAsB,OAAtB,GAEF,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAmB,EAC5C,CAAE,SAAU,CAAA,CAAM,GAItB,EAAkB,OAAO,CAAG,EAG5B,EAAI,eAAe,CACjB,CAAE,OAAQ,UAAW,GAAI,CAAe,EACxC,CAAE,SAAU,CAAA,CAAK,GAInB,IAAM,EAAiB,EAAQ,IAAI,CACjC,AAAC,GAAM,EAAE,EAAE,EAAI,IACd,SACH,GAAI,AAAkB,MAAlB,EAAwB,OAC5B,IAAM,EAAS,AAAA,EAAY,GAErB,EAAkB,EAAiB,OAAO,CAChD,EAAI,MAAM,CAAC,CAAE,OAAA,CAAO,EAAG,CAAE,SAAU,AAAsB,KAAtB,CAA0B,GACzD,GACF,CAAA,EAAiB,OAAO,CAAG,CAAA,CAD7B,CAGF,EACA,CAAC,EAAgB,EAAQ,EAGpB,IACT,Q,K,mB","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import \"./column-views.139b0855.js\";\nimport \"./column-views.41876859.js\";\nimport \"./column-views.cd54f1b1.js\";\nimport \"./column-views.0f401891.js\";\nimport {useMapStyleOperator as $li42A$useMapStyleOperator} from \"@macrostrat/mapbox-react\";\nimport $li42A$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $li42A$useMemo, useRef as $li42A$useRef} from \"react\";\nimport {setGeoJSON as $li42A$setGeoJSON} from \"@macrostrat/mapbox-utils\";\nimport {geoCentroid as $li42A$geoCentroid} from \"d3-geo\";\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 $44d1d5e5d8e823d1$exports = {};\n\n$parcel$export($44d1d5e5d8e823d1$exports, \"ColumnNavigationMap\", () => $44d1d5e5d8e823d1$export$821baedf611249f3);\n\n\n\n\nvar $dETE9 = parcelRequire(\"dETE9\");\nvar $4pcLO = parcelRequire(\"4pcLO\");\n\n\nvar $c4zVj = parcelRequire(\"c4zVj\");\n\n\nvar $5fAA3 = parcelRequire(\"5fAA3\");\nfunction $44d1d5e5d8e823d1$export$821baedf611249f3(props) {\n const { columns: columns, columnIDs: columnIDs, onSelectColumn: onSelectColumn, onHoverColumn: onHoverColumn, selectedColumn: selectedColumn, hoveredColumn: hoveredColumn, projectID: projectID, children: children, inProcess: inProcess, ...rest } = props;\n return (0, $li42A$macrostrathyper)((0, $c4zVj.ColumnNavigationProvider), {\n columns: columns,\n columnIDs: columnIDs,\n onSelectColumn: onSelectColumn,\n onHoverColumn: onHoverColumn,\n selectedColumn: selectedColumn,\n hoveredColumn: hoveredColumn,\n projectID: projectID,\n inProcess: inProcess\n }, (0, $li42A$macrostrathyper)($44d1d5e5d8e823d1$var$_ColumnNavigationMap, props));\n}\nfunction $44d1d5e5d8e823d1$var$_ColumnNavigationMap(props) {\n const { padding: padding = 50, children: children, columnColor: columnColor, showTriangulation: showTriangulation, triangulationColor: triangulationColor, keyboardNavigation: keyboardNavigation = true, ...rest } = props;\n const overlayStyles = (0, $li42A$useMemo)(()=>{\n let styles = [\n (0, $dETE9.buildColumnsStyle)(columnColor)\n ];\n if (showTriangulation) styles.push((0, $5fAA3.buildKeyboardNavigationStyle)(triangulationColor));\n return styles;\n }, [\n columnColor,\n showTriangulation,\n triangulationColor\n ]);\n return (0, $li42A$macrostrathyper)((0, $4pcLO.InsetMap), {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles: overlayStyles\n }, [\n (0, $li42A$macrostrathyper)($44d1d5e5d8e823d1$var$ColumnsLayer),\n children,\n (0, $li42A$macrostrathyper).if(keyboardNavigation)((0, $5fAA3.ColumnKeyboardNavigation), {\n showTriangulation: showTriangulation\n })\n ]);\n}\nfunction $44d1d5e5d8e823d1$var$ColumnsLayer({ enabled: enabled = true }) {\n const columns = (0, $c4zVj.useColumnNavigationStore)((state)=>state.columns);\n const selectedColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectedColumn);\n const hoveredColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.hoveredColumn);\n const selectColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectColumn);\n const setHoveredColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.setHoveredColumn);\n (0, $li42A$useMapStyleOperator)((map)=>{\n if (columns == null) return;\n const data = {\n type: \"FeatureCollection\",\n features: columns\n };\n (0, $li42A$setGeoJSON)(map, \"columns\", data);\n const mouseMove = (event)=>{\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = ()=>{\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n const clickHandler = (event)=>{\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n // Setup hover styles on map\n const layers = [\n \"columns-points\",\n \"columns-fill\"\n ];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n return ()=>{\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n }, [\n columns,\n enabled\n ]);\n const hoveredColumnRef = (0, $li42A$useRef)(null);\n (0, $li42A$useMapStyleOperator)((map)=>{\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) // Deselect previous column\n map.setFeatureState({\n source: \"columns\",\n id: prevHoveredColumn\n }, {\n hover: false\n });\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState({\n source: \"columns\",\n id: hoveredColumn\n }, {\n hover: true\n });\n }, [\n hoveredColumn,\n columns\n ]);\n /** Set feature state for selected columns */ const selectedColumnRef = (0, $li42A$useRef)(null);\n const initialRenderRef = (0, $li42A$useRef)(true);\n (0, $li42A$useMapStyleOperator)((map)=>{\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) // Deselect previous column\n map.setFeatureState({\n source: \"columns\",\n id: prevSelectedColumn\n }, {\n selected: false\n });\n selectedColumnRef.current = selectedColumn;\n // Select the current column\n map.setFeatureState({\n source: \"columns\",\n id: selectedColumn\n }, {\n selected: true\n });\n // Center the selected column\n const columnGeometry = columns.find((d)=>d.id == selectedColumn)?.geometry;\n if (columnGeometry == null) return;\n const center = (0, $li42A$geoCentroid)(columnGeometry);\n const isInitialRender = initialRenderRef.current;\n map.easeTo({\n center: center\n }, {\n duration: isInitialRender ? 0 : 500\n });\n if (isInitialRender) initialRenderRef.current = false;\n }, [\n selectedColumn,\n columns\n ]);\n return null;\n}\n\n\nexport {$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap};\n//# sourceMappingURL=column-views.a14f0134.js.map\n","import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":["useMapStyleOperator","$li42A$useMapStyleOperator","$li42A$macrostrathyper","useMemo","$li42A$useMemo","useRef","$li42A$useRef","setGeoJSON","$li42A$setGeoJSON","geoCentroid","$li42A$geoCentroid","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$44d1d5e5d8e823d1$export$821baedf611249f3","set","s","enumerable","configurable","$dETE9","$4pcLO","$c4zVj","$5fAA3","props","columns","columnIDs","onSelectColumn","onHoverColumn","selectedColumn","hoveredColumn","projectID","children","inProcess","rest","ColumnNavigationProvider","$44d1d5e5d8e823d1$var$_ColumnNavigationMap","padding","columnColor","showTriangulation","triangulationColor","keyboardNavigation","overlayStyles","styles","buildColumnsStyle","push","buildKeyboardNavigationStyle","InsetMap","boxZoom","dragRotate","$44d1d5e5d8e823d1$var$ColumnsLayer","if","ColumnKeyboardNavigation","enabled","useColumnNavigationStore","state","selectColumn","setHoveredColumn","map","type","features","mouseMove","event","length","hoveredFeature","getCanvas","style","cursor","mouseLeave","clickHandler","layers","on","off","hoveredColumnRef","prevHoveredColumn","current","setFeatureState","source","hover","selectedColumnRef","initialRenderRef","prevSelectedColumn","selected","columnGeometry","find","d","geometry","center","isInitialRender","easeTo","duration","ColumnNavigationMap"],"version":3,"file":"column-views.a14f0134.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.5f3b0b04.js";import"./column-views.0b3a384e.js";import"./column-views.7f9c7448.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{scaleLinear as t}from"d3-scale";var a=globalThis,n={},l={},i=a.parcelRequirea149;null==i&&((i=function(e){if(e in n)return n[e].exports;if(e in l){var t=l[e];delete l[e];var a={id:e,exports:{}};return n[e]=a,t.call(a.exports,a,a.exports),a.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){l[e]=t},a.parcelRequirea149=i),i.register;var o=i("iWhRv"),r=i("dcPBY"),s=i("76iYI");function c(e,t){let a=t/2,n=0,l=[];for(let i of e){let{domain:e,scale:o}=i,[r,s]=e,c=`package-${r}-${s}`;l.push({...f(i,a),key:c,offset:a,paddingTop:a-n}),a=(n=a+Math.abs(o(r)-o(s)))+t}return{totalHeight:a+=t/2,sections:l}}function p(e,t){let{totalHeight:a,sections:n}=c(e.map(e=>e.scaleInfo),t),l=[];for(let t in e){let a=e[t],i=n[t];l.push({...a,key:i.key,scaleInfo:i})}return{totalHeight:a,sections:l}}function u(e,t){return e.map(e=>m(e,t))}function m(t,a){let{t_age:n,b_age:l,t_pos:i,b_pos:c,units:p}=t,u=null;u=a.axisType==e.AGE?[l,n]:[c,i];let m=function(t,a){let n,{targetUnitHeight:l=20,minPixelScale:i=.2,axisType:c,minSectionHeight:p,scale:u,hybridScale:m}=a,h=a.domain??function(t,a){if(null==a)throw Error("Axis type is not set");if(a===e.AGE){let e=Math.min(...t.map(e=>e.t_age));return[Math.max(...t.map(e=>e.b_age)),e]}if(a==e.DEPTH||a==e.ORDINAL){let e=Math.min(...t.map(e=>e.t_pos));return[Math.max(...t.map(e=>e.b_pos)),e]}if(a==e.HEIGHT){let e=Math.max(...t.map(e=>e.t_pos));return[Math.min(...t.map(e=>e.b_pos)),e]}}(t,c),g=Math.abs(h[0]-h[1]),b=a.pixelScale;return null!=m?(m.type===s.HybridScaleType.EquidistantSurfaces&&(b??(b=l)),(0,r.buildHybridScale)(m,t,h,{pixelOffset:0,pixelScale:b})):(null==u?(null==b&&(b=Math.max(l/function(e,t){let a=e.map(e=>{let[a,n]=(0,o.getUnitHeightRange)(e,t);return Math.abs(a-n)});return a.reduce((e,t)=>e+t,0)/a.length}(t,c),i)),b=(n=Math.max(g*b,p??l??0))/g):n=Math.abs(u(h[0])-u(h[1])),f({scale:u,domain:h,pixelHeight:n,pixelScale:b},0))}(p,{...a,domain:u});return{...t,scaleInfo:m}}function f(e,a=0){let n,{domain:l,pixelScale:i,pixelHeight:o,scale:r,heightScale:s}=e;if(null==r&&null==i)throw Error("Either scale or pixelScale must be provided");if(null==r)n=t().domain([l[1],l[0]]).range([a,o+a]);else{let e=r.domain(),t=r.range();n=r.copy().domain(e).range(t.map(e=>e+a))}n.clamp();let c=null;if(null!=s){let e=r.range();(c=s.copy().range(e.map(e=>e+a))).clamp()}return{domain:l,pixelScale:i,pixelHeight:o,scale:n,heightScale:c}}function h(e,a=!1){let n=[],l=null;for(let i of e){let e=i.scaleInfo.scale.copy().clamp(!0);if(n.push(e),null!=l&&a){let a=l.domain(),i=l.range(),o=e.domain(),r=e.range(),s=t().domain([a[a.length-1],o[0]]).range([i[i.length-1],r[0]]).clamp(!0);n.push(s)}l=e}let i=e=>{for(let t of n){let a=t.domain();if(e>=a[0]&&e<=a[a.length-1])return t(e)}return null};return i.copy=()=>h(e,a),i.domain=()=>{let t=e.flatMap(e=>e.scaleInfo.domain);return t[0]<t[t.length-1]?[Math.min(...t),Math.max(...t)]:[Math.max(...t),Math.min(...t)]},i.invert=e=>{for(let t of n){let a=t.range();if(e>Math.min(...a)&&e<=Math.max(...a))return console.log("Inverting scale at pixel height",e),t.invert(e)}return null},i.clamp=e=>{for(let t of n)t.clamp(e)},i}function g(t,a,n){let l=[],i=null;for(let r of t){let t;if(null==i){i=r;continue}t=n.axisType!==e.AGE?[r.t_pos,i.b_pos]:[r.t_age,i.b_age];let s=e=>Math.abs(e[0]-e[1]);if(Math.min(s(t.map(r.scaleInfo.scale)),s(t.map(i.scaleInfo.scale)))<a){let t,a;n.axisType==e.AGE||n.axisType==e.DEPTH?(t=Math.min(i.t_pos,r.t_pos),a=Math.max(i.b_pos,r.b_pos)):(t=Math.max(i.t_pos,r.t_pos),a=Math.min(i.b_pos,r.b_pos)),i=m({units:[...i.units,...r.units],section_id:[...(0,o.ensureArray)(i.section_id),...(0,o.ensureArray)(r.section_id)],t_age:Math.min(i.t_age,r.t_age),b_age:Math.max(i.b_age,r.b_age),t_pos:t,b_pos:a},n)}else l.push(i),i=r}return null!=i&&l.push(i),l}export{c as buildCompositeScaleInfo,f as createPackageScale,p as finalizeSectionHeights,u as computeSectionHeights,h as createCompositeScale,g as collapseUnconformitiesByPixelHeight};
2
- //# sourceMappingURL=column-views.aef76eee.js.map
1
+ import"./column-views.dbb4a46b.js";import"./column-views.5a9331a9.js";import"./column-views.7f9c7448.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{scaleLinear as t}from"d3-scale";var a=globalThis,n={},l={},i=a.parcelRequirea149;null==i&&((i=function(e){if(e in n)return n[e].exports;if(e in l){var t=l[e];delete l[e];var a={id:e,exports:{}};return n[e]=a,t.call(a.exports,a,a.exports),a.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){l[e]=t},a.parcelRequirea149=i),i.register;var o=i("iWhRv"),r=i("dcPBY"),s=i("76iYI");function c(e,t){let a=t/2,n=0,l=[];for(let i of e){let{domain:e,scale:o}=i,[r,s]=e,c=`package-${r}-${s}`;l.push({...f(i,a),key:c,offset:a,paddingTop:a-n}),a=(n=a+Math.abs(o(r)-o(s)))+t}return{totalHeight:a+=t/2,sections:l}}function p(e,t){let{totalHeight:a,sections:n}=c(e.map(e=>e.scaleInfo),t),l=[];for(let t in e){let a=e[t],i=n[t];l.push({...a,key:i.key,scaleInfo:i})}return{totalHeight:a,sections:l}}function u(e,t){return e.map(e=>m(e,t))}function m(t,a){let{t_age:n,b_age:l,t_pos:i,b_pos:c,units:p}=t,u=null;u=a.axisType==e.AGE?[l,n]:[c,i];let m=function(t,a){let n,{targetUnitHeight:l=20,minPixelScale:i=.2,axisType:c,minSectionHeight:p,scale:u,hybridScale:m}=a,h=a.domain??function(t,a){if(null==a)throw Error("Axis type is not set");if(a===e.AGE){let e=Math.min(...t.map(e=>e.t_age));return[Math.max(...t.map(e=>e.b_age)),e]}if(a==e.DEPTH||a==e.ORDINAL){let e=Math.min(...t.map(e=>e.t_pos));return[Math.max(...t.map(e=>e.b_pos)),e]}if(a==e.HEIGHT){let e=Math.max(...t.map(e=>e.t_pos));return[Math.min(...t.map(e=>e.b_pos)),e]}}(t,c),g=Math.abs(h[0]-h[1]),b=a.pixelScale;return null!=m?(m.type===s.HybridScaleType.EquidistantSurfaces&&(b??(b=l)),(0,r.buildHybridScale)(m,t,h,{pixelOffset:0,pixelScale:b})):(null==u?(null==b&&(b=Math.max(l/function(e,t){let a=e.map(e=>{let[a,n]=(0,o.getUnitHeightRange)(e,t);return Math.abs(a-n)});return a.reduce((e,t)=>e+t,0)/a.length}(t,c),i)),b=(n=Math.max(g*b,p??l??0))/g):n=Math.abs(u(h[0])-u(h[1])),f({scale:u,domain:h,pixelHeight:n,pixelScale:b},0))}(p,{...a,domain:u});return{...t,scaleInfo:m}}function f(e,a=0){let n,{domain:l,pixelScale:i,pixelHeight:o,scale:r,heightScale:s}=e;if(null==r&&null==i)throw Error("Either scale or pixelScale must be provided");if(null==r)n=t().domain([l[1],l[0]]).range([a,o+a]);else{let e=r.domain(),t=r.range();n=r.copy().domain(e).range(t.map(e=>e+a))}n.clamp();let c=null;if(null!=s){let e=r.range();(c=s.copy().range(e.map(e=>e+a))).clamp()}return{domain:l,pixelScale:i,pixelHeight:o,scale:n,heightScale:c}}function h(e,a=!1){let n=[],l=null;for(let i of e){let e=i.scaleInfo.scale.copy().clamp(!0);if(n.push(e),null!=l&&a){let a=l.domain(),i=l.range(),o=e.domain(),r=e.range(),s=t().domain([a[a.length-1],o[0]]).range([i[i.length-1],r[0]]).clamp(!0);n.push(s)}l=e}let i=e=>{for(let t of n){let a=t.domain();if(e>=a[0]&&e<=a[a.length-1])return t(e)}return null};return i.copy=()=>h(e,a),i.domain=()=>{let t=e.flatMap(e=>e.scaleInfo.domain);return t[0]<t[t.length-1]?[Math.min(...t),Math.max(...t)]:[Math.max(...t),Math.min(...t)]},i.invert=e=>{for(let t of n){let a=t.range();if(e>Math.min(...a)&&e<=Math.max(...a))return console.log("Inverting scale at pixel height",e),t.invert(e)}return null},i.clamp=e=>{for(let t of n)t.clamp(e)},i}function g(t,a,n){let l=[],i=null;for(let r of t){let t;if(null==i){i=r;continue}t=n.axisType!==e.AGE?[r.t_pos,i.b_pos]:[r.t_age,i.b_age];let s=e=>Math.abs(e[0]-e[1]);if(Math.min(s(t.map(r.scaleInfo.scale)),s(t.map(i.scaleInfo.scale)))<a){let t,a;n.axisType==e.AGE||n.axisType==e.DEPTH?(t=Math.min(i.t_pos,r.t_pos),a=Math.max(i.b_pos,r.b_pos)):(t=Math.max(i.t_pos,r.t_pos),a=Math.min(i.b_pos,r.b_pos)),i=m({units:[...i.units,...r.units],section_id:[...(0,o.ensureArray)(i.section_id),...(0,o.ensureArray)(r.section_id)],t_age:Math.min(i.t_age,r.t_age),b_age:Math.max(i.b_age,r.b_age),t_pos:t,b_pos:a},n)}else l.push(i),i=r}return null!=i&&l.push(i),l}export{c as buildCompositeScaleInfo,f as createPackageScale,p as finalizeSectionHeights,u as computeSectionHeights,h as createCompositeScale,g as collapseUnconformitiesByPixelHeight};
2
+ //# sourceMappingURL=column-views.a596b1f5.js.map