@macrostrat/column-views 2.4.0 → 2.4.2

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 (203) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/esm/{column-views.848349c0.js → column-views.083fb787.js} +5 -5
  3. package/dist/esm/{column-views.848349c0.js.map → column-views.083fb787.js.map} +1 -1
  4. package/dist/esm/{column-views.9d0d78aa.js → column-views.088a0274.js} +2 -2
  5. package/dist/esm/{column-views.9d0d78aa.js.map → column-views.088a0274.js.map} +1 -1
  6. package/dist/esm/{column-views.f046b170.js → column-views.11353c2c.js} +5 -5
  7. package/dist/esm/{column-views.f046b170.js.map → column-views.11353c2c.js.map} +1 -1
  8. package/dist/esm/{column-views.55bce35c.js → column-views.18655508.js} +3 -3
  9. package/dist/esm/{column-views.55bce35c.js.map → column-views.18655508.js.map} +1 -1
  10. package/dist/esm/{column-views.2e517e39.js → column-views.1cd55918.js} +91 -11
  11. package/dist/esm/column-views.1cd55918.js.map +1 -0
  12. package/dist/esm/column-views.1ef55568.js +15 -0
  13. package/dist/esm/{column-views.33daabd5.js.map → column-views.1ef55568.js.map} +1 -1
  14. package/dist/esm/{column-views.3c1cde51.js → column-views.3090f246.js} +22 -4
  15. package/dist/esm/column-views.3090f246.js.map +1 -0
  16. package/dist/esm/{column-views.c92a359e.js → column-views.33796541.js} +2 -2
  17. package/dist/esm/{column-views.c92a359e.js.map → column-views.33796541.js.map} +1 -1
  18. package/dist/esm/{column-views.e21f4e50.js → column-views.3ae8f23d.js} +2 -2
  19. package/dist/esm/{column-views.e21f4e50.js.map → column-views.3ae8f23d.js.map} +1 -1
  20. package/dist/esm/{column-views.fdb3799c.js → column-views.40d3688c.js} +3 -3
  21. package/dist/esm/{column-views.fdb3799c.js.map → column-views.40d3688c.js.map} +1 -1
  22. package/dist/esm/{column-views.45acb682.js → column-views.4e9b8594.js} +8 -7
  23. package/dist/esm/column-views.4e9b8594.js.map +1 -0
  24. package/dist/esm/{column-views.8c296309.js → column-views.5e1c216f.js} +27 -6
  25. package/dist/esm/column-views.5e1c216f.js.map +1 -0
  26. package/dist/esm/{column-views.af89f2b1.js → column-views.5e830e7c.js} +8 -8
  27. package/dist/esm/{column-views.af89f2b1.js.map → column-views.5e830e7c.js.map} +1 -1
  28. package/dist/esm/{column-views.3d33ef0f.js → column-views.5ec7294d.js} +3 -3
  29. package/dist/esm/{column-views.3d33ef0f.js.map → column-views.5ec7294d.js.map} +1 -1
  30. package/dist/esm/{column-views.9b210fb2.js → column-views.6f0d4f3a.js} +2 -2
  31. package/dist/esm/{column-views.9b210fb2.js.map → column-views.6f0d4f3a.js.map} +1 -1
  32. package/dist/esm/{column-views.58b891df.js → column-views.76fb9948.js} +2 -2
  33. package/dist/esm/{column-views.58b891df.js.map → column-views.76fb9948.js.map} +1 -1
  34. package/dist/esm/{column-views.1ef0f7e8.js → column-views.77322764.js} +2 -2
  35. package/dist/esm/{column-views.1ef0f7e8.js.map → column-views.77322764.js.map} +1 -1
  36. package/dist/esm/{column-views.fc4d28d8.js → column-views.85d57d04.js} +4 -4
  37. package/dist/esm/{column-views.fc4d28d8.js.map → column-views.85d57d04.js.map} +1 -1
  38. package/dist/esm/{column-views.1cd57b96.js → column-views.88436022.js} +2 -2
  39. package/dist/esm/{column-views.1cd57b96.js.map → column-views.88436022.js.map} +1 -1
  40. package/dist/esm/{column-views.b7b0be88.js → column-views.88b2418b.js} +3 -3
  41. package/dist/esm/{column-views.b7b0be88.js.map → column-views.88b2418b.js.map} +1 -1
  42. package/dist/esm/{column-views.8c8f3fe0.js → column-views.8ce33ec6.js} +2 -2
  43. package/dist/esm/{column-views.8c8f3fe0.js.map → column-views.8ce33ec6.js.map} +1 -1
  44. package/dist/esm/{column-views.31152763.js → column-views.91c18fe3.js} +20 -11
  45. package/dist/esm/column-views.91c18fe3.js.map +1 -0
  46. package/dist/esm/{column-views.3067c5e3.js → column-views.99cb1c41.js} +3 -3
  47. package/dist/esm/{column-views.3067c5e3.js.map → column-views.99cb1c41.js.map} +1 -1
  48. package/dist/esm/{column-views.b9c4d94c.js → column-views.ab2cc6cb.js} +27 -14
  49. package/dist/esm/column-views.ab2cc6cb.js.map +1 -0
  50. package/dist/esm/{column-views.dda76243.js → column-views.af4278f0.js} +3 -3
  51. package/dist/esm/{column-views.dda76243.js.map → column-views.af4278f0.js.map} +1 -1
  52. package/dist/esm/{column-views.b8933ea2.js → column-views.b957dc19.js} +3 -3
  53. package/dist/esm/{column-views.b8933ea2.js.map → column-views.b957dc19.js.map} +1 -1
  54. package/dist/esm/{column-views.1f954206.js → column-views.bc83a85d.js} +19 -3
  55. package/dist/esm/column-views.bc83a85d.js.map +1 -0
  56. package/dist/esm/{column-views.8168c37d.js → column-views.c1e507e6.js} +2 -2
  57. package/dist/esm/{column-views.8168c37d.js.map → column-views.c1e507e6.js.map} +1 -1
  58. package/dist/esm/{column-views.0f910df6.js → column-views.c93b63db.js} +3 -3
  59. package/dist/esm/column-views.c93b63db.js.map +1 -0
  60. package/dist/esm/{column-views.4e5746da.js → column-views.ce5251f7.js} +2 -2
  61. package/dist/esm/{column-views.4e5746da.js.map → column-views.ce5251f7.js.map} +1 -1
  62. package/dist/esm/{column-views.4099a246.js → column-views.d4e50f74.js} +3 -3
  63. package/dist/esm/{column-views.4099a246.js.map → column-views.d4e50f74.js.map} +1 -1
  64. package/dist/esm/{column-views.b3398cca.js → column-views.dd2d5a6d.js} +5 -5
  65. package/dist/esm/{column-views.b3398cca.js.map → column-views.dd2d5a6d.js.map} +1 -1
  66. package/dist/esm/{column-views.86b879ba.js → column-views.e6882667.js} +5 -5
  67. package/dist/esm/{column-views.86b879ba.js.map → column-views.e6882667.js.map} +1 -1
  68. package/dist/esm/{column-views.1d356b7e.js → column-views.e885211d.js} +2 -2
  69. package/dist/esm/{column-views.1d356b7e.js.map → column-views.e885211d.js.map} +1 -1
  70. package/dist/esm/{column-views.631f55d4.js → column-views.ee2fd38f.js} +3 -3
  71. package/dist/esm/{column-views.631f55d4.js.map → column-views.ee2fd38f.js.map} +1 -1
  72. package/dist/esm/{column-views.df872a2c.js → column-views.f35c4621.js} +2 -2
  73. package/dist/esm/{column-views.df872a2c.js.map → column-views.f35c4621.js.map} +1 -1
  74. package/dist/esm/{column-views.d3a4596e.js → column-views.f56e604d.js} +3 -3
  75. package/dist/esm/{column-views.d3a4596e.js.map → column-views.f56e604d.js.map} +1 -1
  76. package/dist/esm/{column-views.28cab78c.js → column-views.f904e6d7.js} +3 -3
  77. package/dist/esm/{column-views.28cab78c.js.map → column-views.f904e6d7.js.map} +1 -1
  78. package/dist/esm/{column-views.25713aad.js → column-views.fc4860bd.js} +4 -4
  79. package/dist/esm/{column-views.25713aad.js.map → column-views.fc4860bd.js.map} +1 -1
  80. package/dist/esm/{column-views.3c9f5ba9.js → column-views.fedccce9.js} +2 -2
  81. package/dist/esm/{column-views.3c9f5ba9.js.map → column-views.fedccce9.js.map} +1 -1
  82. package/dist/esm/index.d.ts +21 -32
  83. package/dist/esm/index.d.ts.map +1 -1
  84. package/dist/esm/index.js +11 -11
  85. package/dist/node/{column-views.a0e23210.js → column-views.003e0c17.js} +2 -2
  86. package/dist/node/{column-views.a0e23210.js.map → column-views.003e0c17.js.map} +1 -1
  87. package/dist/node/column-views.080781ca.js +2 -0
  88. package/dist/node/column-views.080781ca.js.map +1 -0
  89. package/dist/node/{column-views.dedafcae.js → column-views.0818254f.js} +2 -2
  90. package/dist/node/{column-views.dedafcae.js.map → column-views.0818254f.js.map} +1 -1
  91. package/dist/node/{column-views.f749dbd6.js → column-views.0d48f51d.js} +2 -2
  92. package/dist/node/{column-views.f749dbd6.js.map → column-views.0d48f51d.js.map} +1 -1
  93. package/dist/node/column-views.18e86c2d.js +2 -0
  94. package/dist/node/column-views.18e86c2d.js.map +1 -0
  95. package/dist/node/{column-views.8f5532b0.js → column-views.375529b1.js} +2 -2
  96. package/dist/node/{column-views.8f5532b0.js.map → column-views.375529b1.js.map} +1 -1
  97. package/dist/node/{column-views.bd1481f0.js → column-views.39b71a38.js} +2 -2
  98. package/dist/node/{column-views.bd1481f0.js.map → column-views.39b71a38.js.map} +1 -1
  99. package/dist/node/{column-views.190241c4.js → column-views.447008d0.js} +2 -2
  100. package/dist/node/{column-views.190241c4.js.map → column-views.447008d0.js.map} +1 -1
  101. package/dist/node/{column-views.e4e014cd.js → column-views.4d573ded.js} +2 -2
  102. package/dist/node/{column-views.e4e014cd.js.map → column-views.4d573ded.js.map} +1 -1
  103. package/dist/node/{column-views.a54c0820.js → column-views.4d8fc443.js} +2 -2
  104. package/dist/node/{column-views.a54c0820.js.map → column-views.4d8fc443.js.map} +1 -1
  105. package/dist/node/{column-views.69ddf14d.js → column-views.54f7a243.js} +2 -2
  106. package/dist/node/{column-views.69ddf14d.js.map → column-views.54f7a243.js.map} +1 -1
  107. package/dist/node/column-views.58b336f1.js +2 -0
  108. package/dist/node/column-views.58b336f1.js.map +1 -0
  109. package/dist/node/{column-views.ed7b4c16.js → column-views.5908556a.js} +2 -2
  110. package/dist/node/{column-views.ed7b4c16.js.map → column-views.5908556a.js.map} +1 -1
  111. package/dist/node/{column-views.0980c2a0.js → column-views.5c02450b.js} +2 -2
  112. package/dist/node/{column-views.0980c2a0.js.map → column-views.5c02450b.js.map} +1 -1
  113. package/dist/node/column-views.5e73411d.js +2 -0
  114. package/dist/node/column-views.5e73411d.js.map +1 -0
  115. package/dist/node/{column-views.fcf2be3c.js → column-views.5f3f8ccf.js} +2 -2
  116. package/dist/node/{column-views.fcf2be3c.js.map → column-views.5f3f8ccf.js.map} +1 -1
  117. package/dist/node/{column-views.b7f69f19.js → column-views.6051e986.js} +2 -2
  118. package/dist/node/{column-views.b7f69f19.js.map → column-views.6051e986.js.map} +1 -1
  119. package/dist/node/{column-views.89afd6b3.js → column-views.64fc40d6.js} +2 -2
  120. package/dist/node/{column-views.89afd6b3.js.map → column-views.64fc40d6.js.map} +1 -1
  121. package/dist/node/{column-views.3ce34544.js → column-views.66663668.js} +2 -2
  122. package/dist/node/{column-views.3ce34544.js.map → column-views.66663668.js.map} +1 -1
  123. package/dist/node/{column-views.7ee01d2b.js → column-views.6f0cb059.js} +2 -2
  124. package/dist/node/{column-views.7ee01d2b.js.map → column-views.6f0cb059.js.map} +1 -1
  125. package/dist/node/{column-views.07680def.js → column-views.72c3c6e7.js} +2 -2
  126. package/dist/node/{column-views.07680def.js.map → column-views.72c3c6e7.js.map} +1 -1
  127. package/dist/node/{column-views.6d6a8fde.js → column-views.74fcfb9c.js} +2 -2
  128. package/dist/node/{column-views.6d6a8fde.js.map → column-views.74fcfb9c.js.map} +1 -1
  129. package/dist/node/{column-views.00c19fe8.js → column-views.784bac2a.js} +2 -2
  130. package/dist/node/{column-views.00c19fe8.js.map → column-views.784bac2a.js.map} +1 -1
  131. package/dist/node/{column-views.b3aa406d.js → column-views.796fc1de.js} +2 -2
  132. package/dist/node/{column-views.b3aa406d.js.map → column-views.796fc1de.js.map} +1 -1
  133. package/dist/node/column-views.7b6e7d82.js +2 -0
  134. package/dist/node/column-views.7b6e7d82.js.map +1 -0
  135. package/dist/node/{column-views.00caa49a.js → column-views.7e895e1a.js} +2 -2
  136. package/dist/node/{column-views.00caa49a.js.map → column-views.7e895e1a.js.map} +1 -1
  137. package/dist/node/column-views.87d31e0a.js +2 -0
  138. package/dist/node/column-views.87d31e0a.js.map +1 -0
  139. package/dist/node/{column-views.4e677bc4.js → column-views.94c8ce3e.js} +2 -2
  140. package/dist/node/{column-views.4e677bc4.js.map → column-views.94c8ce3e.js.map} +1 -1
  141. package/dist/node/{column-views.48a3cfa3.js → column-views.951e3e9a.js} +2 -2
  142. package/dist/node/{column-views.48a3cfa3.js.map → column-views.951e3e9a.js.map} +1 -1
  143. package/dist/node/{column-views.97f7f353.js → column-views.b6613ab0.js} +2 -2
  144. package/dist/node/{column-views.97f7f353.js.map → column-views.b6613ab0.js.map} +1 -1
  145. package/dist/node/{column-views.d529d3aa.js → column-views.b762c9a8.js} +2 -2
  146. package/dist/node/{column-views.d529d3aa.js.map → column-views.b762c9a8.js.map} +1 -1
  147. package/dist/node/{column-views.e1481ea6.js → column-views.bdf05ed4.js} +2 -2
  148. package/dist/node/{column-views.e1481ea6.js.map → column-views.bdf05ed4.js.map} +1 -1
  149. package/dist/node/{column-views.1d1d6117.js → column-views.d30231cb.js} +2 -2
  150. package/dist/node/{column-views.1d1d6117.js.map → column-views.d30231cb.js.map} +1 -1
  151. package/dist/node/column-views.d86e6c7d.js +2 -0
  152. package/dist/node/column-views.d86e6c7d.js.map +1 -0
  153. package/dist/node/column-views.db3377d8.js +2 -0
  154. package/dist/node/column-views.db3377d8.js.map +1 -0
  155. package/dist/node/{column-views.60dc38f3.js → column-views.f4063bc8.js} +2 -2
  156. package/dist/node/{column-views.60dc38f3.js.map → column-views.f4063bc8.js.map} +1 -1
  157. package/dist/node/{column-views.9a408bbf.js → column-views.f93b4175.js} +2 -2
  158. package/dist/node/{column-views.9a408bbf.js.map → column-views.f93b4175.js.map} +1 -1
  159. package/dist/node/{column-views.b9900855.js → column-views.fa5ee6de.js} +2 -2
  160. package/dist/node/{column-views.b9900855.js.map → column-views.fa5ee6de.js.map} +1 -1
  161. package/dist/node/{column-views.705f66b1.js → column-views.fe7a5452.js} +2 -2
  162. package/dist/node/{column-views.705f66b1.js.map → column-views.fe7a5452.js.map} +1 -1
  163. package/dist/node/column-views.ffbffec7.js +2 -0
  164. package/dist/node/column-views.ffbffec7.js.map +1 -0
  165. package/dist/node/index.js +1 -1
  166. package/dist/node/index.js.map +1 -1
  167. package/package.json +6 -5
  168. package/src/correlation-chart/main.ts +13 -4
  169. package/src/correlation-chart/stories/correlation-chart.stories.ts +38 -17
  170. package/src/data-provider/base.ts +22 -0
  171. package/src/data-provider/fetch.ts +35 -10
  172. package/src/data-provider/unit-selection.ts +147 -14
  173. package/src/maps/column-correlation/core.ts +1 -1
  174. package/src/maps/column-correlation/state.ts +16 -1
  175. package/src/unit-details/panel.ts +44 -26
  176. package/src/unit-details/popover.ts +13 -5
  177. package/dist/esm/column-views.0f910df6.js.map +0 -1
  178. package/dist/esm/column-views.1f954206.js.map +0 -1
  179. package/dist/esm/column-views.2e517e39.js.map +0 -1
  180. package/dist/esm/column-views.31152763.js.map +0 -1
  181. package/dist/esm/column-views.33daabd5.js +0 -15
  182. package/dist/esm/column-views.3c1cde51.js.map +0 -1
  183. package/dist/esm/column-views.45acb682.js.map +0 -1
  184. package/dist/esm/column-views.8c296309.js.map +0 -1
  185. package/dist/esm/column-views.b9c4d94c.js.map +0 -1
  186. package/dist/node/column-views.1495397b.js +0 -2
  187. package/dist/node/column-views.1495397b.js.map +0 -1
  188. package/dist/node/column-views.26306041.js +0 -2
  189. package/dist/node/column-views.26306041.js.map +0 -1
  190. package/dist/node/column-views.41d72280.js +0 -2
  191. package/dist/node/column-views.41d72280.js.map +0 -1
  192. package/dist/node/column-views.68fe4814.js +0 -2
  193. package/dist/node/column-views.68fe4814.js.map +0 -1
  194. package/dist/node/column-views.7425d37b.js +0 -2
  195. package/dist/node/column-views.7425d37b.js.map +0 -1
  196. package/dist/node/column-views.7714173b.js +0 -2
  197. package/dist/node/column-views.7714173b.js.map +0 -1
  198. package/dist/node/column-views.861b8e3e.js +0 -2
  199. package/dist/node/column-views.861b8e3e.js.map +0 -1
  200. package/dist/node/column-views.bf90c8a3.js +0 -2
  201. package/dist/node/column-views.bf90c8a3.js.map +0 -1
  202. package/dist/node/column-views.bfaf5ddb.js +0 -2
  203. package/dist/node/column-views.bfaf5ddb.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import"./column-views.0bd15ee4.js";import"./column-views.0980c2a0.js";import"./column-views.bfaf5ddb.js";import e from"@macrostrat/hyper";import{ColumnAxisType as a,SVG as t,AgeAxis as i}from"@macrostrat/column-components";import"react";import{Parenthetical as s}from"@macrostrat/data-components";function o(e,a,t,i){Object.defineProperty(e,a,{get:t,set:i,enumerable:!0,configurable:!0})}var r=globalThis,l={},c={},n=r.parcelRequirea149;null==n&&((n=function(e){if(e in l)return l[e].exports;if(e in c){var a=c[e];delete c[e];var t={id:e,exports:{}};return l[e]=t,a.call(t.exports,t,t.exports),t.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,a){c[e]=a},r.parcelRequirea149=n),n.register;var p={};o(p,"VerticalAxisLabel",()=>d),o(p,"CompositeAgeAxis",()=>f),o(p,"CompositeAgeAxisCore",()=>A),o(p,"ApproximateHeightAxis",()=>h),o(p,"AgeCursor",()=>b);var u=n("6kMGl"),m=n("wtIgl"),g=n("iYfAq");let x=e.styled(u&&u.__esModule?u.default:u);function d(e){let{label:a="Age",unit:t="Ma",className:i,height:o}=e;return x("div.column-axis-label.age-axis-label",{className:i,style:{height:o}},[a," ",x.if(t)(s,{className:"age-axis-unit"},t)])}function f(e){let{axisType:a,sections:t,totalHeight:i}=(0,m.useMacrostratColumnData)();return x(A,{axisType:a,packages:t.map(e=>({key:`section-${e.section_id}`,...e.scaleInfo})),totalHeight:i,...e})}function h(e){let{axisType:a,sections:t,totalHeight:i}=(0,m.useMacrostratColumnData)();return x(A,{axisType:a,axisLabel:"Approx. height",axisUnit:"m",packages:t.map(e=>{let{scaleInfo:a}=e;if(null==a.heightScale)throw Error("No height scale available for section");return{key:`section-${e.section_id}`,...a,scale:a.heightScale}}),totalHeight:i,...e})}function A(e){let{axisType:s,axisLabel:o,axisUnit:r,totalHeight:l,packages:c,...n}=e;if(s==a.ORDINAL)return null;let p=o??"Age",u=r??"Ma";return s==a.DEPTH?(p="Depth",u="m"):s==a.HEIGHT&&(p="Height",u="m"),x("div.composite-age-axis",n,[x(d,{label:p,unit:u,height:l}),x(t,{className:"age-axis-column",style:{width:"22px",height:`${l}px`},width:22,height:l},c.map((e,a)=>{let{key:t,scale:s}=e;return x(i,{key:t,className:"age-axis",scale:s,tickSizeOuter:3})}))])}function b({age:e}){let a=(0,m.useCompositeScale)()(e);return null==e||null==a?null:x("div.age-cursor",{style:{top:a}},[x("div.line"),x(g.AgeLabel,{age:e,className:"label"})])}export{d as VerticalAxisLabel,f as CompositeAgeAxis,A as CompositeAgeAxisCore,h as ApproximateHeightAxis,b as AgeCursor};
2
- //# sourceMappingURL=column-views.fcf2be3c.js.map
1
+ import"./column-views.0bd15ee4.js";import"./column-views.5c02450b.js";import"./column-views.5e73411d.js";import e from"@macrostrat/hyper";import{ColumnAxisType as a,SVG as t,AgeAxis as i}from"@macrostrat/column-components";import"react";import{Parenthetical as s}from"@macrostrat/data-components";function o(e,a,t,i){Object.defineProperty(e,a,{get:t,set:i,enumerable:!0,configurable:!0})}var r=globalThis,l={},c={},n=r.parcelRequirea149;null==n&&((n=function(e){if(e in l)return l[e].exports;if(e in c){var a=c[e];delete c[e];var t={id:e,exports:{}};return l[e]=t,a.call(t.exports,t,t.exports),t.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,a){c[e]=a},r.parcelRequirea149=n),n.register;var p={};o(p,"VerticalAxisLabel",()=>d),o(p,"CompositeAgeAxis",()=>f),o(p,"CompositeAgeAxisCore",()=>A),o(p,"ApproximateHeightAxis",()=>h),o(p,"AgeCursor",()=>b);var u=n("6kMGl"),m=n("wtIgl"),g=n("iYfAq");let x=e.styled(u&&u.__esModule?u.default:u);function d(e){let{label:a="Age",unit:t="Ma",className:i,height:o}=e;return x("div.column-axis-label.age-axis-label",{className:i,style:{height:o}},[a," ",x.if(t)(s,{className:"age-axis-unit"},t)])}function f(e){let{axisType:a,sections:t,totalHeight:i}=(0,m.useMacrostratColumnData)();return x(A,{axisType:a,packages:t.map(e=>({key:`section-${e.section_id}`,...e.scaleInfo})),totalHeight:i,...e})}function h(e){let{axisType:a,sections:t,totalHeight:i}=(0,m.useMacrostratColumnData)();return x(A,{axisType:a,axisLabel:"Approx. height",axisUnit:"m",packages:t.map(e=>{let{scaleInfo:a}=e;if(null==a.heightScale)throw Error("No height scale available for section");return{key:`section-${e.section_id}`,...a,scale:a.heightScale}}),totalHeight:i,...e})}function A(e){let{axisType:s,axisLabel:o,axisUnit:r,totalHeight:l,packages:c,...n}=e;if(s==a.ORDINAL)return null;let p=o??"Age",u=r??"Ma";return s==a.DEPTH?(p="Depth",u="m"):s==a.HEIGHT&&(p="Height",u="m"),x("div.composite-age-axis",n,[x(d,{label:p,unit:u,height:l}),x(t,{className:"age-axis-column",style:{width:"22px",height:`${l}px`},width:22,height:l},c.map((e,a)=>{let{key:t,scale:s}=e;return x(i,{key:t,className:"age-axis",scale:s,tickSizeOuter:3})}))])}function b({age:e}){let a=(0,m.useCompositeScale)()(e);return null==e||null==a?null:x("div.age-cursor",{style:{top:a}},[x("div.line"),x(g.AgeLabel,{age:e,className:"label"})])}export{d as VerticalAxisLabel,f as CompositeAgeAxis,A as CompositeAgeAxisCore,h as ApproximateHeightAxis,b as AgeCursor};
2
+ //# sourceMappingURL=column-views.5f3f8ccf.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,C,C,O,C,C,W,C,K,+B,A,O,O,A,Q,iB,C,K,6B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,mB,I,G,E,E,uB,I,G,E,E,wB,I,G,E,E,Y,I,G,I,E,E,S,E,E,S,E,E,SCeA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAehB,SAAS,EAAkB,CAAK,EACrC,GAAM,CAAA,MAAE,EAAQ,KAAA,CAAA,KAAO,EAAO,IAAA,CAAA,UAAM,CAAS,CAAA,OAAE,CAAM,CAAE,CAAG,EAC1D,OAAO,EACL,uCACA,CAAE,UAAA,EAAW,MAAO,CAAE,OAAA,CAAO,CAAE,EAC/B,CACE,EACA,IACA,EAAE,EAAE,CAAC,GAAM,EAAe,CAAE,UAAW,eAAgB,EAAG,GAC3D,CAEL,CAOO,SAAS,EAAiB,CAA2B,EAC1D,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAS5C,OAAO,EAAE,EAAsB,CAC7B,SAAA,EACA,SATe,EAAS,GAAG,CAAC,AAAC,GACtB,CAAA,CACL,IAAK,CAAC,QAAQ,EAAE,EAAQ,UAAU,CAAA,CAAE,CACpC,GAAG,EAAQ,SAAS,AACtB,CAAA,GAMA,YAAA,EACA,GAAG,CAAI,AACT,EACF,CAEO,SAAS,EAAsB,CAA2B,EAE/D,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAe5C,OAAO,EAAE,EAAsB,CAC7B,SAAA,EACA,UAAW,iBACX,SAAU,IACV,SAjBe,EAAS,GAAG,CAAC,AAAC,IAC7B,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EACtB,GAAI,AAAyB,MAAzB,EAAU,WAAW,CACvB,MAAM,AAAI,MAAM,yCAElB,MAAO,CACL,IAAK,CAAC,QAAQ,EAAE,EAAQ,UAAU,CAAA,CAAE,CACpC,GAAG,CAAS,CACZ,MAAO,EAAU,WAAW,AAE9B,CACF,GAOE,YAAA,EACA,GAAG,CAAI,AACT,EACF,CAUO,SAAS,EAAqB,CAAsC,EACzE,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CACrE,EAEF,GAAI,GAAY,AAAA,EAAe,OAAO,CACpC,OAAO,KAGT,IAAI,EAAqB,GAAa,MAClC,EAAY,GAAY,KAS5B,OARI,GAAY,AAAA,EAAe,KAAK,EAClC,EAAa,QACb,EAAY,KACH,GAAY,AAAA,EAAe,MAAM,GAC1C,EAAa,SACb,EAAY,KAGP,EAAE,yBAA0B,EAAM,CACvC,EAAE,EAAmB,CACnB,MAAO,EACP,KAAM,EACN,OAAQ,CACV,GACA,EACE,EACA,CACE,UAAW,kBACX,MAAO,CAAE,MAAO,OAAQ,OAAQ,CAAA,EAAG,EAAY,EAAE,CAAC,AAAC,EACnD,MAAO,GACP,OAAQ,CACV,EACA,EAAS,GAAG,CAAC,CAAC,EAAO,KACnB,GAAM,CAAA,IAAE,CAAG,CAAA,MAAE,CAAK,CAAE,CAAG,EAEvB,OAAO,EAAE,EAAS,CAChB,IAAA,EACA,UAAW,WACX,MAAA,EACA,cAAe,CACjB,EACF,IAEH,CACH,CAEO,SAAS,EAAU,CAAA,IAAE,CAAG,CAAE,EAG/B,IAAM,EAAW,AADH,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IACS,UAEvB,AAAI,AAAO,MAAP,GAAe,AAAY,MAAZ,EACV,KAGF,EACL,iBACA,CACE,MAAO,CACL,IAAK,CACP,CACF,EACA,CAAC,EAAE,YAAa,EAAE,EAAA,QAAO,CAAG,CAAE,IAAA,EAAK,UAAW,OAAQ,GAAG,CAE7D,Q,K,iB,C,K,gB,C,K,oB,C,K,qB,C,K,S","sources":["<anon>","packages/column-views/src/age-axis.ts"],"sourcesContent":["import \"./column-views.0bd15ee4.js\";\nimport \"./column-views.0980c2a0.js\";\nimport \"./column-views.bfaf5ddb.js\";\nimport $fXMLu$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnContext as $fXMLu$ColumnContext, ColumnAxis as $fXMLu$ColumnAxis, ColumnAxisType as $fXMLu$ColumnAxisType, SVG as $fXMLu$SVG, AgeAxis as $fXMLu$AgeAxis} from \"@macrostrat/column-components\";\nimport {useContext as $fXMLu$useContext} from \"react\";\nimport {Parenthetical as $fXMLu$Parenthetical} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $1aa4ef695e55d51d$exports = {};\n\n$parcel$export($1aa4ef695e55d51d$exports, \"VerticalAxisLabel\", () => $1aa4ef695e55d51d$export$64204d5cbb3e8227);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxis\", () => $1aa4ef695e55d51d$export$40b6b0e4520eeb34);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxisCore\", () => $1aa4ef695e55d51d$export$ac30ca3cf5df959d);\n$parcel$export($1aa4ef695e55d51d$exports, \"ApproximateHeightAxis\", () => $1aa4ef695e55d51d$export$82731b9607850ca6);\n$parcel$export($1aa4ef695e55d51d$exports, \"AgeCursor\", () => $1aa4ef695e55d51d$export$20d84abfcfa68dfa);\n\n\n\n\nvar $6kMGl = parcelRequire(\"6kMGl\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nconst $1aa4ef695e55d51d$var$h = (0, $fXMLu$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6kMGl))));\nconst $1aa4ef695e55d51d$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{\n const { pixelHeight: pixelHeight } = (0, $fXMLu$useContext)((0, $fXMLu$ColumnContext));\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n return $1aa4ef695e55d51d$var$h(\"g.axis\", {\n transform: \"translate(20 0)\"\n }, [\n $1aa4ef695e55d51d$var$h((0, $fXMLu$ColumnAxis), {\n ticks: v,\n showDomain: showDomain\n })\n ]);\n};\nfunction $1aa4ef695e55d51d$export$64204d5cbb3e8227(props) {\n const { label: label = \"Age\", unit: unit = \"Ma\", className: className, height: height } = props;\n return $1aa4ef695e55d51d$var$h(\"div.column-axis-label.age-axis-label\", {\n className: className,\n style: {\n height: height\n }\n }, [\n label,\n \" \",\n $1aa4ef695e55d51d$var$h.if(unit)((0, $fXMLu$Parenthetical), {\n className: \"age-axis-unit\"\n }, unit)\n ]);\n}\nfunction $1aa4ef695e55d51d$export$40b6b0e4520eeb34(rest) {\n const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const packages = sections.map((section)=>{\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo\n };\n });\n return $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$ac30ca3cf5df959d, {\n axisType: axisType,\n packages: packages,\n totalHeight: totalHeight,\n ...rest\n });\n}\nfunction $1aa4ef695e55d51d$export$82731b9607850ca6(rest) {\n /** Axis to show approximate height based on dynamic column scales */ const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const packages = sections.map((section)=>{\n const { scaleInfo: scaleInfo } = section;\n if (scaleInfo.heightScale == null) throw new Error(\"No height scale available for section\");\n return {\n key: `section-${section.section_id}`,\n ...scaleInfo,\n scale: scaleInfo.heightScale\n };\n });\n return $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$ac30ca3cf5df959d, {\n axisType: axisType,\n axisLabel: \"Approx. height\",\n axisUnit: \"m\",\n packages: packages,\n totalHeight: totalHeight,\n ...rest\n });\n}\nfunction $1aa4ef695e55d51d$export$ac30ca3cf5df959d(props) {\n const { axisType: axisType, axisLabel: axisLabel, axisUnit: axisUnit, totalHeight: totalHeight, packages: packages, ...rest } = props;\n if (axisType == (0, $fXMLu$ColumnAxisType).ORDINAL) return null;\n let _axisLabel = axisLabel ?? \"Age\";\n let _axisUnit = axisUnit ?? \"Ma\";\n if (axisType == (0, $fXMLu$ColumnAxisType).DEPTH) {\n _axisLabel = \"Depth\";\n _axisUnit = \"m\";\n } else if (axisType == (0, $fXMLu$ColumnAxisType).HEIGHT) {\n _axisLabel = \"Height\";\n _axisUnit = \"m\";\n }\n return $1aa4ef695e55d51d$var$h(\"div.composite-age-axis\", rest, [\n $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$64204d5cbb3e8227, {\n label: _axisLabel,\n unit: _axisUnit,\n height: totalHeight\n }),\n $1aa4ef695e55d51d$var$h((0, $fXMLu$SVG), {\n className: \"age-axis-column\",\n style: {\n width: `22px`,\n height: `${totalHeight}px`\n },\n width: 22,\n height: totalHeight\n }, packages.map((group, i)=>{\n const { key: key, scale: scale } = group;\n return $1aa4ef695e55d51d$var$h((0, $fXMLu$AgeAxis), {\n key: key,\n className: \"age-axis\",\n scale: scale,\n tickSizeOuter: 3\n });\n }))\n ]);\n}\nfunction $1aa4ef695e55d51d$export$20d84abfcfa68dfa({ age: age }) {\n /** A cursor that shows the age at a specific point on the age axis. */ const scale = (0, $wtIgl.useCompositeScale)();\n const heightPx = scale(age);\n if (age == null || heightPx == null) return null;\n return $1aa4ef695e55d51d$var$h(\"div.age-cursor\", {\n style: {\n top: heightPx\n }\n }, [\n $1aa4ef695e55d51d$var$h(\"div.line\"),\n $1aa4ef695e55d51d$var$h((0, $iYfAq.AgeLabel), {\n age: age,\n className: \"label\"\n })\n ]);\n}\n\n\nexport {$1aa4ef695e55d51d$export$64204d5cbb3e8227 as VerticalAxisLabel, $1aa4ef695e55d51d$export$40b6b0e4520eeb34 as CompositeAgeAxis, $1aa4ef695e55d51d$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $1aa4ef695e55d51d$export$82731b9607850ca6 as ApproximateHeightAxis, $1aa4ef695e55d51d$export$20d84abfcfa68dfa as AgeCursor};\n//# sourceMappingURL=column-views.fcf2be3c.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { AgeLabel } from \"./unit-details\";\nimport { PackageScaleLayoutData } from \"./prepare-units\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className, height } = props;\n return h(\n \"div.column-axis-label.age-axis-label\",\n { className, style: { height } },\n [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ],\n );\n}\n\ninterface CompositeAgeAxisProps {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CompositeAgeAxis(rest: CompositeAgeAxisProps) {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport function ApproximateHeightAxis(rest: CompositeAgeAxisProps) {\n /** Axis to show approximate height based on dynamic column scales */\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n const { scaleInfo } = section;\n if (scaleInfo.heightScale == null) {\n throw new Error(\"No height scale available for section\");\n }\n return {\n key: `section-${section.section_id}`,\n ...scaleInfo,\n scale: scaleInfo.heightScale, // Use height scale instead of age scale\n // This only works with dynamic columns\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n axisLabel: \"Approx. height\",\n axisUnit: \"m\",\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo extends CompositeAgeAxisProps {\n axisType: ColumnAxisType;\n axisLabel?: string;\n axisUnit?: string;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, axisLabel, axisUnit, totalHeight, packages, ...rest } =\n props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let _axisLabel: string = axisLabel ?? \"Age\";\n let _axisUnit = axisUnit ?? \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n _axisLabel = \"Depth\";\n _axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n _axisLabel = \"Height\";\n _axisUnit = \"m\";\n }\n\n return h(\"div.composite-age-axis\", rest, [\n h(VerticalAxisLabel, {\n label: _axisLabel,\n unit: _axisUnit,\n height: totalHeight,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n }),\n ),\n ]);\n}\n\nexport function AgeCursor({ age }) {\n /** A cursor that shows the age at a specific point on the age axis. */\n const scale = useCompositeScale();\n const heightPx = scale(age);\n\n if (age == null || heightPx == null) {\n return null;\n }\n\n return h(\n \"div.age-cursor\",\n {\n style: {\n top: heightPx,\n },\n },\n [h(\"div.line\"), h(AgeLabel, { age, className: \"label\" })],\n );\n}\n"],"names":["$fXMLu$macrostrathyper","ColumnAxisType","$fXMLu$ColumnAxisType","SVG","$fXMLu$SVG","AgeAxis","$fXMLu$AgeAxis","Parenthetical","$fXMLu$Parenthetical","$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","$1aa4ef695e55d51d$exports","$1aa4ef695e55d51d$export$64204d5cbb3e8227","$1aa4ef695e55d51d$export$40b6b0e4520eeb34","$1aa4ef695e55d51d$export$ac30ca3cf5df959d","$1aa4ef695e55d51d$export$82731b9607850ca6","$1aa4ef695e55d51d$export$20d84abfcfa68dfa","$6kMGl","$wtIgl","$iYfAq","$1aa4ef695e55d51d$var$h","styled","a","__esModule","default","props","label","unit","className","height","style","if","rest","axisType","sections","totalHeight","useMacrostratColumnData","packages","map","section","key","section_id","scaleInfo","axisLabel","axisUnit","heightScale","scale","ORDINAL","_axisLabel","_axisUnit","DEPTH","HEIGHT","width","group","i","tickSizeOuter","age","heightPx","useCompositeScale","top","AgeLabel","VerticalAxisLabel","CompositeAgeAxis","CompositeAgeAxisCore","ApproximateHeightAxis","AgeCursor"],"version":3,"file":"column-views.fcf2be3c.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,C,C,O,C,C,W,C,K,+B,A,O,O,A,Q,iB,C,K,6B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,mB,I,G,E,E,uB,I,G,E,E,wB,I,G,E,E,Y,I,G,I,E,E,S,E,E,S,E,E,SCeA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAehB,SAAS,EAAkB,CAAK,EACrC,GAAM,CAAA,MAAE,EAAQ,KAAA,CAAA,KAAO,EAAO,IAAA,CAAA,UAAM,CAAS,CAAA,OAAE,CAAM,CAAE,CAAG,EAC1D,OAAO,EACL,uCACA,CAAE,UAAA,EAAW,MAAO,CAAE,OAAA,CAAO,CAAE,EAC/B,CACE,EACA,IACA,EAAE,EAAE,CAAC,GAAM,EAAe,CAAE,UAAW,eAAgB,EAAG,GAC3D,CAEL,CAOO,SAAS,EAAiB,CAA2B,EAC1D,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAS5C,OAAO,EAAE,EAAsB,CAC7B,SAAA,EACA,SATe,EAAS,GAAG,CAAC,AAAC,GACtB,CAAA,CACL,IAAK,CAAC,QAAQ,EAAE,EAAQ,UAAU,CAAA,CAAE,CACpC,GAAG,EAAQ,SAAS,AACtB,CAAA,GAMA,YAAA,EACA,GAAG,CAAI,AACT,EACF,CAEO,SAAS,EAAsB,CAA2B,EAE/D,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAe5C,OAAO,EAAE,EAAsB,CAC7B,SAAA,EACA,UAAW,iBACX,SAAU,IACV,SAjBe,EAAS,GAAG,CAAC,AAAC,IAC7B,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EACtB,GAAI,AAAyB,MAAzB,EAAU,WAAW,CACvB,MAAM,AAAI,MAAM,yCAElB,MAAO,CACL,IAAK,CAAC,QAAQ,EAAE,EAAQ,UAAU,CAAA,CAAE,CACpC,GAAG,CAAS,CACZ,MAAO,EAAU,WAAW,AAE9B,CACF,GAOE,YAAA,EACA,GAAG,CAAI,AACT,EACF,CAUO,SAAS,EAAqB,CAAsC,EACzE,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CACrE,EAEF,GAAI,GAAY,AAAA,EAAe,OAAO,CACpC,OAAO,KAGT,IAAI,EAAqB,GAAa,MAClC,EAAY,GAAY,KAS5B,OARI,GAAY,AAAA,EAAe,KAAK,EAClC,EAAa,QACb,EAAY,KACH,GAAY,AAAA,EAAe,MAAM,GAC1C,EAAa,SACb,EAAY,KAGP,EAAE,yBAA0B,EAAM,CACvC,EAAE,EAAmB,CACnB,MAAO,EACP,KAAM,EACN,OAAQ,CACV,GACA,EACE,EACA,CACE,UAAW,kBACX,MAAO,CAAE,MAAO,OAAQ,OAAQ,CAAA,EAAG,EAAY,EAAE,CAAC,AAAC,EACnD,MAAO,GACP,OAAQ,CACV,EACA,EAAS,GAAG,CAAC,CAAC,EAAO,KACnB,GAAM,CAAA,IAAE,CAAG,CAAA,MAAE,CAAK,CAAE,CAAG,EAEvB,OAAO,EAAE,EAAS,CAChB,IAAA,EACA,UAAW,WACX,MAAA,EACA,cAAe,CACjB,EACF,IAEH,CACH,CAEO,SAAS,EAAU,CAAA,IAAE,CAAG,CAAE,EAG/B,IAAM,EAAW,AADH,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IACS,UAEvB,AAAI,AAAO,MAAP,GAAe,AAAY,MAAZ,EACV,KAGF,EACL,iBACA,CACE,MAAO,CACL,IAAK,CACP,CACF,EACA,CAAC,EAAE,YAAa,EAAE,EAAA,QAAO,CAAG,CAAE,IAAA,EAAK,UAAW,OAAQ,GAAG,CAE7D,Q,K,iB,C,K,gB,C,K,oB,C,K,qB,C,K,S","sources":["<anon>","packages/column-views/src/age-axis.ts"],"sourcesContent":["import \"./column-views.0bd15ee4.js\";\nimport \"./column-views.5c02450b.js\";\nimport \"./column-views.5e73411d.js\";\nimport $fXMLu$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnContext as $fXMLu$ColumnContext, ColumnAxis as $fXMLu$ColumnAxis, ColumnAxisType as $fXMLu$ColumnAxisType, SVG as $fXMLu$SVG, AgeAxis as $fXMLu$AgeAxis} from \"@macrostrat/column-components\";\nimport {useContext as $fXMLu$useContext} from \"react\";\nimport {Parenthetical as $fXMLu$Parenthetical} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $1aa4ef695e55d51d$exports = {};\n\n$parcel$export($1aa4ef695e55d51d$exports, \"VerticalAxisLabel\", () => $1aa4ef695e55d51d$export$64204d5cbb3e8227);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxis\", () => $1aa4ef695e55d51d$export$40b6b0e4520eeb34);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxisCore\", () => $1aa4ef695e55d51d$export$ac30ca3cf5df959d);\n$parcel$export($1aa4ef695e55d51d$exports, \"ApproximateHeightAxis\", () => $1aa4ef695e55d51d$export$82731b9607850ca6);\n$parcel$export($1aa4ef695e55d51d$exports, \"AgeCursor\", () => $1aa4ef695e55d51d$export$20d84abfcfa68dfa);\n\n\n\n\nvar $6kMGl = parcelRequire(\"6kMGl\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nconst $1aa4ef695e55d51d$var$h = (0, $fXMLu$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6kMGl))));\nconst $1aa4ef695e55d51d$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{\n const { pixelHeight: pixelHeight } = (0, $fXMLu$useContext)((0, $fXMLu$ColumnContext));\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n return $1aa4ef695e55d51d$var$h(\"g.axis\", {\n transform: \"translate(20 0)\"\n }, [\n $1aa4ef695e55d51d$var$h((0, $fXMLu$ColumnAxis), {\n ticks: v,\n showDomain: showDomain\n })\n ]);\n};\nfunction $1aa4ef695e55d51d$export$64204d5cbb3e8227(props) {\n const { label: label = \"Age\", unit: unit = \"Ma\", className: className, height: height } = props;\n return $1aa4ef695e55d51d$var$h(\"div.column-axis-label.age-axis-label\", {\n className: className,\n style: {\n height: height\n }\n }, [\n label,\n \" \",\n $1aa4ef695e55d51d$var$h.if(unit)((0, $fXMLu$Parenthetical), {\n className: \"age-axis-unit\"\n }, unit)\n ]);\n}\nfunction $1aa4ef695e55d51d$export$40b6b0e4520eeb34(rest) {\n const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const packages = sections.map((section)=>{\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo\n };\n });\n return $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$ac30ca3cf5df959d, {\n axisType: axisType,\n packages: packages,\n totalHeight: totalHeight,\n ...rest\n });\n}\nfunction $1aa4ef695e55d51d$export$82731b9607850ca6(rest) {\n /** Axis to show approximate height based on dynamic column scales */ const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const packages = sections.map((section)=>{\n const { scaleInfo: scaleInfo } = section;\n if (scaleInfo.heightScale == null) throw new Error(\"No height scale available for section\");\n return {\n key: `section-${section.section_id}`,\n ...scaleInfo,\n scale: scaleInfo.heightScale\n };\n });\n return $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$ac30ca3cf5df959d, {\n axisType: axisType,\n axisLabel: \"Approx. height\",\n axisUnit: \"m\",\n packages: packages,\n totalHeight: totalHeight,\n ...rest\n });\n}\nfunction $1aa4ef695e55d51d$export$ac30ca3cf5df959d(props) {\n const { axisType: axisType, axisLabel: axisLabel, axisUnit: axisUnit, totalHeight: totalHeight, packages: packages, ...rest } = props;\n if (axisType == (0, $fXMLu$ColumnAxisType).ORDINAL) return null;\n let _axisLabel = axisLabel ?? \"Age\";\n let _axisUnit = axisUnit ?? \"Ma\";\n if (axisType == (0, $fXMLu$ColumnAxisType).DEPTH) {\n _axisLabel = \"Depth\";\n _axisUnit = \"m\";\n } else if (axisType == (0, $fXMLu$ColumnAxisType).HEIGHT) {\n _axisLabel = \"Height\";\n _axisUnit = \"m\";\n }\n return $1aa4ef695e55d51d$var$h(\"div.composite-age-axis\", rest, [\n $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$64204d5cbb3e8227, {\n label: _axisLabel,\n unit: _axisUnit,\n height: totalHeight\n }),\n $1aa4ef695e55d51d$var$h((0, $fXMLu$SVG), {\n className: \"age-axis-column\",\n style: {\n width: `22px`,\n height: `${totalHeight}px`\n },\n width: 22,\n height: totalHeight\n }, packages.map((group, i)=>{\n const { key: key, scale: scale } = group;\n return $1aa4ef695e55d51d$var$h((0, $fXMLu$AgeAxis), {\n key: key,\n className: \"age-axis\",\n scale: scale,\n tickSizeOuter: 3\n });\n }))\n ]);\n}\nfunction $1aa4ef695e55d51d$export$20d84abfcfa68dfa({ age: age }) {\n /** A cursor that shows the age at a specific point on the age axis. */ const scale = (0, $wtIgl.useCompositeScale)();\n const heightPx = scale(age);\n if (age == null || heightPx == null) return null;\n return $1aa4ef695e55d51d$var$h(\"div.age-cursor\", {\n style: {\n top: heightPx\n }\n }, [\n $1aa4ef695e55d51d$var$h(\"div.line\"),\n $1aa4ef695e55d51d$var$h((0, $iYfAq.AgeLabel), {\n age: age,\n className: \"label\"\n })\n ]);\n}\n\n\nexport {$1aa4ef695e55d51d$export$64204d5cbb3e8227 as VerticalAxisLabel, $1aa4ef695e55d51d$export$40b6b0e4520eeb34 as CompositeAgeAxis, $1aa4ef695e55d51d$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $1aa4ef695e55d51d$export$82731b9607850ca6 as ApproximateHeightAxis, $1aa4ef695e55d51d$export$20d84abfcfa68dfa as AgeCursor};\n//# sourceMappingURL=column-views.5f3f8ccf.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { AgeLabel } from \"./unit-details\";\nimport { PackageScaleLayoutData } from \"./prepare-units\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className, height } = props;\n return h(\n \"div.column-axis-label.age-axis-label\",\n { className, style: { height } },\n [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ],\n );\n}\n\ninterface CompositeAgeAxisProps {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CompositeAgeAxis(rest: CompositeAgeAxisProps) {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport function ApproximateHeightAxis(rest: CompositeAgeAxisProps) {\n /** Axis to show approximate height based on dynamic column scales */\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n const { scaleInfo } = section;\n if (scaleInfo.heightScale == null) {\n throw new Error(\"No height scale available for section\");\n }\n return {\n key: `section-${section.section_id}`,\n ...scaleInfo,\n scale: scaleInfo.heightScale, // Use height scale instead of age scale\n // This only works with dynamic columns\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n axisLabel: \"Approx. height\",\n axisUnit: \"m\",\n packages,\n totalHeight,\n ...rest,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo extends CompositeAgeAxisProps {\n axisType: ColumnAxisType;\n axisLabel?: string;\n axisUnit?: string;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, axisLabel, axisUnit, totalHeight, packages, ...rest } =\n props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let _axisLabel: string = axisLabel ?? \"Age\";\n let _axisUnit = axisUnit ?? \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n _axisLabel = \"Depth\";\n _axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n _axisLabel = \"Height\";\n _axisUnit = \"m\";\n }\n\n return h(\"div.composite-age-axis\", rest, [\n h(VerticalAxisLabel, {\n label: _axisLabel,\n unit: _axisUnit,\n height: totalHeight,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n }),\n ),\n ]);\n}\n\nexport function AgeCursor({ age }) {\n /** A cursor that shows the age at a specific point on the age axis. */\n const scale = useCompositeScale();\n const heightPx = scale(age);\n\n if (age == null || heightPx == null) {\n return null;\n }\n\n return h(\n \"div.age-cursor\",\n {\n style: {\n top: heightPx,\n },\n },\n [h(\"div.line\"), h(AgeLabel, { age, className: \"label\" })],\n );\n}\n"],"names":["$fXMLu$macrostrathyper","ColumnAxisType","$fXMLu$ColumnAxisType","SVG","$fXMLu$SVG","AgeAxis","$fXMLu$AgeAxis","Parenthetical","$fXMLu$Parenthetical","$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","$1aa4ef695e55d51d$exports","$1aa4ef695e55d51d$export$64204d5cbb3e8227","$1aa4ef695e55d51d$export$40b6b0e4520eeb34","$1aa4ef695e55d51d$export$ac30ca3cf5df959d","$1aa4ef695e55d51d$export$82731b9607850ca6","$1aa4ef695e55d51d$export$20d84abfcfa68dfa","$6kMGl","$wtIgl","$iYfAq","$1aa4ef695e55d51d$var$h","styled","a","__esModule","default","props","label","unit","className","height","style","if","rest","axisType","sections","totalHeight","useMacrostratColumnData","packages","map","section","key","section_id","scaleInfo","axisLabel","axisUnit","heightScale","scale","ORDINAL","_axisLabel","_axisUnit","DEPTH","HEIGHT","width","group","i","tickSizeOuter","age","heightPx","useCompositeScale","top","AgeLabel","VerticalAxisLabel","CompositeAgeAxis","CompositeAgeAxisCore","ApproximateHeightAxis","AgeCursor"],"version":3,"file":"column-views.5f3f8ccf.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.bfaf5ddb.js";import{Button as e}from"@blueprintjs/core";import{useKeyHandler as t}from"@macrostrat/ui-components";import i from"@macrostrat/hyper";var n=globalThis,r={},o={},a=n.parcelRequirea149;null==a&&((a=function(e){if(e in r)return r[e].exports;if(e in o){var t=o[e];delete o[e];var i={id:e,exports:{}};return r[e]=i,t.call(i.exports,i,i.exports),i.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){o[e]=t},n.parcelRequirea149=a),a.register,Object.defineProperty({},"UnitDetailsPanelWithNavigation",{get:()=>s,set:void 0,enumerable:!0,configurable:!0});var l=a("iYfAq");function s(n){let{unitData:r,className:o,selectedUnit:a,onSelectUnit:s,features:u,...c}=n,d=r?.findIndex(e=>e.unit_id===a?.unit_id),p={38:d-1,40:d+1};if(t(e=>{let t=p[e.keyCode];null==t||t<0||t>=r.length||(s(r[t].unit_id),e.stopPropagation())},[r,d]),null==a)return null;let f=i([i(e,{icon:"arrow-up",disabled:0===d,onClick(){s(r[d-1]?.unit_id)}}),i(e,{icon:"arrow-down",disabled:d===r.length-1,onClick(){s(r[d+1]?.unit_id)}})]);return i(l.UnitDetailsPanel,{unit:a,onClose(e){s(null)},className:o,actions:f,showLithologyProportions:!0,selectUnit:s,columnUnits:r,features:u,...c})}export{s as UnitDetailsPanelWithNavigation};
2
- //# sourceMappingURL=column-views.b7f69f19.js.map
1
+ import"./column-views.5e73411d.js";import{Button as e}from"@blueprintjs/core";import{useKeyHandler as t}from"@macrostrat/ui-components";import i from"@macrostrat/hyper";var n=globalThis,r={},o={},a=n.parcelRequirea149;null==a&&((a=function(e){if(e in r)return r[e].exports;if(e in o){var t=o[e];delete o[e];var i={id:e,exports:{}};return r[e]=i,t.call(i.exports,i,i.exports),i.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){o[e]=t},n.parcelRequirea149=a),a.register,Object.defineProperty({},"UnitDetailsPanelWithNavigation",{get:()=>s,set:void 0,enumerable:!0,configurable:!0});var l=a("iYfAq");function s(n){let{unitData:r,className:o,selectedUnit:a,onSelectUnit:s,features:u,...c}=n,d=r?.findIndex(e=>e.unit_id===a?.unit_id),p={38:d-1,40:d+1};if(t(e=>{let t=p[e.keyCode];null==t||t<0||t>=r.length||(s(r[t].unit_id),e.stopPropagation())},[r,d]),null==a)return null;let f=i([i(e,{icon:"arrow-up",disabled:0===d,onClick(){s(r[d-1]?.unit_id)}}),i(e,{icon:"arrow-down",disabled:d===r.length-1,onClick(){s(r[d+1]?.unit_id)}})]);return i(l.UnitDetailsPanel,{unit:a,onClose(e){s(null)},className:o,actions:f,showLithologyProportions:!0,selectUnit:s,columnUnits:r,features:u,...c})}export{s as UnitDetailsPanelWithNavigation};
2
+ //# sourceMappingURL=column-views.6051e986.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,Q,U,C,K,mB,A,Q,iB,C,K,2B,A,Q,M,mB,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,iC,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,SCKO,SAAS,EAA+B,CAAK,EAClD,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,aAAE,CAAY,CAAA,aAAE,CAAY,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CAC1E,EAEI,EAAK,GAAU,UACnB,AAAC,GAAS,EAAK,OAAO,GAAK,GAAc,SAGrC,EAAS,CACb,GAAI,EAAK,EACT,GAAI,EAAK,CACX,EAYA,GAVA,AAAA,EACE,AAAC,IACC,IAAM,EAAS,CAAM,CAAC,EAAM,OAAO,CAAC,AACtB,OAAV,GAAkB,EAAS,GAAK,GAAU,EAAS,MAAM,GAC7D,EAAa,CAAQ,CAAC,EAAO,CAAC,OAAO,EACrC,EAAM,eAAe,GACvB,EACA,CAAC,EAAU,EAAG,EAGZ,AAAgB,MAAhB,EAAsB,OAAO,KAEjC,IAAM,EAAU,AAAA,EAAE,CAChB,AAAA,EAAE,EAAQ,CACR,KAAM,WACN,SAAU,AAAO,IAAP,EACV,UACE,EAAa,CAAQ,CAAC,EAAK,EAAE,EAAE,QACjC,CACF,GACA,AAAA,EAAE,EAAQ,CACR,KAAM,aACN,SAAU,IAAO,EAAS,MAAM,CAAG,EACnC,UACE,EAAa,CAAQ,CAAC,EAAK,EAAE,EAAE,QACjC,CACF,GACD,EAED,OAAO,AAAA,EAAE,EAAA,gBAAe,CAAG,CACzB,KAAM,EACN,QAAQ,CAAK,EACX,EAAa,KACf,EACA,UAAA,EACA,QAAA,EACA,yBAA0B,CAAA,EAC1B,WAAY,EACZ,YAAa,EACb,SAAA,EACA,GAAG,CAAI,AACT,EACF,Q,K,8B","sources":["<anon>","packages/column-views/src/unit-details/modal-panel.ts"],"sourcesContent":["import \"./column-views.bfaf5ddb.js\";\nimport {Button as $cvq79$Button} from \"@blueprintjs/core\";\nimport {useKeyHandler as $cvq79$useKeyHandler} from \"@macrostrat/ui-components\";\nimport $cvq79$macrostrathyper from \"@macrostrat/hyper\";\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 $a8b0b0b16d1f0073$exports = {};\n\n$parcel$export($a8b0b0b16d1f0073$exports, \"UnitDetailsPanelWithNavigation\", () => $a8b0b0b16d1f0073$export$cfdbe8496aa51962);\n\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\n\n\nfunction $a8b0b0b16d1f0073$export$cfdbe8496aa51962(props) {\n const { unitData: unitData, className: className, selectedUnit: selectedUnit, onSelectUnit: onSelectUnit, features: features, ...rest } = props;\n const ix = unitData?.findIndex((unit)=>unit.unit_id === selectedUnit?.unit_id);\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1\n };\n (0, $cvq79$useKeyHandler)((event)=>{\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n }, [\n unitData,\n ix\n ]);\n if (selectedUnit == null) return null;\n const actions = (0, $cvq79$macrostrathyper)([\n (0, $cvq79$macrostrathyper)((0, $cvq79$Button), {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick () {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n }\n }),\n (0, $cvq79$macrostrathyper)((0, $cvq79$Button), {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick () {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n }\n })\n ]);\n return (0, $cvq79$macrostrathyper)((0, $iYfAq.UnitDetailsPanel), {\n unit: selectedUnit,\n onClose (event) {\n onSelectUnit(null);\n },\n className: className,\n actions: actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features: features,\n ...rest\n });\n}\n\n\nexport {$a8b0b0b16d1f0073$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};\n//# sourceMappingURL=column-views.b7f69f19.js.map\n","import { Button } from \"@blueprintjs/core\";\nimport { UnitDetailsPanel } from \"./panel\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function UnitDetailsPanelWithNavigation(props) {\n const { unitData, className, selectedUnit, onSelectUnit, features, ...rest } =\n props;\n\n const ix = unitData?.findIndex(\n (unit) => unit.unit_id === selectedUnit?.unit_id,\n );\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n },\n [unitData, ix],\n );\n\n if (selectedUnit == null) return null;\n\n const actions = h([\n h(Button, {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick() {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n },\n }),\n h(Button, {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick() {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n },\n }),\n ]);\n\n return h(UnitDetailsPanel, {\n unit: selectedUnit,\n onClose(event) {\n onSelectUnit(null);\n },\n className,\n actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features,\n ...rest,\n });\n}\n"],"names":["Button","$cvq79$Button","useKeyHandler","$cvq79$useKeyHandler","$cvq79$macrostrathyper","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$a8b0b0b16d1f0073$export$cfdbe8496aa51962","set","s","enumerable","configurable","$iYfAq","props","unitData","className","selectedUnit","onSelectUnit","features","rest","ix","findIndex","unit","unit_id","keyMap","event","nextIx","keyCode","length","stopPropagation","actions","icon","disabled","onClick","UnitDetailsPanel","onClose","showLithologyProportions","selectUnit","columnUnits","UnitDetailsPanelWithNavigation"],"version":3,"file":"column-views.b7f69f19.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,Q,U,C,K,mB,A,Q,iB,C,K,2B,A,Q,M,mB,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,iC,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,SCKO,SAAS,EAA+B,CAAK,EAClD,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,aAAE,CAAY,CAAA,aAAE,CAAY,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CAC1E,EAEI,EAAK,GAAU,UACnB,AAAC,GAAS,EAAK,OAAO,GAAK,GAAc,SAGrC,EAAS,CACb,GAAI,EAAK,EACT,GAAI,EAAK,CACX,EAYA,GAVA,AAAA,EACE,AAAC,IACC,IAAM,EAAS,CAAM,CAAC,EAAM,OAAO,CAAC,AACtB,OAAV,GAAkB,EAAS,GAAK,GAAU,EAAS,MAAM,GAC7D,EAAa,CAAQ,CAAC,EAAO,CAAC,OAAO,EACrC,EAAM,eAAe,GACvB,EACA,CAAC,EAAU,EAAG,EAGZ,AAAgB,MAAhB,EAAsB,OAAO,KAEjC,IAAM,EAAU,AAAA,EAAE,CAChB,AAAA,EAAE,EAAQ,CACR,KAAM,WACN,SAAU,AAAO,IAAP,EACV,UACE,EAAa,CAAQ,CAAC,EAAK,EAAE,EAAE,QACjC,CACF,GACA,AAAA,EAAE,EAAQ,CACR,KAAM,aACN,SAAU,IAAO,EAAS,MAAM,CAAG,EACnC,UACE,EAAa,CAAQ,CAAC,EAAK,EAAE,EAAE,QACjC,CACF,GACD,EAED,OAAO,AAAA,EAAE,EAAA,gBAAe,CAAG,CACzB,KAAM,EACN,QAAQ,CAAK,EACX,EAAa,KACf,EACA,UAAA,EACA,QAAA,EACA,yBAA0B,CAAA,EAC1B,WAAY,EACZ,YAAa,EACb,SAAA,EACA,GAAG,CAAI,AACT,EACF,Q,K,8B","sources":["<anon>","packages/column-views/src/unit-details/modal-panel.ts"],"sourcesContent":["import \"./column-views.5e73411d.js\";\nimport {Button as $cvq79$Button} from \"@blueprintjs/core\";\nimport {useKeyHandler as $cvq79$useKeyHandler} from \"@macrostrat/ui-components\";\nimport $cvq79$macrostrathyper from \"@macrostrat/hyper\";\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 $a8b0b0b16d1f0073$exports = {};\n\n$parcel$export($a8b0b0b16d1f0073$exports, \"UnitDetailsPanelWithNavigation\", () => $a8b0b0b16d1f0073$export$cfdbe8496aa51962);\n\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\n\n\nfunction $a8b0b0b16d1f0073$export$cfdbe8496aa51962(props) {\n const { unitData: unitData, className: className, selectedUnit: selectedUnit, onSelectUnit: onSelectUnit, features: features, ...rest } = props;\n const ix = unitData?.findIndex((unit)=>unit.unit_id === selectedUnit?.unit_id);\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1\n };\n (0, $cvq79$useKeyHandler)((event)=>{\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n }, [\n unitData,\n ix\n ]);\n if (selectedUnit == null) return null;\n const actions = (0, $cvq79$macrostrathyper)([\n (0, $cvq79$macrostrathyper)((0, $cvq79$Button), {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick () {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n }\n }),\n (0, $cvq79$macrostrathyper)((0, $cvq79$Button), {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick () {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n }\n })\n ]);\n return (0, $cvq79$macrostrathyper)((0, $iYfAq.UnitDetailsPanel), {\n unit: selectedUnit,\n onClose (event) {\n onSelectUnit(null);\n },\n className: className,\n actions: actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features: features,\n ...rest\n });\n}\n\n\nexport {$a8b0b0b16d1f0073$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};\n//# sourceMappingURL=column-views.6051e986.js.map\n","import { Button } from \"@blueprintjs/core\";\nimport { UnitDetailsPanel } from \"./panel\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function UnitDetailsPanelWithNavigation(props) {\n const { unitData, className, selectedUnit, onSelectUnit, features, ...rest } =\n props;\n\n const ix = unitData?.findIndex(\n (unit) => unit.unit_id === selectedUnit?.unit_id,\n );\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n },\n [unitData, ix],\n );\n\n if (selectedUnit == null) return null;\n\n const actions = h([\n h(Button, {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick() {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n },\n }),\n h(Button, {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick() {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n },\n }),\n ]);\n\n return h(UnitDetailsPanel, {\n unit: selectedUnit,\n onClose(event) {\n onSelectUnit(null);\n },\n className,\n actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features,\n ...rest,\n });\n}\n"],"names":["Button","$cvq79$Button","useKeyHandler","$cvq79$useKeyHandler","$cvq79$macrostrathyper","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$a8b0b0b16d1f0073$export$cfdbe8496aa51962","set","s","enumerable","configurable","$iYfAq","props","unitData","className","selectedUnit","onSelectUnit","features","rest","ix","findIndex","unit","unit_id","keyMap","event","nextIx","keyCode","length","stopPropagation","actions","icon","disabled","onClick","UnitDetailsPanel","onClose","showLithologyProportions","selectUnit","columnUnits","UnitDetailsPanelWithNavigation"],"version":3,"file":"column-views.6051e986.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.e7e26765.js";import"./column-views.41d72280.js";import"./column-views.861b8e3e.js";import"./column-views.cdcce702.js";import"./column-views.dbb4a46b.js";import"./column-views.6bba8c57.js";import{ColumnAxisType as e,ColumnContext as t,ColumnLayoutContext as o,useColumn as i,useGeologicPattern as a,zigZagBoxPath as n,ForeignObject as r,PatternDefsProvider as l}from"@macrostrat/column-components";import{SizeAwareLabel as s}from"@macrostrat/ui-components";import c from"@macrostrat/hyper";import{useContext as u,forwardRef as d,useMemo as m}from"react";import p from"classnames";var f=globalThis,b={},h={},g=f.parcelRequirea149;null==g&&((g=function(e){if(e in b)return b[e].exports;if(e in h){var t=h[e];delete h[e];var o={id:e,exports:{}};return b[e]=o,t.call(o.exports,o,o.exports),o.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){h[e]=t},f.parcelRequirea149=g),g.register;var v=g("5VyZI"),x=g("lgTAP"),w=g("5SO8b"),y=g("klU0I"),C=g("iWhRv"),_=g("bfmPX");let T=c.styled(y&&y.__esModule?y.default:y);function F(i,a={}){let{widthFraction:n=1,axisType:r=e.AGE,padding:l=0}=a,{scale:s}=u(t),{width:c}=u(o),[d,m]=(0,C.getUnitHeightRange)(i,r),p=s(m),f=Math.abs(s(d)-p);return{x:c*(1-n)-l,y:p-l,height:f+2*l,width:n*c+2*l}}function k(e){let{division:t,children:o,className:a,widthFraction:n=1,axisType:r,nColumns:l,...s}=e,{axisType:c}=i(),u=(0,x.useLithologies)(),d={...F(t,{widthFraction:n,axisType:c}),...s},m=(0,_.getMixedUnitColor)(t,u,null,!1),[p,f,b]=(0,w.useUnitSelectionTarget)(t);return T("g.unit",{className:a,style:{"--column-unit-background-color":m,"--column-stroke-color":m}},[T("rect.unit.background",{ref:p,...d,fill:m,fillOpacity:.8,stroke:m,onClick:b}),T.if(f)("rect.selection-overlay",d)])}function N(e){let{division:t,children:o,fill:n,defaultFill:r="transparent",className:l,widthFraction:s=1,backgroundColor:c,patternColor:u,patternID:d,axisType:m,...f}=e,{axisType:b}=i(),h=null!=t.t_clip_pos,g=null!=t.b_clip_pos,x={...F(t,{widthFraction:s,axisType:b}),...f,overflowTop:h,overflowBottom:g},y=d??(0,v.resolveID)(t),C=n??a(y,r),_=p(l,{colored:null!=c}),[k,N,U]=(0,w.useUnitSelectionTarget)(t);return T("g.unit",{className:_,style:{"--column-unit-background-color":c}},[T(H,{...x,fill:c,onClick:U,className:"background"}),T(H,{ref:k,...x,fill:C,onClick:U,className:"unit"}),T.if(N)(H,{...x,className:"selection-overlay"}),o])}let H=d((e,t)=>{let{x:o,y:i,width:a,height:r,overflowTop:l=!1,overflowBottom:s=!1,...c}=e;return l||s?T("path",{d:n(o,i,a,r,l,s),ref:t,...c}):T("rect",{x:o,y:i,width:a,height:r,ref:t,...c})});function U(e){let{division:t,label:o,onLabelUpdated:a,widthFraction:n,showLabel:l=!0,backgroundColor:c,patternID:u,axisType:d,...m}=e,{axisType:p}=i(),f={...F(t,{widthFraction:n,axisType:p}),...m},{width:b,height:h}=f;return T(N,{className:"labeled-unit",division:t,backgroundColor:c,patternID:u,...f},[T.if(l)(r,{...f,className:"unit-label-container"},T(s,{className:"unit-overlay",labelClassName:"unit-label",style:{width:b,height:h},label:o,onVisibilityChanged(e){a(o,e)}}))])}function $(e){let{unitComponent:o=N,unitComponentProps:i={}}=e,{divisions:a}=u(t);if(0==a.length)return console.warn("No divisions found in column context"),null;let n=m(()=>a.map((e,t)=>T(o,{division:e,key:e.unit_id,...i})),[a,o,i]);return T(l,{resolveID:v.resolveID,scalePattern:v.scalePattern},T("g.divisions",n))}export{k as MinimalUnit,N as Unit,U as LabeledUnit,$ as UnitBoxes};
2
- //# sourceMappingURL=column-views.89afd6b3.js.map
1
+ import"./column-views.e7e26765.js";import"./column-views.080781ca.js";import"./column-views.7b6e7d82.js";import"./column-views.cdcce702.js";import"./column-views.dbb4a46b.js";import"./column-views.6bba8c57.js";import{ColumnAxisType as e,ColumnContext as t,ColumnLayoutContext as o,useColumn as i,useGeologicPattern as a,zigZagBoxPath as n,ForeignObject as r,PatternDefsProvider as l}from"@macrostrat/column-components";import{SizeAwareLabel as s}from"@macrostrat/ui-components";import c from"@macrostrat/hyper";import{useContext as u,forwardRef as d,useMemo as m}from"react";import p from"classnames";var f=globalThis,b={},h={},g=f.parcelRequirea149;null==g&&((g=function(e){if(e in b)return b[e].exports;if(e in h){var t=h[e];delete h[e];var o={id:e,exports:{}};return b[e]=o,t.call(o.exports,o,o.exports),o.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){h[e]=t},f.parcelRequirea149=g),g.register;var v=g("5VyZI"),x=g("lgTAP"),w=g("5SO8b"),y=g("klU0I"),C=g("iWhRv"),_=g("bfmPX");let T=c.styled(y&&y.__esModule?y.default:y);function F(i,a={}){let{widthFraction:n=1,axisType:r=e.AGE,padding:l=0}=a,{scale:s}=u(t),{width:c}=u(o),[d,m]=(0,C.getUnitHeightRange)(i,r),p=s(m),f=Math.abs(s(d)-p);return{x:c*(1-n)-l,y:p-l,height:f+2*l,width:n*c+2*l}}function k(e){let{division:t,children:o,className:a,widthFraction:n=1,axisType:r,nColumns:l,...s}=e,{axisType:c}=i(),u=(0,x.useLithologies)(),d={...F(t,{widthFraction:n,axisType:c}),...s},m=(0,_.getMixedUnitColor)(t,u,null,!1),[p,f,b]=(0,w.useUnitSelectionTarget)(t);return T("g.unit",{className:a,style:{"--column-unit-background-color":m,"--column-stroke-color":m}},[T("rect.unit.background",{ref:p,...d,fill:m,fillOpacity:.8,stroke:m,onClick:b}),T.if(f)("rect.selection-overlay",d)])}function N(e){let{division:t,children:o,fill:n,defaultFill:r="transparent",className:l,widthFraction:s=1,backgroundColor:c,patternColor:u,patternID:d,axisType:m,...f}=e,{axisType:b}=i(),h=null!=t.t_clip_pos,g=null!=t.b_clip_pos,x={...F(t,{widthFraction:s,axisType:b}),...f,overflowTop:h,overflowBottom:g},y=d??(0,v.resolveID)(t),C=n??a(y,r),_=p(l,{colored:null!=c}),[k,N,U]=(0,w.useUnitSelectionTarget)(t);return T("g.unit",{className:_,style:{"--column-unit-background-color":c}},[T(H,{...x,fill:c,onClick:U,className:"background"}),T(H,{ref:k,...x,fill:C,onClick:U,className:"unit"}),T.if(N)(H,{...x,className:"selection-overlay"}),o])}let H=d((e,t)=>{let{x:o,y:i,width:a,height:r,overflowTop:l=!1,overflowBottom:s=!1,...c}=e;return l||s?T("path",{d:n(o,i,a,r,l,s),ref:t,...c}):T("rect",{x:o,y:i,width:a,height:r,ref:t,...c})});function U(e){let{division:t,label:o,onLabelUpdated:a,widthFraction:n,showLabel:l=!0,backgroundColor:c,patternID:u,axisType:d,...m}=e,{axisType:p}=i(),f={...F(t,{widthFraction:n,axisType:p}),...m},{width:b,height:h}=f;return T(N,{className:"labeled-unit",division:t,backgroundColor:c,patternID:u,...f},[T.if(l)(r,{...f,className:"unit-label-container"},T(s,{className:"unit-overlay",labelClassName:"unit-label",style:{width:b,height:h},label:o,onVisibilityChanged(e){a(o,e)}}))])}function $(e){let{unitComponent:o=N,unitComponentProps:i={}}=e,{divisions:a}=u(t);if(0==a.length)return console.warn("No divisions found in column context"),null;let n=m(()=>a.map((e,t)=>T(o,{division:e,key:e.unit_id,...i})),[a,o,i]);return T(l,{resolveID:v.resolveID,scalePattern:v.scalePattern},T("g.divisions",n))}export{k as MinimalUnit,N as Unit,U as LabeledUnit,$ as UnitBoxes};
2
+ //# sourceMappingURL=column-views.64fc40d6.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,Q,kB,C,C,iB,C,C,uB,C,C,a,C,C,sB,C,C,iB,C,C,iB,C,C,uB,C,K,+B,A,Q,kB,C,K,2B,A,Q,M,mB,A,Q,c,C,C,c,C,C,W,C,K,O,A,Q,M,Y,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCsBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAkCvB,SAAS,EACP,CAAe,CACf,EAA2B,CAAC,CAAC,EAE7B,GAAM,CAAA,cACJ,EAAgB,CAAA,CAAA,SAChB,EAAW,AAAA,EAAe,GAAG,CAAA,QAC7B,EAAU,CAAA,CACX,CAAG,EACE,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GACvB,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GAEvB,CAAC,EAAc,EAAU,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAU,GAEzD,EAAI,EAAM,GACV,EAAS,KAAK,GAAG,CAAC,EAAM,GAAgB,GAE9C,MAAO,CACL,EAAG,EAAS,CAAA,EAAI,CAAA,EAAiB,EACjC,EAAG,EAAI,EACP,OAAQ,EAAS,AAAU,EAAV,EACjB,MAAO,EAAgB,EAAQ,AAAU,EAAV,CACjC,CACF,CAEO,SAAS,EAAY,CAAK,EAC/B,GAAM,CACJ,SAAU,CAAC,CAAA,SACX,CAAQ,CAAA,UACR,CAAS,CAAA,cACT,EAAgB,CAAA,CAChB,SAAU,CAAC,CACX,SAAU,CAAE,CACZ,GAAG,EACJ,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,IACf,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAS,CACb,GAAG,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","sources":["<anon>","packages/column-views/src/units/boxes.ts"],"sourcesContent":["import \"./column-views.e7e26765.js\";\nimport \"./column-views.41d72280.js\";\nimport \"./column-views.861b8e3e.js\";\nimport \"./column-views.cdcce702.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.6bba8c57.js\";\nimport {ColumnAxisType as $jfrfr$ColumnAxisType, ColumnContext as $jfrfr$ColumnContext, ColumnLayoutContext as $jfrfr$ColumnLayoutContext, useColumn as $jfrfr$useColumn, useGeologicPattern as $jfrfr$useGeologicPattern, zigZagBoxPath as $jfrfr$zigZagBoxPath, ForeignObject as $jfrfr$ForeignObject, PatternDefsProvider as $jfrfr$PatternDefsProvider} from \"@macrostrat/column-components\";\nimport {SizeAwareLabel as $jfrfr$SizeAwareLabel} from \"@macrostrat/ui-components\";\nimport $jfrfr$macrostrathyper from \"@macrostrat/hyper\";\nimport {useContext as $jfrfr$useContext, forwardRef as $jfrfr$forwardRef, useMemo as $jfrfr$useMemo} from \"react\";\nimport $jfrfr$classnames from \"classnames\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $klU0I = parcelRequire(\"klU0I\");\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\nconst $82e068a44c11e855$var$h = (0, $jfrfr$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($klU0I))));\nfunction $82e068a44c11e855$var$useUnitRect(division, options = {}) {\n const { widthFraction: widthFraction = 1, axisType: axisType = (0, $jfrfr$ColumnAxisType).AGE, padding: padding = 0 } = options;\n const { scale: scale } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n const { width: width } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnLayoutContext));\n const [bottomHeight, topHeight] = (0, $iWhRv.getUnitHeightRange)(division, axisType);\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2\n };\n}\nfunction $82e068a44c11e855$export$d54fdbabca27e53(props) {\n const { division: d, children: children, className: className, widthFraction: widthFraction = 1, axisType: _, nColumns: __, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const backgroundColor = (0, $bfmPX.getMixedUnitColor)(d, lithMap, null, false);\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h(\"rect.unit.background\", {\n ref: ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick: onClick\n }),\n $82e068a44c11e855$var$h.if(selected)(\"rect.selection-overlay\", bounds)\n ]);\n}\nfunction $82e068a44c11e855$export$1d8b9ae22d404866(props) {\n const { division: d, children: children, fill: fill, defaultFill: defaultFill = \"transparent\", className: className, widthFraction: widthFraction = 1, backgroundColor: backgroundColor, patternColor: patternColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom\n };\n const _patternID = patternID ?? (0, $5VyZI.resolveID)(d);\n let _fill = fill ?? (0, $jfrfr$useGeologicPattern)(_patternID, defaultFill);\n const hasBackgroundColor = backgroundColor != null;\n const _className = (0, $jfrfr$classnames)(className, {\n colored: hasBackgroundColor\n });\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick: onClick,\n className: \"background\"\n }),\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ref: ref,\n ...bounds,\n fill: _fill,\n onClick: //mask,\n onClick,\n className: \"unit\"\n }),\n $82e068a44c11e855$var$h.if(selected)($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n className: \"selection-overlay\"\n }),\n //defs,\n children\n ]);\n}\nconst $82e068a44c11e855$var$UnitRect = (0, $jfrfr$forwardRef)((props, ref)=>{\n const { x: x, y: y, width: width, height: height, overflowTop: overflowTop = false, overflowBottom: overflowBottom = false, ...rest } = props;\n if (!overflowTop && !overflowBottom) return $82e068a44c11e855$var$h(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n ref: ref,\n ...rest\n });\n else {\n const d = (0, $jfrfr$zigZagBoxPath)(x, y, width, height, overflowTop, overflowBottom);\n return $82e068a44c11e855$var$h(\"path\", {\n d: d,\n ref: ref,\n ...rest\n });\n }\n});\nfunction $82e068a44c11e855$export$b4f0ca233b98f9af(props) {\n const { division: division, label: label, onLabelUpdated: onLabelUpdated, widthFraction: widthFraction, showLabel: showLabel = true, backgroundColor: backgroundColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(division, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const { width: width, height: height } = bounds;\n return $82e068a44c11e855$var$h($82e068a44c11e855$export$1d8b9ae22d404866, {\n className: \"labeled-unit\",\n division: division,\n backgroundColor: backgroundColor,\n patternID: patternID,\n ...bounds\n }, [\n $82e068a44c11e855$var$h.if(showLabel)((0, $jfrfr$ForeignObject), {\n ...bounds,\n className: \"unit-label-container\"\n }, $82e068a44c11e855$var$h((0, $jfrfr$SizeAwareLabel), {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: {\n width: width,\n height: height\n },\n label: label,\n onVisibilityChanged (viz) {\n onLabelUpdated(label, viz);\n }\n }))\n ]);\n}\nfunction $82e068a44c11e855$export$5d1cdfabe8dc8085(props) {\n const { unitComponent: unitComponent = $82e068a44c11e855$export$1d8b9ae22d404866, unitComponentProps: unitComponentProps = {} } = props;\n const { divisions: divisions } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n const children = (0, $jfrfr$useMemo)(()=>{\n return divisions.map((division, i)=>{\n // @ts-ignore\n return $82e068a44c11e855$var$h(unitComponent, {\n division: division,\n key: division.unit_id,\n ...unitComponentProps\n });\n });\n }, [\n divisions,\n unitComponent,\n unitComponentProps\n ]);\n return $82e068a44c11e855$var$h((0, $jfrfr$PatternDefsProvider), {\n resolveID: $5VyZI.resolveID,\n scalePattern: $5VyZI.scalePattern\n }, $82e068a44c11e855$var$h(\"g.divisions\", children));\n}\n\n\nexport {$82e068a44c11e855$export$d54fdbabca27e53 as MinimalUnit, $82e068a44c11e855$export$1d8b9ae22d404866 as Unit, $82e068a44c11e855$export$b4f0ca233b98f9af as LabeledUnit, $82e068a44c11e855$export$5d1cdfabe8dc8085 as UnitBoxes};\n//# sourceMappingURL=column-views.89afd6b3.js.map\n","import {\n ColumnAxisType,\n ColumnContext,\n ColumnLayoutContext,\n ForeignObject,\n PatternDefsProvider,\n useColumn,\n useGeologicPattern,\n zigZagBoxPath,\n} from \"@macrostrat/column-components\";\nimport { SizeAwareLabel, Clickable } from \"@macrostrat/ui-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport { forwardRef, ReactNode, useContext, useMemo } from \"react\";\nimport { resolveID, scalePattern } from \"./resolvers\";\nimport { useUnitSelectionTarget, useLithologies } from \"../data-provider\";\nimport { IUnit } from \"./types\";\nimport styles from \"./boxes.module.sass\";\nimport classNames from \"classnames\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { getMixedUnitColor } from \"./colors\";\nimport type { RectBounds } from \"./types\";\n\nconst h = hyper.styled(styles);\n\ninterface UnitRectOptions {\n widthFraction?: number;\n axisType?: ColumnAxisType;\n // Padding to create overflow for zig-zags or other ornamented edges\n padding?: number;\n}\n\ninterface UnitProps extends Clickable, Partial<RectBounds>, UnitRectOptions {\n division: IUnit;\n resolveID?(IUnit): string;\n UUID?: string;\n defaultFill?: string;\n widthFraction?: number;\n children?: ReactNode;\n className?: string;\n fill?: string;\n backgroundColor?: string;\n patternColor?: string;\n patternID?: string | number;\n}\n\nexport interface LabeledUnitProps\n extends UnitRectOptions, Clickable, Partial<RectBounds> {\n division: IUnit;\n patternID?: string | number;\n label: string;\n onLabelUpdated?(label: string, shown: boolean);\n halfWidth?: boolean;\n showLabel?: boolean;\n backgroundColor?: string;\n}\n\nfunction useUnitRect(\n division: IUnit,\n options: UnitRectOptions = {},\n): RectBounds {\n const {\n widthFraction = 1,\n axisType = ColumnAxisType.AGE,\n padding = 0,\n } = options;\n const { scale } = useContext(ColumnContext);\n const { width } = useContext(ColumnLayoutContext);\n\n const [bottomHeight, topHeight] = getUnitHeightRange(division, axisType);\n\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2,\n };\n}\n\nexport function MinimalUnit(props) {\n const {\n division: d,\n children,\n className,\n widthFraction = 1,\n axisType: _, // not sure why this is brought in...\n nColumns: __,\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const lithMap = useLithologies();\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n };\n\n const backgroundColor = getMixedUnitColor(d, lithMap, null, false);\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor,\n },\n },\n [\n h(\"rect.unit.background\", {\n ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick,\n }),\n h.if(selected)(\"rect.selection-overlay\", bounds),\n ],\n );\n}\n\nfunction Unit(props: UnitProps) {\n const {\n division: d,\n children,\n fill,\n defaultFill = \"transparent\",\n className,\n widthFraction = 1,\n backgroundColor,\n patternColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom,\n };\n const _patternID = patternID ?? resolveID(d);\n let _fill = fill ?? useGeologicPattern(_patternID, defaultFill);\n\n const hasBackgroundColor = backgroundColor != null;\n\n const _className = classNames(className, { colored: hasBackgroundColor });\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n },\n },\n [\n h(UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick,\n className: \"background\",\n }),\n h(UnitRect, {\n ref,\n ...bounds,\n fill: _fill,\n //mask,\n onClick,\n className: \"unit\",\n }),\n h.if(selected)(UnitRect, { ...bounds, className: \"selection-overlay\" }),\n //defs,\n children,\n ],\n );\n}\n\ninterface UnitRectProps {\n x: number;\n y: number;\n width: number;\n height: number;\n className: string;\n // Used to determine if the rect should have a zig-zag edge on the top or bottom\n overflowTop?: boolean;\n overflowBottom?: boolean;\n [key: string]: any;\n}\n\nconst UnitRect = forwardRef((props: UnitRectProps, ref) => {\n const {\n x,\n y,\n width,\n height,\n overflowTop = false,\n overflowBottom = false,\n ...rest\n } = props;\n\n if (!overflowTop && !overflowBottom) {\n return h(\"rect\", {\n x,\n y,\n width,\n height,\n ref,\n ...rest,\n });\n } else {\n const d = zigZagBoxPath(x, y, width, height, overflowTop, overflowBottom);\n return h(\"path\", {\n d,\n ref,\n ...rest,\n });\n }\n});\n\nfunction LabeledUnit(props: LabeledUnitProps) {\n const {\n division,\n label,\n onLabelUpdated,\n widthFraction,\n showLabel = true,\n backgroundColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const bounds = {\n ...useUnitRect(division, { widthFraction, axisType }),\n ...baseBounds,\n };\n const { width, height } = bounds;\n return h(\n Unit,\n {\n className: \"labeled-unit\",\n division,\n backgroundColor,\n patternID,\n ...bounds,\n },\n [\n h.if(showLabel)(\n ForeignObject,\n { ...bounds, className: \"unit-label-container\" },\n h(SizeAwareLabel, {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: { width, height },\n label,\n onVisibilityChanged(viz) {\n onLabelUpdated(label, viz);\n },\n }),\n ),\n ],\n );\n}\n\nfunction UnitBoxes<T>(props: {\n unitComponent: React.FunctionComponent<{ division: T }>;\n unitComponentProps?: any;\n transformDivisions?(divisions: T[]): T[];\n transformDivision?: (\n division: any,\n index: number,\n divisions: any[],\n ) => T | null;\n}) {\n const { unitComponent = Unit, unitComponentProps = {} } = props;\n const { divisions } = useContext(ColumnContext);\n\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n\n const children = useMemo(() => {\n return divisions.map((division: any, i) => {\n // @ts-ignore\n return h(unitComponent, {\n division,\n key: division.unit_id,\n ...unitComponentProps,\n });\n });\n }, [divisions, unitComponent, unitComponentProps]);\n\n return h(\n PatternDefsProvider,\n { resolveID, scalePattern },\n h(\"g.divisions\", children),\n );\n}\n\nexport { LabeledUnit, Unit, UnitBoxes, UnitProps };\n"],"names":["ColumnAxisType","$jfrfr$ColumnAxisType","ColumnContext","$jfrfr$ColumnContext","ColumnLayoutContext","$jfrfr$ColumnLayoutContext","useColumn","$jfrfr$useColumn","useGeologicPattern","$jfrfr$useGeologicPattern","zigZagBoxPath","$jfrfr$zigZagBoxPath","ForeignObject","$jfrfr$ForeignObject","PatternDefsProvider","$jfrfr$PatternDefsProvider","SizeAwareLabel","$jfrfr$SizeAwareLabel","$jfrfr$macrostrathyper","useContext","$jfrfr$useContext","forwardRef","$jfrfr$forwardRef","useMemo","$jfrfr$useMemo","$jfrfr$classnames","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5VyZI","$lgTAP","$5SO8b","$klU0I","$iWhRv","$bfmPX","$82e068a44c11e855$var$h","styled","a","__esModule","default","$82e068a44c11e855$var$useUnitRect","division","options","widthFraction","axisType","AGE","padding","scale","width","bottomHeight","topHeight","getUnitHeightRange","y","height","Math","abs","x","$82e068a44c11e855$export$d54fdbabca27e53","props","d","children","className","_","nColumns","__","baseBounds","lithMap","useLithologies","bounds","backgroundColor","getMixedUnitColor","ref","selected","onClick","useUnitSelectionTarget","style","fill","fillOpacity","stroke","if","$82e068a44c11e855$export$1d8b9ae22d404866","defaultFill","patternColor","patternID","hasOverflowTop","t_clip_pos","hasOverflowBottom","b_clip_pos","overflowTop","overflowBottom","_patternID","resolveID","_fill","_className","colored","$82e068a44c11e855$var$UnitRect","rest","$82e068a44c11e855$export$b4f0ca233b98f9af","label","onLabelUpdated","showLabel","labelClassName","onVisibilityChanged","viz","$82e068a44c11e855$export$5d1cdfabe8dc8085","unitComponent","unitComponentProps","divisions","length","console","warn","map","i","key","unit_id","scalePattern","MinimalUnit","Unit","LabeledUnit","UnitBoxes"],"version":3,"file":"column-views.89afd6b3.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,kB,C,C,iB,C,C,uB,C,C,a,C,C,sB,C,C,iB,C,C,iB,C,C,uB,C,K,+B,A,Q,kB,C,K,2B,A,Q,M,mB,A,Q,c,C,C,c,C,C,W,C,K,O,A,Q,M,Y,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCsBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAkCvB,SAAS,EACP,CAAe,CACf,EAA2B,CAAC,CAAC,EAE7B,GAAM,CAAA,cACJ,EAAgB,CAAA,CAAA,SAChB,EAAW,AAAA,EAAe,GAAG,CAAA,QAC7B,EAAU,CAAA,CACX,CAAG,EACE,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GACvB,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GAEvB,CAAC,EAAc,EAAU,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAU,GAEzD,EAAI,EAAM,GACV,EAAS,KAAK,GAAG,CAAC,EAAM,GAAgB,GAE9C,MAAO,CACL,EAAG,EAAS,CAAA,EAAI,CAAA,EAAiB,EACjC,EAAG,EAAI,EACP,OAAQ,EAAS,AAAU,EAAV,EACjB,MAAO,EAAgB,EAAQ,AAAU,EAAV,CACjC,CACF,CAEO,SAAS,EAAY,CAAK,EAC/B,GAAM,CACJ,SAAU,CAAC,CAAA,SACX,CAAQ,CAAA,UACR,CAAS,CAAA,cACT,EAAgB,CAAA,CAChB,SAAU,CAAC,CACX,SAAU,CAAE,CACZ,GAAG,EACJ,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,IACf,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAS,CACb,GAAG,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","sources":["<anon>","packages/column-views/src/units/boxes.ts"],"sourcesContent":["import \"./column-views.e7e26765.js\";\nimport \"./column-views.080781ca.js\";\nimport \"./column-views.7b6e7d82.js\";\nimport \"./column-views.cdcce702.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.6bba8c57.js\";\nimport {ColumnAxisType as $jfrfr$ColumnAxisType, ColumnContext as $jfrfr$ColumnContext, ColumnLayoutContext as $jfrfr$ColumnLayoutContext, useColumn as $jfrfr$useColumn, useGeologicPattern as $jfrfr$useGeologicPattern, zigZagBoxPath as $jfrfr$zigZagBoxPath, ForeignObject as $jfrfr$ForeignObject, PatternDefsProvider as $jfrfr$PatternDefsProvider} from \"@macrostrat/column-components\";\nimport {SizeAwareLabel as $jfrfr$SizeAwareLabel} from \"@macrostrat/ui-components\";\nimport $jfrfr$macrostrathyper from \"@macrostrat/hyper\";\nimport {useContext as $jfrfr$useContext, forwardRef as $jfrfr$forwardRef, useMemo as $jfrfr$useMemo} from \"react\";\nimport $jfrfr$classnames from \"classnames\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $klU0I = parcelRequire(\"klU0I\");\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\nconst $82e068a44c11e855$var$h = (0, $jfrfr$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($klU0I))));\nfunction $82e068a44c11e855$var$useUnitRect(division, options = {}) {\n const { widthFraction: widthFraction = 1, axisType: axisType = (0, $jfrfr$ColumnAxisType).AGE, padding: padding = 0 } = options;\n const { scale: scale } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n const { width: width } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnLayoutContext));\n const [bottomHeight, topHeight] = (0, $iWhRv.getUnitHeightRange)(division, axisType);\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2\n };\n}\nfunction $82e068a44c11e855$export$d54fdbabca27e53(props) {\n const { division: d, children: children, className: className, widthFraction: widthFraction = 1, axisType: _, nColumns: __, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const backgroundColor = (0, $bfmPX.getMixedUnitColor)(d, lithMap, null, false);\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h(\"rect.unit.background\", {\n ref: ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick: onClick\n }),\n $82e068a44c11e855$var$h.if(selected)(\"rect.selection-overlay\", bounds)\n ]);\n}\nfunction $82e068a44c11e855$export$1d8b9ae22d404866(props) {\n const { division: d, children: children, fill: fill, defaultFill: defaultFill = \"transparent\", className: className, widthFraction: widthFraction = 1, backgroundColor: backgroundColor, patternColor: patternColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom\n };\n const _patternID = patternID ?? (0, $5VyZI.resolveID)(d);\n let _fill = fill ?? (0, $jfrfr$useGeologicPattern)(_patternID, defaultFill);\n const hasBackgroundColor = backgroundColor != null;\n const _className = (0, $jfrfr$classnames)(className, {\n colored: hasBackgroundColor\n });\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick: onClick,\n className: \"background\"\n }),\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ref: ref,\n ...bounds,\n fill: _fill,\n onClick: //mask,\n onClick,\n className: \"unit\"\n }),\n $82e068a44c11e855$var$h.if(selected)($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n className: \"selection-overlay\"\n }),\n //defs,\n children\n ]);\n}\nconst $82e068a44c11e855$var$UnitRect = (0, $jfrfr$forwardRef)((props, ref)=>{\n const { x: x, y: y, width: width, height: height, overflowTop: overflowTop = false, overflowBottom: overflowBottom = false, ...rest } = props;\n if (!overflowTop && !overflowBottom) return $82e068a44c11e855$var$h(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n ref: ref,\n ...rest\n });\n else {\n const d = (0, $jfrfr$zigZagBoxPath)(x, y, width, height, overflowTop, overflowBottom);\n return $82e068a44c11e855$var$h(\"path\", {\n d: d,\n ref: ref,\n ...rest\n });\n }\n});\nfunction $82e068a44c11e855$export$b4f0ca233b98f9af(props) {\n const { division: division, label: label, onLabelUpdated: onLabelUpdated, widthFraction: widthFraction, showLabel: showLabel = true, backgroundColor: backgroundColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(division, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const { width: width, height: height } = bounds;\n return $82e068a44c11e855$var$h($82e068a44c11e855$export$1d8b9ae22d404866, {\n className: \"labeled-unit\",\n division: division,\n backgroundColor: backgroundColor,\n patternID: patternID,\n ...bounds\n }, [\n $82e068a44c11e855$var$h.if(showLabel)((0, $jfrfr$ForeignObject), {\n ...bounds,\n className: \"unit-label-container\"\n }, $82e068a44c11e855$var$h((0, $jfrfr$SizeAwareLabel), {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: {\n width: width,\n height: height\n },\n label: label,\n onVisibilityChanged (viz) {\n onLabelUpdated(label, viz);\n }\n }))\n ]);\n}\nfunction $82e068a44c11e855$export$5d1cdfabe8dc8085(props) {\n const { unitComponent: unitComponent = $82e068a44c11e855$export$1d8b9ae22d404866, unitComponentProps: unitComponentProps = {} } = props;\n const { divisions: divisions } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n const children = (0, $jfrfr$useMemo)(()=>{\n return divisions.map((division, i)=>{\n // @ts-ignore\n return $82e068a44c11e855$var$h(unitComponent, {\n division: division,\n key: division.unit_id,\n ...unitComponentProps\n });\n });\n }, [\n divisions,\n unitComponent,\n unitComponentProps\n ]);\n return $82e068a44c11e855$var$h((0, $jfrfr$PatternDefsProvider), {\n resolveID: $5VyZI.resolveID,\n scalePattern: $5VyZI.scalePattern\n }, $82e068a44c11e855$var$h(\"g.divisions\", children));\n}\n\n\nexport {$82e068a44c11e855$export$d54fdbabca27e53 as MinimalUnit, $82e068a44c11e855$export$1d8b9ae22d404866 as Unit, $82e068a44c11e855$export$b4f0ca233b98f9af as LabeledUnit, $82e068a44c11e855$export$5d1cdfabe8dc8085 as UnitBoxes};\n//# sourceMappingURL=column-views.64fc40d6.js.map\n","import {\n ColumnAxisType,\n ColumnContext,\n ColumnLayoutContext,\n ForeignObject,\n PatternDefsProvider,\n useColumn,\n useGeologicPattern,\n zigZagBoxPath,\n} from \"@macrostrat/column-components\";\nimport { SizeAwareLabel, Clickable } from \"@macrostrat/ui-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport { forwardRef, ReactNode, useContext, useMemo } from \"react\";\nimport { resolveID, scalePattern } from \"./resolvers\";\nimport { useUnitSelectionTarget, useLithologies } from \"../data-provider\";\nimport { IUnit } from \"./types\";\nimport styles from \"./boxes.module.sass\";\nimport classNames from \"classnames\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { getMixedUnitColor } from \"./colors\";\nimport type { RectBounds } from \"./types\";\n\nconst h = hyper.styled(styles);\n\ninterface UnitRectOptions {\n widthFraction?: number;\n axisType?: ColumnAxisType;\n // Padding to create overflow for zig-zags or other ornamented edges\n padding?: number;\n}\n\ninterface UnitProps extends Clickable, Partial<RectBounds>, UnitRectOptions {\n division: IUnit;\n resolveID?(IUnit): string;\n UUID?: string;\n defaultFill?: string;\n widthFraction?: number;\n children?: ReactNode;\n className?: string;\n fill?: string;\n backgroundColor?: string;\n patternColor?: string;\n patternID?: string | number;\n}\n\nexport interface LabeledUnitProps\n extends UnitRectOptions, Clickable, Partial<RectBounds> {\n division: IUnit;\n patternID?: string | number;\n label: string;\n onLabelUpdated?(label: string, shown: boolean);\n halfWidth?: boolean;\n showLabel?: boolean;\n backgroundColor?: string;\n}\n\nfunction useUnitRect(\n division: IUnit,\n options: UnitRectOptions = {},\n): RectBounds {\n const {\n widthFraction = 1,\n axisType = ColumnAxisType.AGE,\n padding = 0,\n } = options;\n const { scale } = useContext(ColumnContext);\n const { width } = useContext(ColumnLayoutContext);\n\n const [bottomHeight, topHeight] = getUnitHeightRange(division, axisType);\n\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2,\n };\n}\n\nexport function MinimalUnit(props) {\n const {\n division: d,\n children,\n className,\n widthFraction = 1,\n axisType: _, // not sure why this is brought in...\n nColumns: __,\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const lithMap = useLithologies();\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n };\n\n const backgroundColor = getMixedUnitColor(d, lithMap, null, false);\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor,\n },\n },\n [\n h(\"rect.unit.background\", {\n ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick,\n }),\n h.if(selected)(\"rect.selection-overlay\", bounds),\n ],\n );\n}\n\nfunction Unit(props: UnitProps) {\n const {\n division: d,\n children,\n fill,\n defaultFill = \"transparent\",\n className,\n widthFraction = 1,\n backgroundColor,\n patternColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom,\n };\n const _patternID = patternID ?? resolveID(d);\n let _fill = fill ?? useGeologicPattern(_patternID, defaultFill);\n\n const hasBackgroundColor = backgroundColor != null;\n\n const _className = classNames(className, { colored: hasBackgroundColor });\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n },\n },\n [\n h(UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick,\n className: \"background\",\n }),\n h(UnitRect, {\n ref,\n ...bounds,\n fill: _fill,\n //mask,\n onClick,\n className: \"unit\",\n }),\n h.if(selected)(UnitRect, { ...bounds, className: \"selection-overlay\" }),\n //defs,\n children,\n ],\n );\n}\n\ninterface UnitRectProps {\n x: number;\n y: number;\n width: number;\n height: number;\n className: string;\n // Used to determine if the rect should have a zig-zag edge on the top or bottom\n overflowTop?: boolean;\n overflowBottom?: boolean;\n [key: string]: any;\n}\n\nconst UnitRect = forwardRef((props: UnitRectProps, ref) => {\n const {\n x,\n y,\n width,\n height,\n overflowTop = false,\n overflowBottom = false,\n ...rest\n } = props;\n\n if (!overflowTop && !overflowBottom) {\n return h(\"rect\", {\n x,\n y,\n width,\n height,\n ref,\n ...rest,\n });\n } else {\n const d = zigZagBoxPath(x, y, width, height, overflowTop, overflowBottom);\n return h(\"path\", {\n d,\n ref,\n ...rest,\n });\n }\n});\n\nfunction LabeledUnit(props: LabeledUnitProps) {\n const {\n division,\n label,\n onLabelUpdated,\n widthFraction,\n showLabel = true,\n backgroundColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const bounds = {\n ...useUnitRect(division, { widthFraction, axisType }),\n ...baseBounds,\n };\n const { width, height } = bounds;\n return h(\n Unit,\n {\n className: \"labeled-unit\",\n division,\n backgroundColor,\n patternID,\n ...bounds,\n },\n [\n h.if(showLabel)(\n ForeignObject,\n { ...bounds, className: \"unit-label-container\" },\n h(SizeAwareLabel, {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: { width, height },\n label,\n onVisibilityChanged(viz) {\n onLabelUpdated(label, viz);\n },\n }),\n ),\n ],\n );\n}\n\nfunction UnitBoxes<T>(props: {\n unitComponent: React.FunctionComponent<{ division: T }>;\n unitComponentProps?: any;\n transformDivisions?(divisions: T[]): T[];\n transformDivision?: (\n division: any,\n index: number,\n divisions: any[],\n ) => T | null;\n}) {\n const { unitComponent = Unit, unitComponentProps = {} } = props;\n const { divisions } = useContext(ColumnContext);\n\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n\n const children = useMemo(() => {\n return divisions.map((division: any, i) => {\n // @ts-ignore\n return h(unitComponent, {\n division,\n key: division.unit_id,\n ...unitComponentProps,\n });\n });\n }, [divisions, unitComponent, unitComponentProps]);\n\n return h(\n PatternDefsProvider,\n { resolveID, scalePattern },\n h(\"g.divisions\", children),\n );\n}\n\nexport { LabeledUnit, Unit, UnitBoxes, UnitProps };\n"],"names":["ColumnAxisType","$jfrfr$ColumnAxisType","ColumnContext","$jfrfr$ColumnContext","ColumnLayoutContext","$jfrfr$ColumnLayoutContext","useColumn","$jfrfr$useColumn","useGeologicPattern","$jfrfr$useGeologicPattern","zigZagBoxPath","$jfrfr$zigZagBoxPath","ForeignObject","$jfrfr$ForeignObject","PatternDefsProvider","$jfrfr$PatternDefsProvider","SizeAwareLabel","$jfrfr$SizeAwareLabel","$jfrfr$macrostrathyper","useContext","$jfrfr$useContext","forwardRef","$jfrfr$forwardRef","useMemo","$jfrfr$useMemo","$jfrfr$classnames","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5VyZI","$lgTAP","$5SO8b","$klU0I","$iWhRv","$bfmPX","$82e068a44c11e855$var$h","styled","a","__esModule","default","$82e068a44c11e855$var$useUnitRect","division","options","widthFraction","axisType","AGE","padding","scale","width","bottomHeight","topHeight","getUnitHeightRange","y","height","Math","abs","x","$82e068a44c11e855$export$d54fdbabca27e53","props","d","children","className","_","nColumns","__","baseBounds","lithMap","useLithologies","bounds","backgroundColor","getMixedUnitColor","ref","selected","onClick","useUnitSelectionTarget","style","fill","fillOpacity","stroke","if","$82e068a44c11e855$export$1d8b9ae22d404866","defaultFill","patternColor","patternID","hasOverflowTop","t_clip_pos","hasOverflowBottom","b_clip_pos","overflowTop","overflowBottom","_patternID","resolveID","_fill","_className","colored","$82e068a44c11e855$var$UnitRect","rest","$82e068a44c11e855$export$b4f0ca233b98f9af","label","onLabelUpdated","showLabel","labelClassName","onVisibilityChanged","viz","$82e068a44c11e855$export$5d1cdfabe8dc8085","unitComponent","unitComponentProps","divisions","length","console","warn","map","i","key","unit_id","scalePattern","MinimalUnit","Unit","LabeledUnit","UnitBoxes"],"version":3,"file":"column-views.64fc40d6.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.4ec769a6.js";import"./column-views.0980c2a0.js";import"./column-views.672b683c.js";import e from"@macrostrat/hyper";import{Box as t,useElementSize as a}from"@macrostrat/ui-components";import{group as r}from"d3-array";import{ColumnSVG as n,ColumnAxisType as o}from"@macrostrat/column-components";import{useRef as s}from"react";var l=globalThis,i={},u={},c=l.parcelRequirea149;null==c&&((c=function(e){if(e in i)return i[e].exports;if(e in u){var t=u[e];delete u[e];var a={id:e,exports:{}};return i[e]=a,t.call(a.exports,a,a.exports),a.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){u[e]=t},l.parcelRequirea149=c),c.register,Object.defineProperty({},"PBDBOccurrencesMatrix",{get:()=>d,set:void 0,enumerable:!0,configurable:!0});var p=c("dx7no"),m=c("wtIgl"),f=c("f7qDU");let x=e.styled(f&&f.__esModule?f.default:f);function d({columnID:e}){let a=(0,p.useFossilData)(e,p.FossilDataType.Occurrences),s=(0,m.useMacrostratColumnData)(),l=(0,m.useCompositeScale)();if(null==a)return null;let i=new Map(r(a,e=>e.unit_id)),{taxonRanges:u}=function(e,t,a=o.AGE){let r=new Map,n=new Map;for(let[e,a]of t.entries())for(let t of a){let a=t.best_name??t.taxon_name;r.has(a)||(r.set(a,new Set),n.set(a,[])),r.get(a).add(e),n.get(a).push(t)}let s=Array.from(r.entries()).sort((e,t)=>t[0].localeCompare(e[0])),l=new Map;for(let[t,n]of r.entries())l.set(t,function(e,t,a){let r=[],n=null;for(let s of e)t.has(s.unit_id)?null==n?n=a==o.DEPTH||a==o.HEIGHT?[s.t_pos,s.b_pos]:[s.t_age,s.b_age]:a==o.DEPTH||a==o.HEIGHT?n[1]=s.b_pos:n[1]=s.b_age:null!=n&&(r.push(n),n=null);return null!=n&&r.push(n),r}(e,n,a));return{occurrenceMap:t,taxonUnitMap:new Map(s),taxonOccurrenceMap:n,taxonRanges:l}}(s.units,i,s.axisType),c=Array.from(u.entries());return x(t,{className:"taxon-ranges",width:32+16*c.length,height:s.totalHeight},[x(g,{taxonEntries:c,padding:16,spacing:16,scale:l}),x(n,{width:32+16*c.length},x("g.taxa-occurrences-matrix",c.map(([e,t],a)=>x("g",{transform:`translate(${16+16*a})`},[t.map(([e,t])=>x("line",{y1:l(e),y2:l(t)}))]))))])}function g({taxonEntries:e,padding:t,spacing:a,scale:r}){return x("div.taxon-labels",[e.map(([e,n],o)=>{let s=r(n[0]?.[0]??0)-20;return s<200&&(s=0),x(_,{top:s,left:t+o*a,taxonName:e})})])}function _({top:e,left:t,taxonName:r}){let n=s(),o=a(n),l=o?.height??200;return x("div.taxon-label",{style:{top:`${e}px`,marginLeft:`${t}px`,"--label-width":`${l}px`}},x("div.taxon-label-inner",x("div.taxon-label-text",{ref:n},r)))}export{d as PBDBOccurrencesMatrix};
2
- //# sourceMappingURL=column-views.3ce34544.js.map
1
+ import"./column-views.4ec769a6.js";import"./column-views.5c02450b.js";import"./column-views.672b683c.js";import e from"@macrostrat/hyper";import{Box as t,useElementSize as a}from"@macrostrat/ui-components";import{group as r}from"d3-array";import{ColumnSVG as n,ColumnAxisType as o}from"@macrostrat/column-components";import{useRef as s}from"react";var l=globalThis,i={},u={},c=l.parcelRequirea149;null==c&&((c=function(e){if(e in i)return i[e].exports;if(e in u){var t=u[e];delete u[e];var a={id:e,exports:{}};return i[e]=a,t.call(a.exports,a,a.exports),a.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){u[e]=t},l.parcelRequirea149=c),c.register,Object.defineProperty({},"PBDBOccurrencesMatrix",{get:()=>d,set:void 0,enumerable:!0,configurable:!0});var p=c("dx7no"),m=c("wtIgl"),f=c("f7qDU");let x=e.styled(f&&f.__esModule?f.default:f);function d({columnID:e}){let a=(0,p.useFossilData)(e,p.FossilDataType.Occurrences),s=(0,m.useMacrostratColumnData)(),l=(0,m.useCompositeScale)();if(null==a)return null;let i=new Map(r(a,e=>e.unit_id)),{taxonRanges:u}=function(e,t,a=o.AGE){let r=new Map,n=new Map;for(let[e,a]of t.entries())for(let t of a){let a=t.best_name??t.taxon_name;r.has(a)||(r.set(a,new Set),n.set(a,[])),r.get(a).add(e),n.get(a).push(t)}let s=Array.from(r.entries()).sort((e,t)=>t[0].localeCompare(e[0])),l=new Map;for(let[t,n]of r.entries())l.set(t,function(e,t,a){let r=[],n=null;for(let s of e)t.has(s.unit_id)?null==n?n=a==o.DEPTH||a==o.HEIGHT?[s.t_pos,s.b_pos]:[s.t_age,s.b_age]:a==o.DEPTH||a==o.HEIGHT?n[1]=s.b_pos:n[1]=s.b_age:null!=n&&(r.push(n),n=null);return null!=n&&r.push(n),r}(e,n,a));return{occurrenceMap:t,taxonUnitMap:new Map(s),taxonOccurrenceMap:n,taxonRanges:l}}(s.units,i,s.axisType),c=Array.from(u.entries());return x(t,{className:"taxon-ranges",width:32+16*c.length,height:s.totalHeight},[x(g,{taxonEntries:c,padding:16,spacing:16,scale:l}),x(n,{width:32+16*c.length},x("g.taxa-occurrences-matrix",c.map(([e,t],a)=>x("g",{transform:`translate(${16+16*a})`},[t.map(([e,t])=>x("line",{y1:l(e),y2:l(t)}))]))))])}function g({taxonEntries:e,padding:t,spacing:a,scale:r}){return x("div.taxon-labels",[e.map(([e,n],o)=>{let s=r(n[0]?.[0]??0)-20;return s<200&&(s=0),x(_,{top:s,left:t+o*a,taxonName:e})})])}function _({top:e,left:t,taxonName:r}){let n=s(),o=a(n),l=o?.height??200;return x("div.taxon-label",{style:{top:`${e}px`,marginLeft:`${t}px`,"--label-width":`${l}px`}},x("div.taxon-label-inner",x("div.taxon-label-text",{ref:n},r)))}export{d as PBDBOccurrencesMatrix};
2
+ //# sourceMappingURL=column-views.66663668.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,O,C,C,kB,C,K,2B,A,Q,S,C,K,U,A,Q,a,C,C,kB,C,K,+B,A,Q,U,C,K,O,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,wB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,S,E,E,SCkBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAsB,CAAA,SAAE,CAAQ,CAAE,EAIhD,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,EAAU,AAAA,EAAA,cAAa,CAAE,WAAW,EACzD,EAAM,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACN,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,EAAc,OAAO,KAGzB,IAAM,EAAgB,IAAI,IAAI,AAAA,EAAM,EAAM,AAAC,GAAM,EAAE,OAAO,GAOpD,CAAA,YAAE,CAAW,CAAE,CAFN,AA0GjB,SACE,CAAiB,CACjB,CAAmC,CACnC,EAA2B,AAAA,EAAe,GAAG,EAE7C,IAAM,EAAe,IAAI,IACnB,EAAqB,IAAI,IAE/B,IAAK,GAAM,CAAC,EAAS,EAAY,GAAI,EAAK,OAAO,GAC/C,IAAK,IAAM,KAAO,EAAa,CAC7B,IAAM,EAAY,EAAI,SAAS,EAAI,EAAI,UAAU,CAC5C,EAAa,GAAG,CAAC,KACpB,EAAa,GAAG,CAAC,EAAW,IAAI,KAChC,EAAmB,GAAG,CAAC,EAAW,EAAE,GAEtC,EAAa,GAAG,CAAC,GAAW,GAAG,CAAC,GAChC,EAAmB,GAAG,CAAC,GAAW,IAAI,CAAC,EACzC,CAIF,IAAM,EAAa,MAAM,IAAI,CAAC,EAAa,OAAO,IAAI,IAAI,CAAC,CAAC,EAAG,IAEtD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAG1B,EAAc,IAAI,IACxB,IAAK,GAAM,CAAC,EAAW,EAAQ,GAAI,EAAa,OAAO,GACrD,EAAY,GAAG,CACb,EACA,AAYN,SACE,CAAgB,CAChB,CAA0B,CAC1B,CAAwB,EAExB,IAAM,EAAmC,EAAE,CACvC,EAAyC,KAE7C,IAAK,IAAM,KAAK,EACV,EAAc,GAAG,CAAC,EAAE,OAAO,EACzB,AAAiB,MAAjB,EAKA,EAHA,GAAY,AAAA,EAAe,KAAK,EAChC,GAAY,AAAA,EAAe,MAAM,CAEjB,CAAC,EAAE,KAAK,CAAE,EAAE,KAAK,CAAC,CAElB,CAAC,EAAE,KAAK,CAAE,EAAE,KAAK,CAAC,CAIlC,GAAY,AAAA,EAAe,KAAK,EAChC,GAAY,AAAA,EAAe,MAAM,CAEjC,CAAa,CAAC,EAAE,CAAG,EAAE,KAAK,CAE1B,CAAa,CAAC,EAAE,CAAG,EAAE,KAAK,CAIT,MAAjB,IACF,EAAQ,IAAI,CAAC,GACb,EAAgB,MAStB,OAJI,AAAiB,MAAjB,GACF,EAAQ,IAAI,CAAC,GAGR,CACT,EAtDgC,EAAO,EAAS,IAI9C,MAAO,CACL,cAAe,EACf,aAAc,IAAI,IAAI,GACtB,mBAAoB,EACpB,YAAA,CACF,CACF,EAlJwC,EAAI,KAAK,CAAE,EAAe,EAAI,QAAQ,EAOtE,EAAe,MAAM,IAAI,CAAC,EAAY,OAAO,IAKnD,OAAO,EAAE,EAAK,CAAE,UAAW,eAAgB,MAF7B,GAAc,AALZ,GAKsB,EAAa,MAAM,CAEP,OAAQ,EAAI,WAAW,AAAC,EAAG,CAC3E,EAAE,EAAuB,CACvB,aAAA,EACA,QAXY,GAYZ,QAXY,GAYZ,MAAA,CACF,GACA,EACE,EACA,CACE,MAAO,GAAc,AAjBX,GAiBqB,EAAa,MAAM,AACpD,EACA,EACE,4BACA,EAAa,GAAG,CAAC,CAAC,CAAC,EAAW,EAAO,CAAE,IAE9B,EAAE,IAAK,CAAE,UAAW,CAAC,UAAU,EADpB,AAvBV,GAuBoB,AAtBpB,GAsBoB,EACsB,CAAC,CAAC,AAAC,EAAG,CACtD,EAAO,GAAG,CAAC,CAAC,CAAC,EAAK,EAAO,GAChB,EAAE,OAAQ,CACf,GAAI,EAAM,GACV,GAAI,EAAM,EACZ,IAEH,KAIR,CACH,CAEA,SAAS,EAAsB,CAAA,aAAE,CAAY,CAAA,QAAE,CAAO,CAAA,QAAE,CAAO,CAAA,MAAE,CAAK,CAAE,EACtE,OAAO,EAAE,mBAAoB,CAC3B,EAAa,GAAG,CAAC,CAAC,CAAC,EAAW,EAAO,CAAE,KAErC,IAAI,EAAQ,EADA,CAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAI,GACL,GAGzB,OAFI,EAAQ,KAAK,CAAA,EAAQ,CAAA,EAElB,EAAE,EAAY,CACnB,IAAK,EACL,KAAM,EAAU,EAAW,EAC3B,UAAA,CACF,EACF,GACD,CACH,CAEA,SAAS,EAAW,CAAA,IAAE,CAAG,CAAA,KAAE,CAAI,CAAA,UAAE,CAAS,CAAE,EAC1C,IAAM,EAAM,AAAA,IACN,EAAW,AAAA,EAAe,GAC1B,EAAa,GAAU,QAAU,IACvC,OAAO,EACL,kBACA,CACE,MAAO,CACL,IAAK,CAAA,EAAG,EAAI,EAAE,CAAC,CACf,WAAY,CAAA,EAAG,EAAK,EAAE,CAAC,CACvB,gBAAiB,CAAA,EAAG,EAAW,EAAE,CAAC,AACpC,CACF,EACA,EAAE,wBAAyB,EAAE,uBAAwB,CAAE,IAAA,CAAI,EAAG,IAElE,Q,K,qB","sources":["<anon>","packages/column-views/src/facets/fossils/taxon-ranges.ts"],"sourcesContent":["import \"./column-views.4ec769a6.js\";\nimport \"./column-views.0980c2a0.js\";\nimport \"./column-views.672b683c.js\";\nimport $1vN9E$macrostrathyper from \"@macrostrat/hyper\";\nimport {Box as $1vN9E$Box, useElementSize as $1vN9E$useElementSize} from \"@macrostrat/ui-components\";\nimport {group as $1vN9E$group} from \"d3-array\";\nimport {ColumnSVG as $1vN9E$ColumnSVG, ColumnAxisType as $1vN9E$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {useRef as $1vN9E$useRef} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $9cea14fa75e12a56$exports = {};\n\n$parcel$export($9cea14fa75e12a56$exports, \"PBDBOccurrencesMatrix\", () => $9cea14fa75e12a56$export$652730986cccff7a);\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $f7qDU = parcelRequire(\"f7qDU\");\n\nconst $9cea14fa75e12a56$var$h = (0, $1vN9E$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($f7qDU))));\nfunction $9cea14fa75e12a56$export$652730986cccff7a({ columnID: columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */ const data = (0, $dx7no.useFossilData)(columnID, (0, $dx7no.FossilDataType).Occurrences);\n const col = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null) return null;\n // convert the data to a map\n const occurrenceMap = new Map((0, $1vN9E$group)(data, (d)=>d.unit_id));\n const matrix = $9cea14fa75e12a56$var$createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n const { taxonRanges: taxonRanges } = matrix;\n const padding = 16;\n const spacing = 16;\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n const width = padding * 2 + spacing * taxonEntries.length;\n return $9cea14fa75e12a56$var$h((0, $1vN9E$Box), {\n className: \"taxon-ranges\",\n width: width,\n height: col.totalHeight\n }, [\n $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonOccurrenceLabels, {\n taxonEntries: taxonEntries,\n padding: padding,\n spacing: spacing,\n scale: scale\n }),\n $9cea14fa75e12a56$var$h((0, $1vN9E$ColumnSVG), {\n width: padding * 2 + spacing * taxonEntries.length\n }, $9cea14fa75e12a56$var$h(\"g.taxa-occurrences-matrix\", taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const xPosition = padding + rowIndex * spacing;\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n })))\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceLabels({ taxonEntries: taxonEntries, padding: padding, spacing: spacing, scale: scale }) {\n return $9cea14fa75e12a56$var$h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n return $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName: taxonName\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonLabel({ top: top, left: left, taxonName: taxonName }) {\n const ref = (0, $1vN9E$useRef)();\n const textSize = (0, $1vN9E$useElementSize)(ref);\n const labelWidth = textSize?.height ?? 200;\n return $9cea14fa75e12a56$var$h(\"div.taxon-label\", {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`\n }\n }, $9cea14fa75e12a56$var$h(\"div.taxon-label-inner\", $9cea14fa75e12a56$var$h(\"div.taxon-label-text\", {\n ref: ref\n }, taxonName)));\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceEntry({ xPosition: xPosition, ranges: ranges, scale: scale, name: name }) {\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$createOccurrenceMatrix(units, data, axisType = (0, $1vN9E$ColumnAxisType).AGE) {\n const taxonUnitMap = new Map();\n const taxonOccurrenceMap = new Map();\n for (const [unit_id, occurrences] of data.entries())for (const occ of occurrences){\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b)=>{\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n const taxonRanges = new Map();\n for (const [taxonName, unitSet] of taxonUnitMap.entries())taxonRanges.set(taxonName, $9cea14fa75e12a56$var$accumulatePresenceDomains(units, unitSet, axisType));\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges: taxonRanges\n };\n}\nfunction $9cea14fa75e12a56$var$accumulatePresenceDomains(unit, presenceUnits, axisType) {\n const domains = [];\n let currentDomain = null;\n for (const u of unit){\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain = [\n u.t_pos,\n u.b_pos\n ];\n else currentDomain = [\n u.t_age,\n u.b_age\n ];\n } else if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain[1] = u.b_pos;\n else currentDomain[1] = u.b_age;\n } else if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n if (currentDomain != null) domains.push(currentDomain);\n return domains;\n}\n\n\nexport {$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};\n//# sourceMappingURL=column-views.3ce34544.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n FossilDataType,\n PBDBEntity,\n PBDBOccurrence,\n useFossilData,\n} from \"./provider\";\nimport { Box, useElementSize } from \"@macrostrat/ui-components\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType, ColumnSVG } from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useCompositeScale,\n} from \"../../data-provider\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport styles from \"./taxon-ranges.module.sass\";\nimport { useRef } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function PBDBOccurrencesMatrix({ columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */\n const data = useFossilData(columnID, FossilDataType.Occurrences);\n const col = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null) return null;\n\n // convert the data to a map\n const occurrenceMap = new Map(group(data, (d) => d.unit_id)) as Map<\n number,\n PBDBOccurrence[]\n >;\n\n const matrix = createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n\n const { taxonRanges } = matrix;\n\n const padding = 16;\n const spacing = 16;\n\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n\n const width = padding * 2 + spacing * taxonEntries.length;\n\n return h(Box, { className: \"taxon-ranges\", width, height: col.totalHeight }, [\n h(TaxonOccurrenceLabels, {\n taxonEntries,\n padding,\n spacing,\n scale,\n }),\n h(\n ColumnSVG,\n {\n width: padding * 2 + spacing * taxonEntries.length,\n },\n h(\n \"g.taxa-occurrences-matrix\",\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const xPosition = padding + rowIndex * spacing;\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n }),\n ),\n ),\n ]);\n}\n\nfunction TaxonOccurrenceLabels({ taxonEntries, padding, spacing, scale }) {\n return h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n\n return h(TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName,\n });\n }),\n ]);\n}\n\nfunction TaxonLabel({ top, left, taxonName }) {\n const ref = useRef();\n const textSize = useElementSize(ref);\n const labelWidth = textSize?.height ?? 200;\n return h(\n \"div.taxon-label\",\n {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`,\n },\n },\n h(\"div.taxon-label-inner\", h(\"div.taxon-label-text\", { ref }, taxonName)),\n );\n}\n\ntype TaxonUnitMap = Map<string, Set<number>>;\n\ninterface OccurrenceMatrixData {\n occurrenceMap: Map<number, PBDBEntity[]>; // Map of unit IDs to occurrences (original data)\n taxonUnitMap: TaxonUnitMap; // Map of taxon names to sets of unit IDs\n taxonOccurrenceMap: Map<string, PBDBOccurrence[]>; // Map of taxon names to occurrences\n taxonRanges: Map<string, [number, number][]>; // Map of taxon names to [top, bottom] pixel ranges\n}\n\nfunction TaxonOccurrenceEntry({\n xPosition,\n ranges,\n scale,\n name,\n}: {\n xPosition: number;\n units: Set<number>;\n ranges: any;\n scale: any;\n name: string;\n}) {\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n}\n\nfunction createOccurrenceMatrix(\n units: UnitLong[],\n data: Map<number, PBDBOccurrence[]>,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n): OccurrenceMatrixData {\n const taxonUnitMap = new Map<string, Set<number>>();\n const taxonOccurrenceMap = new Map<string, PBDBOccurrence[]>();\n\n for (const [unit_id, occurrences] of data.entries()) {\n for (const occ of occurrences) {\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n }\n\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b) => {\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n\n const taxonRanges = new Map<string, [number, number][]>();\n for (const [taxonName, unitSet] of taxonUnitMap.entries()) {\n taxonRanges.set(\n taxonName,\n accumulatePresenceDomains(units, unitSet, axisType),\n );\n }\n\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges,\n };\n}\n\nfunction accumulatePresenceDomains(\n unit: UnitLong[],\n presenceUnits: Set<number>,\n axisType: ColumnAxisType,\n): Array<[number, number]> {\n const domains: Array<[number, number]> = [];\n let currentDomain: [number, number] | null = null;\n\n for (const u of unit) {\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain = [u.t_pos, u.b_pos];\n } else {\n currentDomain = [u.t_age, u.b_age];\n }\n } else {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain[1] = u.b_pos;\n } else {\n currentDomain[1] = u.b_age;\n }\n }\n } else {\n if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n }\n\n if (currentDomain != null) {\n domains.push(currentDomain);\n }\n\n return domains;\n}\n"],"names":["$1vN9E$macrostrathyper","Box","$1vN9E$Box","useElementSize","$1vN9E$useElementSize","group","$1vN9E$group","ColumnSVG","$1vN9E$ColumnSVG","ColumnAxisType","$1vN9E$ColumnAxisType","useRef","$1vN9E$useRef","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$9cea14fa75e12a56$export$652730986cccff7a","set","s","enumerable","configurable","$dx7no","$wtIgl","$f7qDU","$9cea14fa75e12a56$var$h","styled","a","__esModule","default","columnID","data","useFossilData","FossilDataType","Occurrences","col","useMacrostratColumnData","scale","useCompositeScale","occurrenceMap","Map","d","unit_id","taxonRanges","$9cea14fa75e12a56$var$createOccurrenceMatrix","units","axisType","AGE","taxonUnitMap","taxonOccurrenceMap","occurrences","entries","occ","taxonName","best_name","taxon_name","has","Set","add","push","sortedTaxa","Array","from","sort","b","localeCompare","unitSet","$9cea14fa75e12a56$var$accumulatePresenceDomains","unit","presenceUnits","domains","currentDomain","u","DEPTH","HEIGHT","t_pos","b_pos","t_age","b_age","taxonEntries","className","width","padding","spacing","length","height","totalHeight","$9cea14fa75e12a56$var$TaxonOccurrenceLabels","map","ranges","rowIndex","transform","top","bottom","y1","y2","topPx","$9cea14fa75e12a56$var$TaxonLabel","left","ref","textSize","labelWidth","style","marginLeft","PBDBOccurrencesMatrix"],"version":3,"file":"column-views.3ce34544.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,O,C,C,kB,C,K,2B,A,Q,S,C,K,U,A,Q,a,C,C,kB,C,K,+B,A,Q,U,C,K,O,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,wB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,S,E,E,SCkBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAsB,CAAA,SAAE,CAAQ,CAAE,EAIhD,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,EAAU,AAAA,EAAA,cAAa,CAAE,WAAW,EACzD,EAAM,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACN,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,EAAc,OAAO,KAGzB,IAAM,EAAgB,IAAI,IAAI,AAAA,EAAM,EAAM,AAAC,GAAM,EAAE,OAAO,GAOpD,CAAA,YAAE,CAAW,CAAE,CAFN,AA0GjB,SACE,CAAiB,CACjB,CAAmC,CACnC,EAA2B,AAAA,EAAe,GAAG,EAE7C,IAAM,EAAe,IAAI,IACnB,EAAqB,IAAI,IAE/B,IAAK,GAAM,CAAC,EAAS,EAAY,GAAI,EAAK,OAAO,GAC/C,IAAK,IAAM,KAAO,EAAa,CAC7B,IAAM,EAAY,EAAI,SAAS,EAAI,EAAI,UAAU,CAC5C,EAAa,GAAG,CAAC,KACpB,EAAa,GAAG,CAAC,EAAW,IAAI,KAChC,EAAmB,GAAG,CAAC,EAAW,EAAE,GAEtC,EAAa,GAAG,CAAC,GAAW,GAAG,CAAC,GAChC,EAAmB,GAAG,CAAC,GAAW,IAAI,CAAC,EACzC,CAIF,IAAM,EAAa,MAAM,IAAI,CAAC,EAAa,OAAO,IAAI,IAAI,CAAC,CAAC,EAAG,IAEtD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAG1B,EAAc,IAAI,IACxB,IAAK,GAAM,CAAC,EAAW,EAAQ,GAAI,EAAa,OAAO,GACrD,EAAY,GAAG,CACb,EACA,AAYN,SACE,CAAgB,CAChB,CAA0B,CAC1B,CAAwB,EAExB,IAAM,EAAmC,EAAE,CACvC,EAAyC,KAE7C,IAAK,IAAM,KAAK,EACV,EAAc,GAAG,CAAC,EAAE,OAAO,EACzB,AAAiB,MAAjB,EAKA,EAHA,GAAY,AAAA,EAAe,KAAK,EAChC,GAAY,AAAA,EAAe,MAAM,CAEjB,CAAC,EAAE,KAAK,CAAE,EAAE,KAAK,CAAC,CAElB,CAAC,EAAE,KAAK,CAAE,EAAE,KAAK,CAAC,CAIlC,GAAY,AAAA,EAAe,KAAK,EAChC,GAAY,AAAA,EAAe,MAAM,CAEjC,CAAa,CAAC,EAAE,CAAG,EAAE,KAAK,CAE1B,CAAa,CAAC,EAAE,CAAG,EAAE,KAAK,CAIT,MAAjB,IACF,EAAQ,IAAI,CAAC,GACb,EAAgB,MAStB,OAJI,AAAiB,MAAjB,GACF,EAAQ,IAAI,CAAC,GAGR,CACT,EAtDgC,EAAO,EAAS,IAI9C,MAAO,CACL,cAAe,EACf,aAAc,IAAI,IAAI,GACtB,mBAAoB,EACpB,YAAA,CACF,CACF,EAlJwC,EAAI,KAAK,CAAE,EAAe,EAAI,QAAQ,EAOtE,EAAe,MAAM,IAAI,CAAC,EAAY,OAAO,IAKnD,OAAO,EAAE,EAAK,CAAE,UAAW,eAAgB,MAF7B,GAAc,AALZ,GAKsB,EAAa,MAAM,CAEP,OAAQ,EAAI,WAAW,AAAC,EAAG,CAC3E,EAAE,EAAuB,CACvB,aAAA,EACA,QAXY,GAYZ,QAXY,GAYZ,MAAA,CACF,GACA,EACE,EACA,CACE,MAAO,GAAc,AAjBX,GAiBqB,EAAa,MAAM,AACpD,EACA,EACE,4BACA,EAAa,GAAG,CAAC,CAAC,CAAC,EAAW,EAAO,CAAE,IAE9B,EAAE,IAAK,CAAE,UAAW,CAAC,UAAU,EADpB,AAvBV,GAuBoB,AAtBpB,GAsBoB,EACsB,CAAC,CAAC,AAAC,EAAG,CACtD,EAAO,GAAG,CAAC,CAAC,CAAC,EAAK,EAAO,GAChB,EAAE,OAAQ,CACf,GAAI,EAAM,GACV,GAAI,EAAM,EACZ,IAEH,KAIR,CACH,CAEA,SAAS,EAAsB,CAAA,aAAE,CAAY,CAAA,QAAE,CAAO,CAAA,QAAE,CAAO,CAAA,MAAE,CAAK,CAAE,EACtE,OAAO,EAAE,mBAAoB,CAC3B,EAAa,GAAG,CAAC,CAAC,CAAC,EAAW,EAAO,CAAE,KAErC,IAAI,EAAQ,EADA,CAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAI,GACL,GAGzB,OAFI,EAAQ,KAAK,CAAA,EAAQ,CAAA,EAElB,EAAE,EAAY,CACnB,IAAK,EACL,KAAM,EAAU,EAAW,EAC3B,UAAA,CACF,EACF,GACD,CACH,CAEA,SAAS,EAAW,CAAA,IAAE,CAAG,CAAA,KAAE,CAAI,CAAA,UAAE,CAAS,CAAE,EAC1C,IAAM,EAAM,AAAA,IACN,EAAW,AAAA,EAAe,GAC1B,EAAa,GAAU,QAAU,IACvC,OAAO,EACL,kBACA,CACE,MAAO,CACL,IAAK,CAAA,EAAG,EAAI,EAAE,CAAC,CACf,WAAY,CAAA,EAAG,EAAK,EAAE,CAAC,CACvB,gBAAiB,CAAA,EAAG,EAAW,EAAE,CAAC,AACpC,CACF,EACA,EAAE,wBAAyB,EAAE,uBAAwB,CAAE,IAAA,CAAI,EAAG,IAElE,Q,K,qB","sources":["<anon>","packages/column-views/src/facets/fossils/taxon-ranges.ts"],"sourcesContent":["import \"./column-views.4ec769a6.js\";\nimport \"./column-views.5c02450b.js\";\nimport \"./column-views.672b683c.js\";\nimport $1vN9E$macrostrathyper from \"@macrostrat/hyper\";\nimport {Box as $1vN9E$Box, useElementSize as $1vN9E$useElementSize} from \"@macrostrat/ui-components\";\nimport {group as $1vN9E$group} from \"d3-array\";\nimport {ColumnSVG as $1vN9E$ColumnSVG, ColumnAxisType as $1vN9E$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {useRef as $1vN9E$useRef} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $9cea14fa75e12a56$exports = {};\n\n$parcel$export($9cea14fa75e12a56$exports, \"PBDBOccurrencesMatrix\", () => $9cea14fa75e12a56$export$652730986cccff7a);\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $f7qDU = parcelRequire(\"f7qDU\");\n\nconst $9cea14fa75e12a56$var$h = (0, $1vN9E$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($f7qDU))));\nfunction $9cea14fa75e12a56$export$652730986cccff7a({ columnID: columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */ const data = (0, $dx7no.useFossilData)(columnID, (0, $dx7no.FossilDataType).Occurrences);\n const col = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null) return null;\n // convert the data to a map\n const occurrenceMap = new Map((0, $1vN9E$group)(data, (d)=>d.unit_id));\n const matrix = $9cea14fa75e12a56$var$createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n const { taxonRanges: taxonRanges } = matrix;\n const padding = 16;\n const spacing = 16;\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n const width = padding * 2 + spacing * taxonEntries.length;\n return $9cea14fa75e12a56$var$h((0, $1vN9E$Box), {\n className: \"taxon-ranges\",\n width: width,\n height: col.totalHeight\n }, [\n $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonOccurrenceLabels, {\n taxonEntries: taxonEntries,\n padding: padding,\n spacing: spacing,\n scale: scale\n }),\n $9cea14fa75e12a56$var$h((0, $1vN9E$ColumnSVG), {\n width: padding * 2 + spacing * taxonEntries.length\n }, $9cea14fa75e12a56$var$h(\"g.taxa-occurrences-matrix\", taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const xPosition = padding + rowIndex * spacing;\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n })))\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceLabels({ taxonEntries: taxonEntries, padding: padding, spacing: spacing, scale: scale }) {\n return $9cea14fa75e12a56$var$h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n return $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName: taxonName\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonLabel({ top: top, left: left, taxonName: taxonName }) {\n const ref = (0, $1vN9E$useRef)();\n const textSize = (0, $1vN9E$useElementSize)(ref);\n const labelWidth = textSize?.height ?? 200;\n return $9cea14fa75e12a56$var$h(\"div.taxon-label\", {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`\n }\n }, $9cea14fa75e12a56$var$h(\"div.taxon-label-inner\", $9cea14fa75e12a56$var$h(\"div.taxon-label-text\", {\n ref: ref\n }, taxonName)));\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceEntry({ xPosition: xPosition, ranges: ranges, scale: scale, name: name }) {\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$createOccurrenceMatrix(units, data, axisType = (0, $1vN9E$ColumnAxisType).AGE) {\n const taxonUnitMap = new Map();\n const taxonOccurrenceMap = new Map();\n for (const [unit_id, occurrences] of data.entries())for (const occ of occurrences){\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b)=>{\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n const taxonRanges = new Map();\n for (const [taxonName, unitSet] of taxonUnitMap.entries())taxonRanges.set(taxonName, $9cea14fa75e12a56$var$accumulatePresenceDomains(units, unitSet, axisType));\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges: taxonRanges\n };\n}\nfunction $9cea14fa75e12a56$var$accumulatePresenceDomains(unit, presenceUnits, axisType) {\n const domains = [];\n let currentDomain = null;\n for (const u of unit){\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain = [\n u.t_pos,\n u.b_pos\n ];\n else currentDomain = [\n u.t_age,\n u.b_age\n ];\n } else if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain[1] = u.b_pos;\n else currentDomain[1] = u.b_age;\n } else if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n if (currentDomain != null) domains.push(currentDomain);\n return domains;\n}\n\n\nexport {$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};\n//# sourceMappingURL=column-views.66663668.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n FossilDataType,\n PBDBEntity,\n PBDBOccurrence,\n useFossilData,\n} from \"./provider\";\nimport { Box, useElementSize } from \"@macrostrat/ui-components\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType, ColumnSVG } from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useCompositeScale,\n} from \"../../data-provider\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport styles from \"./taxon-ranges.module.sass\";\nimport { useRef } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function PBDBOccurrencesMatrix({ columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */\n const data = useFossilData(columnID, FossilDataType.Occurrences);\n const col = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null) return null;\n\n // convert the data to a map\n const occurrenceMap = new Map(group(data, (d) => d.unit_id)) as Map<\n number,\n PBDBOccurrence[]\n >;\n\n const matrix = createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n\n const { taxonRanges } = matrix;\n\n const padding = 16;\n const spacing = 16;\n\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n\n const width = padding * 2 + spacing * taxonEntries.length;\n\n return h(Box, { className: \"taxon-ranges\", width, height: col.totalHeight }, [\n h(TaxonOccurrenceLabels, {\n taxonEntries,\n padding,\n spacing,\n scale,\n }),\n h(\n ColumnSVG,\n {\n width: padding * 2 + spacing * taxonEntries.length,\n },\n h(\n \"g.taxa-occurrences-matrix\",\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const xPosition = padding + rowIndex * spacing;\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n }),\n ),\n ),\n ]);\n}\n\nfunction TaxonOccurrenceLabels({ taxonEntries, padding, spacing, scale }) {\n return h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n\n return h(TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName,\n });\n }),\n ]);\n}\n\nfunction TaxonLabel({ top, left, taxonName }) {\n const ref = useRef();\n const textSize = useElementSize(ref);\n const labelWidth = textSize?.height ?? 200;\n return h(\n \"div.taxon-label\",\n {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`,\n },\n },\n h(\"div.taxon-label-inner\", h(\"div.taxon-label-text\", { ref }, taxonName)),\n );\n}\n\ntype TaxonUnitMap = Map<string, Set<number>>;\n\ninterface OccurrenceMatrixData {\n occurrenceMap: Map<number, PBDBEntity[]>; // Map of unit IDs to occurrences (original data)\n taxonUnitMap: TaxonUnitMap; // Map of taxon names to sets of unit IDs\n taxonOccurrenceMap: Map<string, PBDBOccurrence[]>; // Map of taxon names to occurrences\n taxonRanges: Map<string, [number, number][]>; // Map of taxon names to [top, bottom] pixel ranges\n}\n\nfunction TaxonOccurrenceEntry({\n xPosition,\n ranges,\n scale,\n name,\n}: {\n xPosition: number;\n units: Set<number>;\n ranges: any;\n scale: any;\n name: string;\n}) {\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n}\n\nfunction createOccurrenceMatrix(\n units: UnitLong[],\n data: Map<number, PBDBOccurrence[]>,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n): OccurrenceMatrixData {\n const taxonUnitMap = new Map<string, Set<number>>();\n const taxonOccurrenceMap = new Map<string, PBDBOccurrence[]>();\n\n for (const [unit_id, occurrences] of data.entries()) {\n for (const occ of occurrences) {\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n }\n\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b) => {\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n\n const taxonRanges = new Map<string, [number, number][]>();\n for (const [taxonName, unitSet] of taxonUnitMap.entries()) {\n taxonRanges.set(\n taxonName,\n accumulatePresenceDomains(units, unitSet, axisType),\n );\n }\n\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges,\n };\n}\n\nfunction accumulatePresenceDomains(\n unit: UnitLong[],\n presenceUnits: Set<number>,\n axisType: ColumnAxisType,\n): Array<[number, number]> {\n const domains: Array<[number, number]> = [];\n let currentDomain: [number, number] | null = null;\n\n for (const u of unit) {\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain = [u.t_pos, u.b_pos];\n } else {\n currentDomain = [u.t_age, u.b_age];\n }\n } else {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain[1] = u.b_pos;\n } else {\n currentDomain[1] = u.b_age;\n }\n }\n } else {\n if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n }\n\n if (currentDomain != null) {\n domains.push(currentDomain);\n }\n\n return domains;\n}\n"],"names":["$1vN9E$macrostrathyper","Box","$1vN9E$Box","useElementSize","$1vN9E$useElementSize","group","$1vN9E$group","ColumnSVG","$1vN9E$ColumnSVG","ColumnAxisType","$1vN9E$ColumnAxisType","useRef","$1vN9E$useRef","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$9cea14fa75e12a56$export$652730986cccff7a","set","s","enumerable","configurable","$dx7no","$wtIgl","$f7qDU","$9cea14fa75e12a56$var$h","styled","a","__esModule","default","columnID","data","useFossilData","FossilDataType","Occurrences","col","useMacrostratColumnData","scale","useCompositeScale","occurrenceMap","Map","d","unit_id","taxonRanges","$9cea14fa75e12a56$var$createOccurrenceMatrix","units","axisType","AGE","taxonUnitMap","taxonOccurrenceMap","occurrences","entries","occ","taxonName","best_name","taxon_name","has","Set","add","push","sortedTaxa","Array","from","sort","b","localeCompare","unitSet","$9cea14fa75e12a56$var$accumulatePresenceDomains","unit","presenceUnits","domains","currentDomain","u","DEPTH","HEIGHT","t_pos","b_pos","t_age","b_age","taxonEntries","className","width","padding","spacing","length","height","totalHeight","$9cea14fa75e12a56$var$TaxonOccurrenceLabels","map","ranges","rowIndex","transform","top","bottom","y1","y2","topPx","$9cea14fa75e12a56$var$TaxonLabel","left","ref","textSize","labelWidth","style","marginLeft","PBDBOccurrencesMatrix"],"version":3,"file":"column-views.66663668.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.139b0855.js";import"./column-views.41876859.js";import"./column-views.b9900855.js";import"./column-views.b3aa406d.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.7ee01d2b.js.map
1
+ import"./column-views.139b0855.js";import"./column-views.41876859.js";import"./column-views.fa5ee6de.js";import"./column-views.796fc1de.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.6f0cb059.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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","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.b9900855.js\";\nimport \"./column-views.b3aa406d.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.7ee01d2b.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.7ee01d2b.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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","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.fa5ee6de.js\";\nimport \"./column-views.796fc1de.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.6f0cb059.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.6f0cb059.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.4ec769a6.js";import"./column-views.69ddf14d.js";import"./column-views.0980c2a0.js";import"./column-views.672b683c.js";import"./column-views.dbb4a46b.js";import"./column-views.3ce34544.js";import e from"@macrostrat/hyper";import{ColumnAxisType as t}from"@macrostrat/column-components";import{scaleLinear as n}from"d3-scale";function o(e,t,n,o){Object.defineProperty(e,t,{get:n,set:o,enumerable:!0,configurable:!0})}var l=globalThis,a={},r={},s=l.parcelRequirea149;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return a[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){r[e]=t},l.parcelRequirea149=s),s.register;var i={};o(i,"PBDBFossilsColumn",()=>b),o(i,"FossilDataType",()=>s("dx7no").FossilDataType),o(i,"useFossilData",()=>s("dx7no").useFossilData);var u=s("dx7no"),c=s("kIQUG"),f=s("wtIgl"),m=s("f7qDU"),p=s("iWhRv"),d=s("6dOaS");let _=e.styled(m&&m.__esModule?m.default:m);function b({columnID:e,type:o=u.FossilDataType.Collections}){let l=(0,u.useFossilData)(e,o),{axisType:a,units:r}=(0,f.useMacrostratColumnData)(),s=(0,f.useCompositeScale)();if(null==l||null==r||null==s)return null;let i=function(e,o,l,a,r){let{groupCloseNotes:s=!0}=(void 0)??{},i=new Map;for(let l of e){let e=function(e,o,l){let a=null;if(null!=e.slb&&"mbsf"==e.slu&&(a=Number(e.slb),l===t.DEPTH))return{height:a};if(null==e.unit_id)return null;if(null!=a){let r=o.find(t=>t.unit_id===e.unit_id);if(null==r)return null;let s=function(e,t,o){let l=n((0,p.getUnitHeightRange)(t,o,!1)).domain([0,1]).invert(e);return l<0||l>1?null:l}(a,r,t.DEPTH);return null==s?null:{height:a=(0,p.getPositionWithinUnit)(s,r,l)}}return(0,c.standardizeMeasurementHeight)({unit_id:e.unit_id},o,l)}(l,o,a);if(null==e)continue;let{height:r,top_height:s}=e,u=`${r}`;null!=s&&(u+=`-${s}`),i.has(u)||i.set(u,{height:r,top_height:s??r,data:[],id:u}),i.get(u).data.push(l)}return(0,c.groupNotesByPixelDistance)(Array.from(i.values()),l,a,"number"==typeof s?s:10)}(l,r,s,a);return _(c.BaseMeasurementsColumn,{data:i,noteComponent:h,focusedNoteComponent:h,className:"fossil-collections"})}function h(e){let{note:t,maxItems:n,focused:o=!1}=e,{data:l}=t;return l.sort((e,t)=>{let n=e.best_name??e.cltn_name??"",o=t.best_name??t.cltn_name??"";return n.localeCompare(o)}),_(c.TruncatedList,{data:l,className:"fossil-collections",itemRenderer:g,maxItems:o?1/0:n??5})}function g({data:e}){return _("a.link-id",{href:`https://paleobiodb.org/app/collections#display=col:${e.cltn_id}`,target:"_blank",onClick(e){e.stopPropagation()}},e.best_name??e.cltn_name)}Object.keys(d).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:function(){return d[e]}})});export{b as PBDBFossilsColumn,$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType,$8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData,$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};
2
- //# sourceMappingURL=column-views.07680def.js.map
1
+ import"./column-views.4ec769a6.js";import"./column-views.54f7a243.js";import"./column-views.5c02450b.js";import"./column-views.672b683c.js";import"./column-views.dbb4a46b.js";import"./column-views.66663668.js";import e from"@macrostrat/hyper";import{ColumnAxisType as t}from"@macrostrat/column-components";import{scaleLinear as n}from"d3-scale";function o(e,t,n,o){Object.defineProperty(e,t,{get:n,set:o,enumerable:!0,configurable:!0})}var l=globalThis,a={},r={},s=l.parcelRequirea149;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return a[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){r[e]=t},l.parcelRequirea149=s),s.register;var i={};o(i,"PBDBFossilsColumn",()=>b),o(i,"FossilDataType",()=>s("dx7no").FossilDataType),o(i,"useFossilData",()=>s("dx7no").useFossilData);var u=s("dx7no"),c=s("kIQUG"),f=s("wtIgl"),m=s("f7qDU"),p=s("iWhRv"),d=s("6dOaS");let _=e.styled(m&&m.__esModule?m.default:m);function b({columnID:e,type:o=u.FossilDataType.Collections}){let l=(0,u.useFossilData)(e,o),{axisType:a,units:r}=(0,f.useMacrostratColumnData)(),s=(0,f.useCompositeScale)();if(null==l||null==r||null==s)return null;let i=function(e,o,l,a,r){let{groupCloseNotes:s=!0}=(void 0)??{},i=new Map;for(let l of e){let e=function(e,o,l){let a=null;if(null!=e.slb&&"mbsf"==e.slu&&(a=Number(e.slb),l===t.DEPTH))return{height:a};if(null==e.unit_id)return null;if(null!=a){let r=o.find(t=>t.unit_id===e.unit_id);if(null==r)return null;let s=function(e,t,o){let l=n((0,p.getUnitHeightRange)(t,o,!1)).domain([0,1]).invert(e);return l<0||l>1?null:l}(a,r,t.DEPTH);return null==s?null:{height:a=(0,p.getPositionWithinUnit)(s,r,l)}}return(0,c.standardizeMeasurementHeight)({unit_id:e.unit_id},o,l)}(l,o,a);if(null==e)continue;let{height:r,top_height:s}=e,u=`${r}`;null!=s&&(u+=`-${s}`),i.has(u)||i.set(u,{height:r,top_height:s??r,data:[],id:u}),i.get(u).data.push(l)}return(0,c.groupNotesByPixelDistance)(Array.from(i.values()),l,a,"number"==typeof s?s:10)}(l,r,s,a);return _(c.BaseMeasurementsColumn,{data:i,noteComponent:h,focusedNoteComponent:h,className:"fossil-collections"})}function h(e){let{note:t,maxItems:n,focused:o=!1}=e,{data:l}=t;return l.sort((e,t)=>{let n=e.best_name??e.cltn_name??"",o=t.best_name??t.cltn_name??"";return n.localeCompare(o)}),_(c.TruncatedList,{data:l,className:"fossil-collections",itemRenderer:g,maxItems:o?1/0:n??5})}function g({data:e}){return _("a.link-id",{href:`https://paleobiodb.org/app/collections#display=col:${e.cltn_id}`,target:"_blank",onClick(e){e.stopPropagation()}},e.best_name??e.cltn_name)}Object.keys(d).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:function(){return d[e]}})});export{b as PBDBFossilsColumn,$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType,$8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData,$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};
2
+ //# sourceMappingURL=column-views.72c3c6e7.js.map