@macrostrat/column-views 2.4.2 → 2.4.3

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 (192) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/esm/{column-views.1b5bf0c6.js → column-views.0b3c0d18.js} +5 -2
  3. package/dist/esm/column-views.0b3c0d18.js.map +1 -0
  4. package/dist/esm/{column-views.88b2418b.js → column-views.0ed9da35.js} +3 -3
  5. package/dist/esm/{column-views.88b2418b.js.map → column-views.0ed9da35.js.map} +1 -1
  6. package/dist/esm/{column-views.82eb5026.js → column-views.0faf79a9.js} +3 -3
  7. package/dist/esm/{column-views.82eb5026.js.map → column-views.0faf79a9.js.map} +1 -1
  8. package/dist/esm/{column-views.8ce33ec6.js → column-views.19539293.js} +2 -2
  9. package/dist/esm/{column-views.8ce33ec6.js.map → column-views.19539293.js.map} +1 -1
  10. package/dist/esm/{column-views.ce5251f7.js → column-views.1af3ec1f.js} +2 -2
  11. package/dist/esm/{column-views.ce5251f7.js.map → column-views.1af3ec1f.js.map} +1 -1
  12. package/dist/esm/{column-views.1ef55568.js → column-views.2a0010a3.js} +3 -3
  13. package/dist/esm/{column-views.1ef55568.js.map → column-views.2a0010a3.js.map} +1 -1
  14. package/dist/esm/{column-views.f35c4621.js → column-views.334c3947.js} +2 -2
  15. package/dist/esm/{column-views.f35c4621.js.map → column-views.334c3947.js.map} +1 -1
  16. package/dist/esm/{column-views.c93b63db.js → column-views.337b40a2.js} +3 -3
  17. package/dist/esm/{column-views.c93b63db.js.map → column-views.337b40a2.js.map} +1 -1
  18. package/dist/esm/{column-views.633c42a3.js → column-views.33d35a44.js} +25 -3
  19. package/dist/esm/column-views.33d35a44.js.map +1 -0
  20. package/dist/esm/{column-views.c1e507e6.js → column-views.362aae9a.js} +2 -2
  21. package/dist/esm/{column-views.c1e507e6.js.map → column-views.362aae9a.js.map} +1 -1
  22. package/dist/esm/{column-views.083fb787.js → column-views.4252a555.js} +5 -5
  23. package/dist/esm/{column-views.083fb787.js.map → column-views.4252a555.js.map} +1 -1
  24. package/dist/esm/{column-views.99cb1c41.js → column-views.45c70ba4.js} +3 -3
  25. package/dist/esm/{column-views.99cb1c41.js.map → column-views.45c70ba4.js.map} +1 -1
  26. package/dist/esm/{column-views.40d3688c.js → column-views.47b7d9ca.js} +2 -2
  27. package/dist/esm/{column-views.40d3688c.js.map → column-views.47b7d9ca.js.map} +1 -1
  28. package/dist/esm/{column-views.b4e1236d.js → column-views.47ca059d.js} +3 -3
  29. package/dist/esm/column-views.47ca059d.js.map +1 -0
  30. package/dist/esm/{column-views.3090f246.js → column-views.636d6553.js} +2 -2
  31. package/dist/esm/{column-views.3090f246.js.map → column-views.636d6553.js.map} +1 -1
  32. package/dist/esm/{column-views.a94e99a2.js → column-views.64f6ddd3.js} +2 -2
  33. package/dist/esm/{column-views.a94e99a2.js.map → column-views.64f6ddd3.js.map} +1 -1
  34. package/dist/esm/{column-views.88436022.js → column-views.6519a353.js} +2 -2
  35. package/dist/esm/{column-views.88436022.js.map → column-views.6519a353.js.map} +1 -1
  36. package/dist/esm/{column-views.18655508.js → column-views.6cff6659.js} +4 -4
  37. package/dist/esm/{column-views.18655508.js.map → column-views.6cff6659.js.map} +1 -1
  38. package/dist/esm/{column-views.fedccce9.js → column-views.70387120.js} +2 -2
  39. package/dist/esm/{column-views.fedccce9.js.map → column-views.70387120.js.map} +1 -1
  40. package/dist/esm/{column-views.3ae8f23d.js → column-views.74837922.js} +2 -2
  41. package/dist/esm/{column-views.3ae8f23d.js.map → column-views.74837922.js.map} +1 -1
  42. package/dist/esm/{column-views.e885211d.js → column-views.7bfb4318.js} +2 -2
  43. package/dist/esm/{column-views.e885211d.js.map → column-views.7bfb4318.js.map} +1 -1
  44. package/dist/esm/{column-views.f56e604d.js → column-views.7dc53f1b.js} +4 -4
  45. package/dist/esm/{column-views.f56e604d.js.map → column-views.7dc53f1b.js.map} +1 -1
  46. package/dist/esm/{column-views.ab2cc6cb.js → column-views.85df21ec.js} +11 -10
  47. package/dist/esm/column-views.85df21ec.js.map +1 -0
  48. package/dist/esm/{column-views.4e9b8594.js → column-views.87c589b7.js} +2 -2
  49. package/dist/esm/{column-views.4e9b8594.js.map → column-views.87c589b7.js.map} +1 -1
  50. package/dist/esm/{column-views.77322764.js → column-views.8da2b857.js} +2 -2
  51. package/dist/esm/{column-views.77322764.js.map → column-views.8da2b857.js.map} +1 -1
  52. package/dist/esm/{column-views.b957dc19.js → column-views.8fb37de7.js} +2 -2
  53. package/dist/esm/{column-views.b957dc19.js.map → column-views.8fb37de7.js.map} +1 -1
  54. package/dist/esm/{column-views.d4e50f74.js → column-views.905ddea0.js} +3 -3
  55. package/dist/esm/{column-views.d4e50f74.js.map → column-views.905ddea0.js.map} +1 -1
  56. package/dist/esm/{column-views.91c18fe3.js → column-views.9512c5d5.js} +10 -10
  57. package/dist/esm/{column-views.91c18fe3.js.map → column-views.9512c5d5.js.map} +1 -1
  58. package/dist/esm/{column-views.85d57d04.js → column-views.9905b91c.js} +4 -4
  59. package/dist/esm/{column-views.85d57d04.js.map → column-views.9905b91c.js.map} +1 -1
  60. package/dist/esm/{column-views.275ba52b.js → column-views.a4f394fe.js} +2 -2
  61. package/dist/esm/{column-views.275ba52b.js.map → column-views.a4f394fe.js.map} +1 -1
  62. package/dist/esm/{column-views.dd2d5a6d.js → column-views.b2142cd8.js} +5 -5
  63. package/dist/esm/{column-views.dd2d5a6d.js.map → column-views.b2142cd8.js.map} +1 -1
  64. package/dist/esm/{column-views.6f0d4f3a.js → column-views.b7cf0da2.js} +2 -2
  65. package/dist/esm/{column-views.6f0d4f3a.js.map → column-views.b7cf0da2.js.map} +1 -1
  66. package/dist/esm/{column-views.af4278f0.js → column-views.b88d4bbe.js} +3 -3
  67. package/dist/esm/{column-views.af4278f0.js.map → column-views.b88d4bbe.js.map} +1 -1
  68. package/dist/esm/{column-views.5ec7294d.js → column-views.c750a6df.js} +3 -3
  69. package/dist/esm/{column-views.5ec7294d.js.map → column-views.c750a6df.js.map} +1 -1
  70. package/dist/esm/{column-views.fc4860bd.js → column-views.cb1cc9f2.js} +4 -4
  71. package/dist/esm/{column-views.fc4860bd.js.map → column-views.cb1cc9f2.js.map} +1 -1
  72. package/dist/esm/{column-views.f904e6d7.js → column-views.ce000969.js} +3 -3
  73. package/dist/esm/{column-views.f904e6d7.js.map → column-views.ce000969.js.map} +1 -1
  74. package/dist/esm/{column-views.ee2fd38f.js → column-views.d7740949.js} +3 -3
  75. package/dist/esm/{column-views.ee2fd38f.js.map → column-views.d7740949.js.map} +1 -1
  76. package/dist/esm/{column-views.088a0274.js → column-views.d7e6bf67.js} +2 -2
  77. package/dist/esm/{column-views.088a0274.js.map → column-views.d7e6bf67.js.map} +1 -1
  78. package/dist/esm/{column-views.e6882667.js → column-views.dac0a3bb.js} +5 -5
  79. package/dist/esm/{column-views.e6882667.js.map → column-views.dac0a3bb.js.map} +1 -1
  80. package/dist/esm/{column-views.11353c2c.js → column-views.e13a0a76.js} +4 -4
  81. package/dist/esm/{column-views.11353c2c.js.map → column-views.e13a0a76.js.map} +1 -1
  82. package/dist/esm/{column-views.5e830e7c.js → column-views.ea08f667.js} +8 -8
  83. package/dist/esm/{column-views.5e830e7c.js.map → column-views.ea08f667.js.map} +1 -1
  84. package/dist/esm/{column-views.bc83a85d.js → column-views.fe42d2fc.js} +2 -2
  85. package/dist/esm/{column-views.bc83a85d.js.map → column-views.fe42d2fc.js.map} +1 -1
  86. package/dist/esm/index.d.ts.map +1 -1
  87. package/dist/esm/index.js +11 -11
  88. package/dist/node/column-views.048fdcaf.js +2 -0
  89. package/dist/node/column-views.048fdcaf.js.map +1 -0
  90. package/dist/node/{column-views.796fc1de.js → column-views.04a72b35.js} +2 -2
  91. package/dist/node/{column-views.796fc1de.js.map → column-views.04a72b35.js.map} +1 -1
  92. package/dist/node/{column-views.94c8ce3e.js → column-views.0619e2da.js} +2 -2
  93. package/dist/node/{column-views.94c8ce3e.js.map → column-views.0619e2da.js.map} +1 -1
  94. package/dist/node/{column-views.66663668.js → column-views.0af5912d.js} +2 -2
  95. package/dist/node/{column-views.66663668.js.map → column-views.0af5912d.js.map} +1 -1
  96. package/dist/node/{column-views.eecdc727.js → column-views.0d254fd3.js} +2 -2
  97. package/dist/node/{column-views.eecdc727.js.map → column-views.0d254fd3.js.map} +1 -1
  98. package/dist/node/{column-views.54f7a243.js → column-views.109cb0c8.js} +2 -2
  99. package/dist/node/{column-views.54f7a243.js.map → column-views.109cb0c8.js.map} +1 -1
  100. package/dist/node/{column-views.f4063bc8.js → column-views.15b5cecc.js} +2 -2
  101. package/dist/node/{column-views.f4063bc8.js.map → column-views.15b5cecc.js.map} +1 -1
  102. package/dist/node/{column-views.6f0cb059.js → column-views.183745c0.js} +2 -2
  103. package/dist/node/{column-views.6f0cb059.js.map → column-views.183745c0.js.map} +1 -1
  104. package/dist/node/{column-views.080781ca.js → column-views.2e2158f5.js} +2 -2
  105. package/dist/node/{column-views.080781ca.js.map → column-views.2e2158f5.js.map} +1 -1
  106. package/dist/node/{column-views.f93b4175.js → column-views.306acd3f.js} +2 -2
  107. package/dist/node/{column-views.f93b4175.js.map → column-views.306acd3f.js.map} +1 -1
  108. package/dist/node/{column-views.0818254f.js → column-views.31153f29.js} +2 -2
  109. package/dist/node/{column-views.0818254f.js.map → column-views.31153f29.js.map} +1 -1
  110. package/dist/node/{column-views.6051e986.js → column-views.31da008b.js} +2 -2
  111. package/dist/node/{column-views.6051e986.js.map → column-views.31da008b.js.map} +1 -1
  112. package/dist/node/column-views.40e758b3.js +2 -0
  113. package/dist/node/column-views.40e758b3.js.map +1 -0
  114. package/dist/node/{column-views.ffbffec7.js → column-views.4a28d695.js} +2 -2
  115. package/dist/node/{column-views.ffbffec7.js.map → column-views.4a28d695.js.map} +1 -1
  116. package/dist/node/{column-views.d30231cb.js → column-views.5987bc26.js} +2 -2
  117. package/dist/node/{column-views.d30231cb.js.map → column-views.5987bc26.js.map} +1 -1
  118. package/dist/node/{column-views.784bac2a.js → column-views.5bb858c9.js} +2 -2
  119. package/dist/node/{column-views.784bac2a.js.map → column-views.5bb858c9.js.map} +1 -1
  120. package/dist/node/{column-views.fe7a5452.js → column-views.5cbada24.js} +2 -2
  121. package/dist/node/{column-views.fe7a5452.js.map → column-views.5cbada24.js.map} +1 -1
  122. package/dist/node/{column-views.8c00beb4.js → column-views.5fcd2be6.js} +2 -2
  123. package/dist/node/{column-views.8c00beb4.js.map → column-views.5fcd2be6.js.map} +1 -1
  124. package/dist/node/{column-views.bdf05ed4.js → column-views.78b2d234.js} +2 -2
  125. package/dist/node/{column-views.bdf05ed4.js.map → column-views.78b2d234.js.map} +1 -1
  126. package/dist/node/{column-views.5908556a.js → column-views.8bee789c.js} +2 -2
  127. package/dist/node/{column-views.5908556a.js.map → column-views.8bee789c.js.map} +1 -1
  128. package/dist/node/{column-views.18e86c2d.js → column-views.90c36c0b.js} +2 -2
  129. package/dist/node/{column-views.18e86c2d.js.map → column-views.90c36c0b.js.map} +1 -1
  130. package/dist/node/{column-views.87d31e0a.js → column-views.a2476e39.js} +2 -2
  131. package/dist/node/{column-views.87d31e0a.js.map → column-views.a2476e39.js.map} +1 -1
  132. package/dist/node/{column-views.39b71a38.js → column-views.a8f5ee28.js} +2 -2
  133. package/dist/node/{column-views.39b71a38.js.map → column-views.a8f5ee28.js.map} +1 -1
  134. package/dist/node/{column-views.5f3f8ccf.js → column-views.ad60c02f.js} +2 -2
  135. package/dist/node/{column-views.5f3f8ccf.js.map → column-views.ad60c02f.js.map} +1 -1
  136. package/dist/node/{column-views.72c3c6e7.js → column-views.add5e42b.js} +2 -2
  137. package/dist/node/{column-views.72c3c6e7.js.map → column-views.add5e42b.js.map} +1 -1
  138. package/dist/node/{column-views.4d8fc443.js → column-views.aff55599.js} +2 -2
  139. package/dist/node/{column-views.4d8fc443.js.map → column-views.aff55599.js.map} +1 -1
  140. package/dist/node/{column-views.4d573ded.js → column-views.b2e5f823.js} +2 -2
  141. package/dist/node/{column-views.4d573ded.js.map → column-views.b2e5f823.js.map} +1 -1
  142. package/dist/node/{column-views.64fc40d6.js → column-views.b57e5e6e.js} +2 -2
  143. package/dist/node/{column-views.64fc40d6.js.map → column-views.b57e5e6e.js.map} +1 -1
  144. package/dist/node/{column-views.a596b1f5.js → column-views.ba9108fe.js} +2 -2
  145. package/dist/node/column-views.ba9108fe.js.map +1 -0
  146. package/dist/node/{column-views.b6613ab0.js → column-views.c16a19fb.js} +2 -2
  147. package/dist/node/{column-views.b6613ab0.js.map → column-views.c16a19fb.js.map} +1 -1
  148. package/dist/node/{column-views.74fcfb9c.js → column-views.c3097d9a.js} +2 -2
  149. package/dist/node/{column-views.74fcfb9c.js.map → column-views.c3097d9a.js.map} +1 -1
  150. package/dist/node/{column-views.fa5ee6de.js → column-views.c4c15e2b.js} +2 -2
  151. package/dist/node/{column-views.fa5ee6de.js.map → column-views.c4c15e2b.js.map} +1 -1
  152. package/dist/node/{column-views.58b336f1.js → column-views.c651b684.js} +2 -2
  153. package/dist/node/{column-views.58b336f1.js.map → column-views.c651b684.js.map} +1 -1
  154. package/dist/node/{column-views.447008d0.js → column-views.cf41a6d7.js} +2 -2
  155. package/dist/node/{column-views.447008d0.js.map → column-views.cf41a6d7.js.map} +1 -1
  156. package/dist/node/{column-views.5fd6e11a.js → column-views.d22bf15c.js} +2 -2
  157. package/dist/node/{column-views.5fd6e11a.js.map → column-views.d22bf15c.js.map} +1 -1
  158. package/dist/node/{column-views.5c02450b.js → column-views.d737de1e.js} +2 -2
  159. package/dist/node/{column-views.5c02450b.js.map → column-views.d737de1e.js.map} +1 -1
  160. package/dist/node/{column-views.0d48f51d.js → column-views.da902c44.js} +2 -2
  161. package/dist/node/{column-views.0d48f51d.js.map → column-views.da902c44.js.map} +1 -1
  162. package/dist/node/{column-views.003e0c17.js → column-views.e0e20136.js} +2 -2
  163. package/dist/node/{column-views.003e0c17.js.map → column-views.e0e20136.js.map} +1 -1
  164. package/dist/node/{column-views.7e895e1a.js → column-views.ec0087a2.js} +2 -2
  165. package/dist/node/{column-views.7e895e1a.js.map → column-views.ec0087a2.js.map} +1 -1
  166. package/dist/node/{column-views.375529b1.js → column-views.f2e82230.js} +2 -2
  167. package/dist/node/{column-views.375529b1.js.map → column-views.f2e82230.js.map} +1 -1
  168. package/dist/node/{column-views.d86e6c7d.js → column-views.fb3ed7cc.js} +2 -2
  169. package/dist/node/{column-views.d86e6c7d.js.map → column-views.fb3ed7cc.js.map} +1 -1
  170. package/dist/node/column-views.fcb243a2.js +2 -0
  171. package/dist/node/column-views.fcb243a2.js.map +1 -0
  172. package/dist/node/index.js +1 -1
  173. package/dist/node/index.js.map +1 -1
  174. package/package.json +1 -1
  175. package/src/correlation-chart/stories/correlation-chart.stories.ts +1 -24
  176. package/src/correlation-chart/stories/utils.ts +24 -0
  177. package/src/maps/_shared/styles.ts +12 -2
  178. package/src/maps/column-navigation/mapbox/index.ts +1 -0
  179. package/src/prepare-units/composite-scale.ts +9 -1
  180. package/src/prepare-units/helpers.ts +2 -2
  181. package/src/unit-details/panel.ts +15 -7
  182. package/dist/esm/column-views.1b5bf0c6.js.map +0 -1
  183. package/dist/esm/column-views.633c42a3.js.map +0 -1
  184. package/dist/esm/column-views.ab2cc6cb.js.map +0 -1
  185. package/dist/esm/column-views.b4e1236d.js.map +0 -1
  186. package/dist/node/column-views.021a6961.js +0 -2
  187. package/dist/node/column-views.021a6961.js.map +0 -1
  188. package/dist/node/column-views.139b0855.js +0 -2
  189. package/dist/node/column-views.139b0855.js.map +0 -1
  190. package/dist/node/column-views.5e73411d.js +0 -2
  191. package/dist/node/column-views.5e73411d.js.map +0 -1
  192. package/dist/node/column-views.a596b1f5.js.map +0 -1
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,4B,C,6C,iB,C,6C,sB,C,6C,a,C,6C,yB,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import \"./column-views.54f7a243.js\";\nimport \"./column-views.375529b1.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $30f674067bcc490b$exports = {};\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\nvar $grgdF = parcelRequire(\"grgdF\");\n$parcel$exportWildcard($30f674067bcc490b$exports, $kIQUG);\n$parcel$exportWildcard($30f674067bcc490b$exports, $grgdF);\n\n\nexport {$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight, $7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges, $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList, $7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance, $48680a4cd2abcbe4$export$c49cf57576706bab as SGPMeasurementsColumn};\n//# sourceMappingURL=column-views.94c8ce3e.js.map\n","export * from \"./base\";\nexport * from \"./sgp\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$30f674067bcc490b$exports","$kIQUG","$grgdF","$7e05644cbb5d2dbb$export$9d101e1fcb2166a6","standardizeMeasurementHeight","$7e05644cbb5d2dbb$export$8f2afa8ddee7317e","mergeHeightRanges","$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d","BaseMeasurementsColumn","$7e05644cbb5d2dbb$export$653e47a7a0da0f0d","TruncatedList","$7e05644cbb5d2dbb$export$4e649f790614b299","groupNotesByPixelDistance","$48680a4cd2abcbe4$export$c49cf57576706bab","SGPMeasurementsColumn"],"version":3,"file":"column-views.94c8ce3e.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,4B,C,6C,iB,C,6C,sB,C,6C,a,C,6C,yB,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import \"./column-views.109cb0c8.js\";\nimport \"./column-views.f2e82230.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $30f674067bcc490b$exports = {};\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\nvar $grgdF = parcelRequire(\"grgdF\");\n$parcel$exportWildcard($30f674067bcc490b$exports, $kIQUG);\n$parcel$exportWildcard($30f674067bcc490b$exports, $grgdF);\n\n\nexport {$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight, $7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges, $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList, $7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance, $48680a4cd2abcbe4$export$c49cf57576706bab as SGPMeasurementsColumn};\n//# sourceMappingURL=column-views.0619e2da.js.map\n","export * from \"./base\";\nexport * from \"./sgp\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$30f674067bcc490b$exports","$kIQUG","$grgdF","$7e05644cbb5d2dbb$export$9d101e1fcb2166a6","standardizeMeasurementHeight","$7e05644cbb5d2dbb$export$8f2afa8ddee7317e","mergeHeightRanges","$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d","BaseMeasurementsColumn","$7e05644cbb5d2dbb$export$653e47a7a0da0f0d","TruncatedList","$7e05644cbb5d2dbb$export$4e649f790614b299","groupNotesByPixelDistance","$48680a4cd2abcbe4$export$c49cf57576706bab","SGPMeasurementsColumn"],"version":3,"file":"column-views.0619e2da.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
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
+ import"./column-views.4ec769a6.js";import"./column-views.d737de1e.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.0af5912d.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.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
+ {"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.d737de1e.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.0af5912d.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.0af5912d.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.dbb4a46b.js";import"./column-views.5fd6e11a.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{mergeAgeRanges as t}from"@macrostrat/stratigraphy-utils";var n=globalThis,a={},r={},o=n.parcelRequirea149;null==o&&((o=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},n.parcelRequirea149=o),o.register;var l=o("iWhRv"),i=o("610tc");function s(t,n){console.log(n);let{mergeSections:a=l.MergeSectionsMode.OVERLAPPING,targetUnitHeight:r,...o}=n,s={axisType:e.AGE,targetUnitHeight:r,mergeSections:a,...o};if(0==t.length)return null;let u=t.map(e=>e.units).flat(),c=t.map(e=>e.columnID),{sections:_,totalHeight:p}=(0,i.prepareColumnUnits)(u,s);return{scaleInfo:{axisType:e.AGE,totalHeight:p,packages:_.map(e=>e.scaleInfo)},packages:_.map(t=>(function(t,n){let{units:a,t_age:r,b_age:o}=t;return{columnData:n.map(n=>{let r=a.filter(e=>e.col_id==n);return r.sort((e,t)=>e.t_age-t.t_age),{columnID:n,units:(0,i.preprocessUnits)({...t,units:r},e.AGE)}}),bestPixelScale:t.scaleInfo.pixelScale,t_age:r,b_age:o}})(t,c)),nColumns:c.length}}function u(e){let{columnData:n,b_age:a,t_age:r}=e,o=new Map;for(let e of n){let{units:t}=e;for(let n of t)null!=n.strat_name_id&&(o.has(n.strat_name_id)||o.set(n.strat_name_id,new Map),o.get(n.strat_name_id).set(e.columnID,n))}let l=[];for(let[e,a]of o){let r=n.map(e=>a.get(e.columnID)??null),o=r.filter(e=>null!=e),[i,s]=t(o.map(e=>[e.t_age,e.b_age]));o.length<=1||l.push({b_age:s,t_age:i,strat_name_id:e,strat_name_long:o[0].strat_name_long,units:r})}return l}function c(e){let{strat_name_long:t,strat_name_id:n,units:a}=e,r=[],o=null;for(let e=0;e<a.length;e++){let l=a[e];if(null==l){null!=o&&(r.push(o),o=null);continue}null==o?o={startCol:e,endCol:e,strat_name_id:n,strat_name_long:t,t_age:l.t_age,b_age:l.b_age,units:[]}:o.endCol=e,o.units.push(l)}return r}function _(e){return{col_id:e.properties.col_id,col_name:e.properties.col_name,project_id:e.properties.project_id}}export{s as buildCorrelationChartData,u as findLaterallyExtensiveUnits,c as splitStratIntoBoxes,_ as columnGeoJSONRecordToColumnIdentifier};
2
- //# sourceMappingURL=column-views.eecdc727.js.map
1
+ import"./column-views.dbb4a46b.js";import"./column-views.d22bf15c.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{mergeAgeRanges as t}from"@macrostrat/stratigraphy-utils";var n=globalThis,a={},r={},o=n.parcelRequirea149;null==o&&((o=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},n.parcelRequirea149=o),o.register;var l=o("iWhRv"),i=o("610tc");function s(t,n){console.log(n);let{mergeSections:a=l.MergeSectionsMode.OVERLAPPING,targetUnitHeight:r,...o}=n,s={axisType:e.AGE,targetUnitHeight:r,mergeSections:a,...o};if(0==t.length)return null;let u=t.map(e=>e.units).flat(),c=t.map(e=>e.columnID),{sections:_,totalHeight:p}=(0,i.prepareColumnUnits)(u,s);return{scaleInfo:{axisType:e.AGE,totalHeight:p,packages:_.map(e=>e.scaleInfo)},packages:_.map(t=>(function(t,n){let{units:a,t_age:r,b_age:o}=t;return{columnData:n.map(n=>{let r=a.filter(e=>e.col_id==n);return r.sort((e,t)=>e.t_age-t.t_age),{columnID:n,units:(0,i.preprocessUnits)({...t,units:r},e.AGE)}}),bestPixelScale:t.scaleInfo.pixelScale,t_age:r,b_age:o}})(t,c)),nColumns:c.length}}function u(e){let{columnData:n,b_age:a,t_age:r}=e,o=new Map;for(let e of n){let{units:t}=e;for(let n of t)null!=n.strat_name_id&&(o.has(n.strat_name_id)||o.set(n.strat_name_id,new Map),o.get(n.strat_name_id).set(e.columnID,n))}let l=[];for(let[e,a]of o){let r=n.map(e=>a.get(e.columnID)??null),o=r.filter(e=>null!=e),[i,s]=t(o.map(e=>[e.t_age,e.b_age]));o.length<=1||l.push({b_age:s,t_age:i,strat_name_id:e,strat_name_long:o[0].strat_name_long,units:r})}return l}function c(e){let{strat_name_long:t,strat_name_id:n,units:a}=e,r=[],o=null;for(let e=0;e<a.length;e++){let l=a[e];if(null==l){null!=o&&(r.push(o),o=null);continue}null==o?o={startCol:e,endCol:e,strat_name_id:n,strat_name_long:t,t_age:l.t_age,b_age:l.b_age,units:[]}:o.endCol=e,o.units.push(l)}return r}function _(e){return{col_id:e.properties.col_id,col_name:e.properties.col_name,project_id:e.properties.project_id}}export{s as buildCorrelationChartData,u as findLaterallyExtensiveUnits,c as splitStratIntoBoxes,_ as columnGeoJSONRecordToColumnIdentifier};
2
+ //# sourceMappingURL=column-views.0d254fd3.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["<anon>","packages/column-views/src/correlation-chart/prepare-data.ts"],"sourcesContent":["import \"./column-views.dbb4a46b.js\";\nimport \"./column-views.5fd6e11a.js\";\nimport {ColumnAxisType as $kr6st$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {mergeAgeRanges as $kr6st$mergeAgeRanges} from \"@macrostrat/stratigraphy-utils\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\nvar $610tc = parcelRequire(\"610tc\");\n\nfunction $1f14b283fe089e83$export$7f21dc14b8199dc0(columns, settings) {\n console.log(settings);\n const { mergeSections: mergeSections = (0, $iWhRv.MergeSectionsMode).OVERLAPPING, targetUnitHeight: targetUnitHeight, ...rest } = settings;\n const opts = {\n axisType: (0, $kr6st$ColumnAxisType).AGE,\n targetUnitHeight: targetUnitHeight,\n mergeSections: mergeSections,\n ...rest\n };\n if (columns.length == 0) return null;\n // Flatten the units array to pretend that all units are in the same column\n const _units = columns.map((d)=>d.units).flat();\n const columnIDs = columns.map((d)=>d.columnID);\n const preparedUnits = (0, $610tc.prepareColumnUnits)(_units, opts);\n const { sections: sections, totalHeight: totalHeight } = preparedUnits;\n const scaleInfo = {\n axisType: (0, $kr6st$ColumnAxisType).AGE,\n totalHeight: totalHeight,\n packages: sections.map((d)=>d.scaleInfo)\n };\n const packages = sections.map((d)=>{\n return $1f14b283fe089e83$var$separateColumns(d, columnIDs);\n });\n return {\n scaleInfo: scaleInfo,\n packages: packages,\n nColumns: columnIDs.length\n };\n}\nfunction $1f14b283fe089e83$export$cc5d9b95e199a6de(pkg) {\n const { columnData: columnData, b_age: b_age, t_age: t_age } = pkg;\n // Group units by strat_name_id\n const unitIndex = new Map();\n for (const column of columnData){\n const { units: units } = column;\n for (const unit of units){\n if (unit.strat_name_id == null) continue;\n if (!unitIndex.has(unit.strat_name_id)) unitIndex.set(unit.strat_name_id, new Map());\n unitIndex.get(unit.strat_name_id).set(column.columnID, unit);\n }\n }\n // Prepare grouped units for rendering\n const unitGroups = [];\n for (const [strat_name_id, unitIndex0] of unitIndex){\n const units = columnData.map((d)=>unitIndex0.get(d.columnID) ?? null);\n const filteredUnits = units.filter((d)=>d != null);\n const [t_age, b_age] = (0, $kr6st$mergeAgeRanges)(filteredUnits.map((d)=>[\n d.t_age,\n d.b_age\n ]));\n if (filteredUnits.length <= 1) continue;\n unitGroups.push({\n b_age: b_age,\n t_age: t_age,\n strat_name_id: strat_name_id,\n strat_name_long: filteredUnits[0].strat_name_long,\n units: units\n });\n }\n return unitGroups;\n}\nfunction $1f14b283fe089e83$export$3e71a3125322d04b(pkg) {\n const { strat_name_long: strat_name_long, strat_name_id: strat_name_id, units: units } = pkg;\n const boxes = [];\n let currentBox = null;\n for(let i = 0; i < units.length; i++){\n const unit = units[i];\n if (unit == null) {\n if (currentBox != null) {\n boxes.push(currentBox);\n currentBox = null;\n }\n continue;\n }\n if (currentBox == null) currentBox = {\n startCol: i,\n endCol: i,\n strat_name_id: strat_name_id,\n strat_name_long: strat_name_long,\n t_age: unit.t_age,\n b_age: unit.b_age,\n units: []\n };\n else currentBox.endCol = i;\n currentBox.units.push(unit);\n }\n return boxes;\n}\nfunction $1f14b283fe089e83$var$separateColumns(pkg, columnIDs) {\n /** Separate columns by col_id */ const { units: units, t_age: t_age, b_age: b_age } = pkg;\n return {\n columnData: columnIDs.map((d)=>{\n const u1 = units.filter((unit)=>unit.col_id == d);\n u1.sort((a, b)=>a.t_age - b.t_age);\n return {\n columnID: d,\n // Ensure that the units correctly show overlap\n units: (0, $610tc.preprocessUnits)({\n ...pkg,\n units: u1\n }, (0, $kr6st$ColumnAxisType).AGE)\n };\n }),\n bestPixelScale: pkg.scaleInfo.pixelScale,\n t_age: t_age,\n b_age: b_age\n };\n}\nfunction $1f14b283fe089e83$export$63b33da9b6dd754c(col) {\n return {\n col_id: col.properties.col_id,\n col_name: col.properties.col_name,\n project_id: col.properties.project_id\n };\n}\n\n\nexport {$1f14b283fe089e83$export$7f21dc14b8199dc0 as buildCorrelationChartData, $1f14b283fe089e83$export$cc5d9b95e199a6de as findLaterallyExtensiveUnits, $1f14b283fe089e83$export$3e71a3125322d04b as splitStratIntoBoxes, $1f14b283fe089e83$export$63b33da9b6dd754c as columnGeoJSONRecordToColumnIdentifier};\n//# sourceMappingURL=column-views.eecdc727.js.map\n","import { CompositeStratigraphicScaleInfo } from \"../age-axis\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { type ColumnGeoJSONRecord, UnitLong } from \"@macrostrat/api-types\";\nimport {\n MergeSectionsMode,\n PrepareColumnOptions,\n prepareColumnUnits,\n preprocessUnits,\n} from \"../prepare-units\";\nimport { mergeAgeRanges } from \"@macrostrat/stratigraphy-utils\";\nimport { PackageLayoutData } from \"../prepare-units/types\";\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\ninterface ColumnData {\n columnID: number;\n units: UnitLong[];\n}\n\nexport interface CorrelationChartSettings extends Omit<\n PrepareColumnOptions,\n \"axisType\"\n> {\n targetUnitHeight?: number;\n}\n\nexport interface CorrelationChartData {\n packages: MultiColumnPackageData[];\n scaleInfo: CompositeStratigraphicScaleInfo;\n nColumns: number;\n}\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\nexport function buildCorrelationChartData(\n columns: ColumnData[],\n settings: CorrelationChartSettings,\n): CorrelationChartData {\n console.log(settings);\n const {\n mergeSections = MergeSectionsMode.OVERLAPPING,\n targetUnitHeight,\n ...rest\n } = settings;\n\n const opts: PrepareColumnOptions = {\n axisType: ColumnAxisType.AGE,\n targetUnitHeight,\n mergeSections,\n ...rest,\n };\n\n if (columns.length == 0) {\n return null;\n }\n\n // Flatten the units array to pretend that all units are in the same column\n const _units = columns.map((d) => d.units).flat();\n\n const columnIDs = columns.map((d) => d.columnID);\n\n const preparedUnits = prepareColumnUnits(_units, opts);\n\n const { sections, totalHeight } = preparedUnits;\n\n const scaleInfo: CompositeStratigraphicScaleInfo = {\n axisType: ColumnAxisType.AGE,\n totalHeight,\n packages: sections.map((d) => d.scaleInfo),\n };\n\n const packages = sections.map((d) => {\n return separateColumns(d, columnIDs);\n });\n\n return { scaleInfo, packages, nColumns: columnIDs.length };\n}\n\ninterface UnitGroup {\n b_age: number;\n t_age: number;\n strat_name_id: number;\n strat_name_long: string;\n units: (UnitLong | null)[];\n}\n\nexport interface UnitGroupBox extends UnitGroup {\n units: UnitLong[];\n startCol: number;\n endCol: number;\n}\n\ninterface ColumnExt {\n columnID: number;\n units: UnitLong[];\n}\n\ninterface MultiColumnPackageData {\n columnData: ColumnExt[];\n bestPixelScale?: number;\n b_age: number;\n t_age: number;\n}\n\nexport function findLaterallyExtensiveUnits(\n pkg: MultiColumnPackageData,\n): UnitGroup[] {\n const { columnData, b_age, t_age } = pkg;\n // Group units by strat_name_id\n const unitIndex = new Map<number, Map<number, UnitLong>>();\n for (const column of columnData) {\n const { units } = column;\n for (const unit of units) {\n if (unit.strat_name_id == null) continue;\n if (!unitIndex.has(unit.strat_name_id)) {\n unitIndex.set(unit.strat_name_id, new Map());\n }\n unitIndex.get(unit.strat_name_id).set(column.columnID, unit);\n }\n }\n\n // Prepare grouped units for rendering\n const unitGroups: UnitGroup[] = [];\n for (const [strat_name_id, unitIndex0] of unitIndex) {\n const units = columnData.map((d) => unitIndex0.get(d.columnID) ?? null);\n const filteredUnits = units.filter((d) => d != null);\n const [t_age, b_age] = mergeAgeRanges(\n filteredUnits.map((d) => [d.t_age, d.b_age]),\n );\n if (filteredUnits.length <= 1) continue;\n\n unitGroups.push({\n b_age,\n t_age,\n strat_name_id,\n strat_name_long: filteredUnits[0].strat_name_long,\n units,\n });\n }\n\n return unitGroups;\n}\n\nexport function splitStratIntoBoxes(pkg: UnitGroup): UnitGroupBox[] {\n const { strat_name_long, strat_name_id, units } = pkg;\n const boxes: UnitGroupBox[] = [];\n let currentBox: UnitGroupBox = null;\n for (let i = 0; i < units.length; i++) {\n const unit = units[i];\n if (unit == null) {\n if (currentBox != null) {\n boxes.push(currentBox);\n currentBox = null;\n }\n continue;\n }\n if (currentBox == null) {\n currentBox = {\n startCol: i,\n endCol: i,\n strat_name_id,\n strat_name_long,\n t_age: unit.t_age,\n b_age: unit.b_age,\n units: [],\n };\n } else {\n currentBox.endCol = i;\n }\n currentBox.units.push(unit);\n }\n return boxes;\n}\n\nfunction separateColumns(\n pkg: PackageLayoutData,\n columnIDs: number[],\n): MultiColumnPackageData {\n /** Separate columns by col_id */\n const { units, t_age, b_age } = pkg;\n\n return {\n columnData: columnIDs.map((d) => {\n const u1 = units.filter((unit) => unit.col_id == d);\n u1.sort((a, b) => a.t_age - b.t_age);\n return {\n columnID: d,\n // Ensure that the units correctly show overlap\n units: preprocessUnits(\n {\n ...pkg,\n units: u1,\n },\n ColumnAxisType.AGE,\n ),\n };\n }),\n bestPixelScale: pkg.scaleInfo.pixelScale,\n t_age,\n b_age,\n };\n}\n\nexport function columnGeoJSONRecordToColumnIdentifier(\n col: ColumnGeoJSONRecord,\n): ColumnIdentifier {\n return {\n col_id: col.properties.col_id,\n col_name: col.properties.col_name,\n project_id: col.properties.project_id,\n };\n}\n"],"names":["ColumnAxisType","$kr6st$ColumnAxisType","mergeAgeRanges","$kr6st$mergeAgeRanges","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$610tc","$1f14b283fe089e83$export$7f21dc14b8199dc0","columns","settings","console","log","mergeSections","MergeSectionsMode","OVERLAPPING","targetUnitHeight","rest","opts","axisType","AGE","length","_units","map","d","units","flat","columnIDs","columnID","sections","totalHeight","prepareColumnUnits","scaleInfo","packages","$1f14b283fe089e83$var$separateColumns","pkg","t_age","b_age","columnData","u1","filter","unit","col_id","sort","a","b","preprocessUnits","bestPixelScale","pixelScale","nColumns","$1f14b283fe089e83$export$cc5d9b95e199a6de","unitIndex","Map","column","strat_name_id","has","set","get","unitGroups","unitIndex0","filteredUnits","push","strat_name_long","$1f14b283fe089e83$export$3e71a3125322d04b","boxes","currentBox","i","startCol","endCol","$1f14b283fe089e83$export$63b33da9b6dd754c","col","properties","col_name","project_id","buildCorrelationChartData","findLaterallyExtensiveUnits","splitStratIntoBoxes","columnGeoJSONRecordToColumnIdentifier"],"version":3,"file":"column-views.eecdc727.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"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","sources":["<anon>","packages/column-views/src/correlation-chart/prepare-data.ts"],"sourcesContent":["import \"./column-views.dbb4a46b.js\";\nimport \"./column-views.d22bf15c.js\";\nimport {ColumnAxisType as $kr6st$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {mergeAgeRanges as $kr6st$mergeAgeRanges} from \"@macrostrat/stratigraphy-utils\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\nvar $610tc = parcelRequire(\"610tc\");\n\nfunction $1f14b283fe089e83$export$7f21dc14b8199dc0(columns, settings) {\n console.log(settings);\n const { mergeSections: mergeSections = (0, $iWhRv.MergeSectionsMode).OVERLAPPING, targetUnitHeight: targetUnitHeight, ...rest } = settings;\n const opts = {\n axisType: (0, $kr6st$ColumnAxisType).AGE,\n targetUnitHeight: targetUnitHeight,\n mergeSections: mergeSections,\n ...rest\n };\n if (columns.length == 0) return null;\n // Flatten the units array to pretend that all units are in the same column\n const _units = columns.map((d)=>d.units).flat();\n const columnIDs = columns.map((d)=>d.columnID);\n const preparedUnits = (0, $610tc.prepareColumnUnits)(_units, opts);\n const { sections: sections, totalHeight: totalHeight } = preparedUnits;\n const scaleInfo = {\n axisType: (0, $kr6st$ColumnAxisType).AGE,\n totalHeight: totalHeight,\n packages: sections.map((d)=>d.scaleInfo)\n };\n const packages = sections.map((d)=>{\n return $1f14b283fe089e83$var$separateColumns(d, columnIDs);\n });\n return {\n scaleInfo: scaleInfo,\n packages: packages,\n nColumns: columnIDs.length\n };\n}\nfunction $1f14b283fe089e83$export$cc5d9b95e199a6de(pkg) {\n const { columnData: columnData, b_age: b_age, t_age: t_age } = pkg;\n // Group units by strat_name_id\n const unitIndex = new Map();\n for (const column of columnData){\n const { units: units } = column;\n for (const unit of units){\n if (unit.strat_name_id == null) continue;\n if (!unitIndex.has(unit.strat_name_id)) unitIndex.set(unit.strat_name_id, new Map());\n unitIndex.get(unit.strat_name_id).set(column.columnID, unit);\n }\n }\n // Prepare grouped units for rendering\n const unitGroups = [];\n for (const [strat_name_id, unitIndex0] of unitIndex){\n const units = columnData.map((d)=>unitIndex0.get(d.columnID) ?? null);\n const filteredUnits = units.filter((d)=>d != null);\n const [t_age, b_age] = (0, $kr6st$mergeAgeRanges)(filteredUnits.map((d)=>[\n d.t_age,\n d.b_age\n ]));\n if (filteredUnits.length <= 1) continue;\n unitGroups.push({\n b_age: b_age,\n t_age: t_age,\n strat_name_id: strat_name_id,\n strat_name_long: filteredUnits[0].strat_name_long,\n units: units\n });\n }\n return unitGroups;\n}\nfunction $1f14b283fe089e83$export$3e71a3125322d04b(pkg) {\n const { strat_name_long: strat_name_long, strat_name_id: strat_name_id, units: units } = pkg;\n const boxes = [];\n let currentBox = null;\n for(let i = 0; i < units.length; i++){\n const unit = units[i];\n if (unit == null) {\n if (currentBox != null) {\n boxes.push(currentBox);\n currentBox = null;\n }\n continue;\n }\n if (currentBox == null) currentBox = {\n startCol: i,\n endCol: i,\n strat_name_id: strat_name_id,\n strat_name_long: strat_name_long,\n t_age: unit.t_age,\n b_age: unit.b_age,\n units: []\n };\n else currentBox.endCol = i;\n currentBox.units.push(unit);\n }\n return boxes;\n}\nfunction $1f14b283fe089e83$var$separateColumns(pkg, columnIDs) {\n /** Separate columns by col_id */ const { units: units, t_age: t_age, b_age: b_age } = pkg;\n return {\n columnData: columnIDs.map((d)=>{\n const u1 = units.filter((unit)=>unit.col_id == d);\n u1.sort((a, b)=>a.t_age - b.t_age);\n return {\n columnID: d,\n // Ensure that the units correctly show overlap\n units: (0, $610tc.preprocessUnits)({\n ...pkg,\n units: u1\n }, (0, $kr6st$ColumnAxisType).AGE)\n };\n }),\n bestPixelScale: pkg.scaleInfo.pixelScale,\n t_age: t_age,\n b_age: b_age\n };\n}\nfunction $1f14b283fe089e83$export$63b33da9b6dd754c(col) {\n return {\n col_id: col.properties.col_id,\n col_name: col.properties.col_name,\n project_id: col.properties.project_id\n };\n}\n\n\nexport {$1f14b283fe089e83$export$7f21dc14b8199dc0 as buildCorrelationChartData, $1f14b283fe089e83$export$cc5d9b95e199a6de as findLaterallyExtensiveUnits, $1f14b283fe089e83$export$3e71a3125322d04b as splitStratIntoBoxes, $1f14b283fe089e83$export$63b33da9b6dd754c as columnGeoJSONRecordToColumnIdentifier};\n//# sourceMappingURL=column-views.0d254fd3.js.map\n","import { CompositeStratigraphicScaleInfo } from \"../age-axis\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { type ColumnGeoJSONRecord, UnitLong } from \"@macrostrat/api-types\";\nimport {\n MergeSectionsMode,\n PrepareColumnOptions,\n prepareColumnUnits,\n preprocessUnits,\n} from \"../prepare-units\";\nimport { mergeAgeRanges } from \"@macrostrat/stratigraphy-utils\";\nimport { PackageLayoutData } from \"../prepare-units/types\";\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\ninterface ColumnData {\n columnID: number;\n units: UnitLong[];\n}\n\nexport interface CorrelationChartSettings extends Omit<\n PrepareColumnOptions,\n \"axisType\"\n> {\n targetUnitHeight?: number;\n}\n\nexport interface CorrelationChartData {\n packages: MultiColumnPackageData[];\n scaleInfo: CompositeStratigraphicScaleInfo;\n nColumns: number;\n}\n\nexport interface ColumnIdentifier {\n col_id: number;\n col_name: string;\n project_id: number;\n}\n\nexport function buildCorrelationChartData(\n columns: ColumnData[],\n settings: CorrelationChartSettings,\n): CorrelationChartData {\n console.log(settings);\n const {\n mergeSections = MergeSectionsMode.OVERLAPPING,\n targetUnitHeight,\n ...rest\n } = settings;\n\n const opts: PrepareColumnOptions = {\n axisType: ColumnAxisType.AGE,\n targetUnitHeight,\n mergeSections,\n ...rest,\n };\n\n if (columns.length == 0) {\n return null;\n }\n\n // Flatten the units array to pretend that all units are in the same column\n const _units = columns.map((d) => d.units).flat();\n\n const columnIDs = columns.map((d) => d.columnID);\n\n const preparedUnits = prepareColumnUnits(_units, opts);\n\n const { sections, totalHeight } = preparedUnits;\n\n const scaleInfo: CompositeStratigraphicScaleInfo = {\n axisType: ColumnAxisType.AGE,\n totalHeight,\n packages: sections.map((d) => d.scaleInfo),\n };\n\n const packages = sections.map((d) => {\n return separateColumns(d, columnIDs);\n });\n\n return { scaleInfo, packages, nColumns: columnIDs.length };\n}\n\ninterface UnitGroup {\n b_age: number;\n t_age: number;\n strat_name_id: number;\n strat_name_long: string;\n units: (UnitLong | null)[];\n}\n\nexport interface UnitGroupBox extends UnitGroup {\n units: UnitLong[];\n startCol: number;\n endCol: number;\n}\n\ninterface ColumnExt {\n columnID: number;\n units: UnitLong[];\n}\n\ninterface MultiColumnPackageData {\n columnData: ColumnExt[];\n bestPixelScale?: number;\n b_age: number;\n t_age: number;\n}\n\nexport function findLaterallyExtensiveUnits(\n pkg: MultiColumnPackageData,\n): UnitGroup[] {\n const { columnData, b_age, t_age } = pkg;\n // Group units by strat_name_id\n const unitIndex = new Map<number, Map<number, UnitLong>>();\n for (const column of columnData) {\n const { units } = column;\n for (const unit of units) {\n if (unit.strat_name_id == null) continue;\n if (!unitIndex.has(unit.strat_name_id)) {\n unitIndex.set(unit.strat_name_id, new Map());\n }\n unitIndex.get(unit.strat_name_id).set(column.columnID, unit);\n }\n }\n\n // Prepare grouped units for rendering\n const unitGroups: UnitGroup[] = [];\n for (const [strat_name_id, unitIndex0] of unitIndex) {\n const units = columnData.map((d) => unitIndex0.get(d.columnID) ?? null);\n const filteredUnits = units.filter((d) => d != null);\n const [t_age, b_age] = mergeAgeRanges(\n filteredUnits.map((d) => [d.t_age, d.b_age]),\n );\n if (filteredUnits.length <= 1) continue;\n\n unitGroups.push({\n b_age,\n t_age,\n strat_name_id,\n strat_name_long: filteredUnits[0].strat_name_long,\n units,\n });\n }\n\n return unitGroups;\n}\n\nexport function splitStratIntoBoxes(pkg: UnitGroup): UnitGroupBox[] {\n const { strat_name_long, strat_name_id, units } = pkg;\n const boxes: UnitGroupBox[] = [];\n let currentBox: UnitGroupBox = null;\n for (let i = 0; i < units.length; i++) {\n const unit = units[i];\n if (unit == null) {\n if (currentBox != null) {\n boxes.push(currentBox);\n currentBox = null;\n }\n continue;\n }\n if (currentBox == null) {\n currentBox = {\n startCol: i,\n endCol: i,\n strat_name_id,\n strat_name_long,\n t_age: unit.t_age,\n b_age: unit.b_age,\n units: [],\n };\n } else {\n currentBox.endCol = i;\n }\n currentBox.units.push(unit);\n }\n return boxes;\n}\n\nfunction separateColumns(\n pkg: PackageLayoutData,\n columnIDs: number[],\n): MultiColumnPackageData {\n /** Separate columns by col_id */\n const { units, t_age, b_age } = pkg;\n\n return {\n columnData: columnIDs.map((d) => {\n const u1 = units.filter((unit) => unit.col_id == d);\n u1.sort((a, b) => a.t_age - b.t_age);\n return {\n columnID: d,\n // Ensure that the units correctly show overlap\n units: preprocessUnits(\n {\n ...pkg,\n units: u1,\n },\n ColumnAxisType.AGE,\n ),\n };\n }),\n bestPixelScale: pkg.scaleInfo.pixelScale,\n t_age,\n b_age,\n };\n}\n\nexport function columnGeoJSONRecordToColumnIdentifier(\n col: ColumnGeoJSONRecord,\n): ColumnIdentifier {\n return {\n col_id: col.properties.col_id,\n col_name: col.properties.col_name,\n project_id: col.properties.project_id,\n };\n}\n"],"names":["ColumnAxisType","$kr6st$ColumnAxisType","mergeAgeRanges","$kr6st$mergeAgeRanges","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$iWhRv","$610tc","$1f14b283fe089e83$export$7f21dc14b8199dc0","columns","settings","console","log","mergeSections","MergeSectionsMode","OVERLAPPING","targetUnitHeight","rest","opts","axisType","AGE","length","_units","map","d","units","flat","columnIDs","columnID","sections","totalHeight","prepareColumnUnits","scaleInfo","packages","$1f14b283fe089e83$var$separateColumns","pkg","t_age","b_age","columnData","u1","filter","unit","col_id","sort","a","b","preprocessUnits","bestPixelScale","pixelScale","nColumns","$1f14b283fe089e83$export$cc5d9b95e199a6de","unitIndex","Map","column","strat_name_id","has","set","get","unitGroups","unitIndex0","filteredUnits","push","strat_name_long","$1f14b283fe089e83$export$3e71a3125322d04b","boxes","currentBox","i","startCol","endCol","$1f14b283fe089e83$export$63b33da9b6dd754c","col","properties","col_name","project_id","buildCorrelationChartData","findLaterallyExtensiveUnits","splitStratIntoBoxes","columnGeoJSONRecordToColumnIdentifier"],"version":3,"file":"column-views.0d254fd3.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.012fa10c.js";import"./column-views.dbb4a46b.js";import"./column-views.003e0c17.js";import e from"@macrostrat/hyper";import{ColumnAxisType as t}from"@macrostrat/column-components";function n(e,t,n,i){Object.defineProperty(e,t,{get:n,set:i,enumerable:!0,configurable:!0})}var i=globalThis,o={},r={},a=i.parcelRequirea149;null==a&&((a=function(e){if(e in o)return o[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return o[e]=n,t.call(n.exports,n,n.exports),n.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){r[e]=t},i.parcelRequirea149=a),a.register;var h={};n(h,"standardizeMeasurementHeight",()=>m),n(h,"mergeHeightRanges",()=>g),n(h,"BaseMeasurementsColumn",()=>p),n(h,"TruncatedList",()=>c),n(h,"groupNotesByPixelDistance",()=>f);var l=a("ff1AM"),s=a("iWhRv"),u=a("6KYbn");let d=e.styled(l&&l.__esModule?l.default:l);function m(e,t,n){if("height"in e)return e;let i=t.find(t=>t.unit_id===e.unit_id);if(null==i)return null;if(null!=e.unit_rel_pos){let t=(0,s.getPositionWithinUnit)(e.unit_rel_pos,i,n);return null==t?null:{height:t}}{let[e,t]=(0,s.getUnitHeightRange)(i,n);return{height:e,top_height:t}}}function g(e,n){let i,o,r=[];for(let t of e)r.push(t.height),null!=t.top_height&&r.push(t.top_height);return(n===t.AGE||n===t.DEPTH?(i=Math.max(...r),o=Math.min(...r)):(i=Math.min(...r),o=Math.max(...r)),o===i)?{height:i}:{height:i,top_height:o}}function p({data:e,noteComponent:t,width:n=500,paddingLeft:i=40,className:o,deltaConnectorAttachment:r,focusedNoteComponent:a}){return null==e?null:d("div.measurements-column",{className:o},d(u.ColumnNotes,{width:n,paddingLeft:i,notes:e,noteComponent:t,deltaConnectorAttachment:r,focusedNoteComponent:a}))}function c({data:e,className:t,maxItems:n=5,itemRenderer:i=e=>d("span",e.data)}){let o=null,r=e;if(e.length>n){let t=e.length-n;r=e.slice(0,n),o=d("li.too-many",`and ${t} more`)}return d("ul.truncated-list",{className:t},[r.map((e,t)=>d("li.element",{key:t},d(i,{data:e}))),o])}function f(e,n,i,o){if(0===e.length||o<=0)return e;i===t.AGE||i===t.DEPTH?e.sort((e,t)=>t.height-e.height):e.sort((e,t)=>e.height-t.height);let r=[],a=null,h=1/0;for(let l of e)if(h-n(l.top_height??l.height)<=o){if(null==a)throw Error("Current group is null when it shouldn't be");a.data.push(...l.data);let e=l.top_height??l.height;i===t.AGE||i===t.DEPTH?a.top_height=Math.min(a.top_height,e):a.top_height=Math.max(a.top_height,e),a.id=`${a.height}-${a.top_height}`}else h=n((a={...l,data:[...l.data]}).height)??n(a.top_height)??1/0,r.push(a);return r}export{m as standardizeMeasurementHeight,g as mergeHeightRanges,p as BaseMeasurementsColumn,c as TruncatedList,f as groupNotesByPixelDistance};
2
- //# sourceMappingURL=column-views.54f7a243.js.map
1
+ import"./column-views.012fa10c.js";import"./column-views.dbb4a46b.js";import"./column-views.e0e20136.js";import e from"@macrostrat/hyper";import{ColumnAxisType as t}from"@macrostrat/column-components";function n(e,t,n,i){Object.defineProperty(e,t,{get:n,set:i,enumerable:!0,configurable:!0})}var i=globalThis,o={},r={},a=i.parcelRequirea149;null==a&&((a=function(e){if(e in o)return o[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return o[e]=n,t.call(n.exports,n,n.exports),n.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){r[e]=t},i.parcelRequirea149=a),a.register;var h={};n(h,"standardizeMeasurementHeight",()=>m),n(h,"mergeHeightRanges",()=>g),n(h,"BaseMeasurementsColumn",()=>p),n(h,"TruncatedList",()=>c),n(h,"groupNotesByPixelDistance",()=>f);var l=a("ff1AM"),s=a("iWhRv"),u=a("6KYbn");let d=e.styled(l&&l.__esModule?l.default:l);function m(e,t,n){if("height"in e)return e;let i=t.find(t=>t.unit_id===e.unit_id);if(null==i)return null;if(null!=e.unit_rel_pos){let t=(0,s.getPositionWithinUnit)(e.unit_rel_pos,i,n);return null==t?null:{height:t}}{let[e,t]=(0,s.getUnitHeightRange)(i,n);return{height:e,top_height:t}}}function g(e,n){let i,o,r=[];for(let t of e)r.push(t.height),null!=t.top_height&&r.push(t.top_height);return(n===t.AGE||n===t.DEPTH?(i=Math.max(...r),o=Math.min(...r)):(i=Math.min(...r),o=Math.max(...r)),o===i)?{height:i}:{height:i,top_height:o}}function p({data:e,noteComponent:t,width:n=500,paddingLeft:i=40,className:o,deltaConnectorAttachment:r,focusedNoteComponent:a}){return null==e?null:d("div.measurements-column",{className:o},d(u.ColumnNotes,{width:n,paddingLeft:i,notes:e,noteComponent:t,deltaConnectorAttachment:r,focusedNoteComponent:a}))}function c({data:e,className:t,maxItems:n=5,itemRenderer:i=e=>d("span",e.data)}){let o=null,r=e;if(e.length>n){let t=e.length-n;r=e.slice(0,n),o=d("li.too-many",`and ${t} more`)}return d("ul.truncated-list",{className:t},[r.map((e,t)=>d("li.element",{key:t},d(i,{data:e}))),o])}function f(e,n,i,o){if(0===e.length||o<=0)return e;i===t.AGE||i===t.DEPTH?e.sort((e,t)=>t.height-e.height):e.sort((e,t)=>e.height-t.height);let r=[],a=null,h=1/0;for(let l of e)if(h-n(l.top_height??l.height)<=o){if(null==a)throw Error("Current group is null when it shouldn't be");a.data.push(...l.data);let e=l.top_height??l.height;i===t.AGE||i===t.DEPTH?a.top_height=Math.min(a.top_height,e):a.top_height=Math.max(a.top_height,e),a.id=`${a.height}-${a.top_height}`}else h=n((a={...l,data:[...l.data]}).height)??n(a.top_height)??1/0,r.push(a);return r}export{m as standardizeMeasurementHeight,g as mergeHeightRanges,p as BaseMeasurementsColumn,c as TruncatedList,f as groupNotesByPixelDistance};
2
+ //# sourceMappingURL=column-views.109cb0c8.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,C,K,+B,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,+B,I,G,E,E,oB,I,G,E,E,yB,I,G,E,E,gB,I,G,E,E,4B,I,G,I,E,E,S,E,E,S,E,E,SCUA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAkChB,SAAS,EACd,CAAmC,CACnC,CAAiB,CACjB,CAAwB,EAKxB,GAAI,WAAY,EACd,OAAO,EAET,IAAM,EAAO,EAAM,IAAI,CAAC,AAAC,GAAM,EAAE,OAAO,GAAK,EAAI,OAAO,EACxD,GAAI,AAAQ,MAAR,EACF,OAAO,KAET,GAAI,AAAoB,MAApB,EAAI,YAAY,CAAU,CAC5B,IAAM,EAAM,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,EAAI,YAAY,CAAE,EAAM,UAC1D,AAAI,AAAO,MAAP,EAAoB,KACjB,CAAE,OAAQ,CAAI,CACvB,CAAO,CACL,GAAM,CAAC,EAAQ,EAAW,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,GACtD,MAAO,CAAE,OAAA,EAAQ,WAAA,CAAW,CAC9B,CACF,CAEO,SAAS,EACd,CAA6B,CAC7B,CAAwB,EAGxB,IASI,EACA,EAVE,EAAU,EAAE,CAElB,IAAK,IAAM,KAAK,EACd,EAAQ,IAAI,CAAC,EAAE,MAAM,EACjB,AAAgB,MAAhB,EAAE,UAAU,EACd,EAAQ,IAAI,CAAC,EAAE,UAAU,QAc7B,CARI,IAAa,AAAA,EAAe,GAAG,EAAI,IAAa,AAAA,EAAe,KAAK,EACtE,EAAS,KAAK,GAAG,IAAI,GACrB,EAAa,KAAK,GAAG,IAAI,KAEzB,EAAS,KAAK,GAAG,IAAI,GACrB,EAAa,KAAK,GAAG,IAAI,IAGvB,IAAe,GACV,CAAE,OAAA,CAAO,EAEX,CAAE,OAAA,EAAQ,WAAA,CAAW,CAC9B,CAOO,SAAS,EAAuB,CAAA,KACrC,CAAI,CAAA,cACJ,CAAa,CAAA,MACb,EAAQ,GAAA,CAAA,YACR,EAAc,EAAA,CAAA,UACd,CAAS,CAAA,yBACT,CAAwB,CAAA,qBACxB,CAAoB,CACa,SACjC,AAAI,AAAQ,MAAR,EAAqB,KAElB,EACL,0BACA,CAAE,UAAA,CAAU,EACZ,EAAE,EAAA,WAAU,CAAG,CACb,MAAA,EACA,YAAA,EACA,MAAO,EACP,cAAA,EACA,yBAAA,EACA,qBAAA,CACF,GAEJ,CASO,SAAS,EAAc,CAAA,KAC5B,CAAI,CAAA,UACJ,CAAS,CAAA,SACT,EAAW,CAAA,CAAA,aACX,EAAe,AAAC,GAAM,EAAE,OAAQ,EAAE,IAAI,CAAA,CACnB,EACnB,IAAI,EAAU,KACV,EAAK,EACT,GAAI,EAAK,MAAM,CAAG,EAAU,CAC1B,IAAM,EAAI,EAAK,MAAM,CAAG,EACxB,EAAK,EAAK,KAAK,CAAC,EAAG,GACnB,EAAU,EAAE,cAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAC5C,CAEA,OAAO,EAAE,oBAAqB,CAAE,UAAA,CAAU,EAAG,CAC3C,EAAG,GAAG,CAAC,CAAC,EAAG,IACF,EAAE,aAAc,CAAE,IAAK,CAAE,EAAG,EAAE,EAAc,CAAE,KAAM,CAAE,KAE/D,EACD,CACH,CAEO,SAAS,EACd,CAAkC,CAClC,CAA2B,CAC3B,CAAwB,CACxB,CAAqB,EAKrB,GAAI,AAAgB,IAAhB,EAAK,MAAM,EAAU,GAAiB,EAAG,OAAO,CAChD,CAAA,IAAa,AAAA,EAAe,GAAG,EAAI,IAAa,AAAA,EAAe,KAAK,CACtE,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,MAAM,CAAG,EAAE,MAAM,EAGvC,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,MAAM,CAAG,EAAE,MAAM,EAGzC,IAAM,EAA4C,EAAE,CAChD,EAAkD,KAClD,EAA+B,IAEnC,IAAK,IAAM,KAAK,EASd,GAAI,AAFa,EAAuB,EAAM,EAAE,UAAU,EAAI,EAAE,MAAM,GAEtD,EAAe,CAC7B,GAAI,AAAgB,MAAhB,EACF,MAAM,AAAI,MAAM,8CAGlB,EAAa,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAEhC,IAAM,EAAa,EAAE,UAAU,EAAI,EAAE,MAAM,AAEzC,CAAA,IAAa,AAAA,EAAe,GAAG,EAC/B,IAAa,AAAA,EAAe,KAAK,CAGjC,EAAa,UAAU,CAAG,KAAK,GAAG,CAAC,EAAa,UAAU,CAAE,GAE5D,EAAa,UAAU,CAAG,KAAK,GAAG,CAAC,EAAa,UAAU,CAAE,GAE9D,EAAa,EAAE,CAAG,CAAA,EAAG,EAAa,MAAM,CAAC,CAAC,EAAE,EAAa,UAAU,CAAA,CAAE,AACvE,MAGE,EACE,EAAM,AAFR,CAAA,EAAe,CAAE,GAAG,CAAC,CAAE,KAAM,IAAI,EAAE,IAAI,CAAC,AAAC,CAAA,EAEpB,MAAM,GACzB,EAAM,EAAa,UAAU,GAC7B,IACF,EAAY,IAAI,CAAC,GAIrB,OAAO,CACT,Q,K,4B,C,K,iB,C,K,sB,C,K,a,C,K,yB","sources":["<anon>","packages/column-views/src/facets/measurements/base.ts"],"sourcesContent":["import \"./column-views.012fa10c.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.003e0c17.js\";\nimport $7Z3it$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnAxisType as $7Z3it$ColumnAxisType} from \"@macrostrat/column-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 $7e05644cbb5d2dbb$exports = {};\n\n$parcel$export($7e05644cbb5d2dbb$exports, \"standardizeMeasurementHeight\", () => $7e05644cbb5d2dbb$export$9d101e1fcb2166a6);\n$parcel$export($7e05644cbb5d2dbb$exports, \"mergeHeightRanges\", () => $7e05644cbb5d2dbb$export$8f2afa8ddee7317e);\n$parcel$export($7e05644cbb5d2dbb$exports, \"BaseMeasurementsColumn\", () => $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d);\n$parcel$export($7e05644cbb5d2dbb$exports, \"TruncatedList\", () => $7e05644cbb5d2dbb$export$653e47a7a0da0f0d);\n$parcel$export($7e05644cbb5d2dbb$exports, \"groupNotesByPixelDistance\", () => $7e05644cbb5d2dbb$export$4e649f790614b299);\n\n\nvar $ff1AM = parcelRequire(\"ff1AM\");\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $6KYbn = parcelRequire(\"6KYbn\");\n\nconst $7e05644cbb5d2dbb$var$h = (0, $7Z3it$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($ff1AM))));\nfunction $7e05644cbb5d2dbb$export$9d101e1fcb2166a6(pos, units, axisType) {\n /** Get a standardized height representation from position information for\n * a measurement\n */ if (\"height\" in pos) return pos;\n const unit = units.find((u)=>u.unit_id === pos.unit_id);\n if (unit == null) return null;\n if (pos.unit_rel_pos != null) {\n const res = (0, $iWhRv.getPositionWithinUnit)(pos.unit_rel_pos, unit, axisType);\n if (res == null) return null;\n return {\n height: res\n };\n } else {\n const [height, top_height] = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n return {\n height: height,\n top_height: top_height\n };\n }\n}\nfunction $7e05644cbb5d2dbb$export$8f2afa8ddee7317e(data, axisType) {\n /** Merge multiple height ranges into a single range */ const heights = [];\n for (const d of data){\n heights.push(d.height);\n if (d.top_height != null) heights.push(d.top_height);\n }\n let height;\n let top_height;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) {\n height = Math.max(...heights);\n top_height = Math.min(...heights);\n } else {\n height = Math.min(...heights);\n top_height = Math.max(...heights);\n }\n if (top_height === height) return {\n height: height\n };\n return {\n height: height,\n top_height: top_height\n };\n}\nfunction $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d({ data: data, noteComponent: noteComponent, width: width = 500, paddingLeft: paddingLeft = 40, className: className, deltaConnectorAttachment: deltaConnectorAttachment, focusedNoteComponent: focusedNoteComponent }) {\n if (data == null) return null;\n return $7e05644cbb5d2dbb$var$h(\"div.measurements-column\", {\n className: className\n }, $7e05644cbb5d2dbb$var$h((0, $6KYbn.ColumnNotes), {\n width: width,\n paddingLeft: paddingLeft,\n notes: data,\n noteComponent: noteComponent,\n deltaConnectorAttachment: deltaConnectorAttachment,\n focusedNoteComponent: focusedNoteComponent\n }));\n}\nfunction $7e05644cbb5d2dbb$export$653e47a7a0da0f0d({ data: data, className: className, maxItems: maxItems = 5, itemRenderer: itemRenderer = (p)=>$7e05644cbb5d2dbb$var$h(\"span\", p.data) }) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = $7e05644cbb5d2dbb$var$h(\"li.too-many\", `and ${n} more`);\n }\n return $7e05644cbb5d2dbb$var$h(\"ul.truncated-list\", {\n className: className\n }, [\n d1.map((d, i)=>{\n return $7e05644cbb5d2dbb$var$h(\"li.element\", {\n key: i\n }, $7e05644cbb5d2dbb$var$h(itemRenderer, {\n data: d\n }));\n }),\n tooMany\n ]);\n}\nfunction $7e05644cbb5d2dbb$export$4e649f790614b299(data, scale, axisType, groupDistance) {\n /** Group notes that are within a certain pixel distance of each other\n * in display space\n */ if (data.length === 0 || groupDistance <= 0) return data;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) data.sort((a, b)=>b.height - a.height);\n else // Sort data by height (ascending up the column)\n data.sort((a, b)=>a.height - b.height);\n const groupedData = [];\n let currentGroup = null;\n let currentGroupPosition = Infinity;\n for (const d of data){\n // Check distance from current max position\n // Pixels go up as we go down in the section\n // The _top_ of the next group must be within groupDistance of the\n // _bottom_ of the current group. This makes sure that we don't collapse\n // groups that are separated by a large distance\n const distance = currentGroupPosition - scale(d.top_height ?? d.height);\n if (distance <= groupDistance) {\n if (currentGroup == null) throw new Error(\"Current group is null when it shouldn't be\");\n // Merge into current group\n currentGroup.data.push(...d.data);\n // Update height range\n const top_height = d.top_height ?? d.height;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) // Inverted axis\n currentGroup.top_height = Math.min(currentGroup.top_height, top_height);\n else currentGroup.top_height = Math.max(currentGroup.top_height, top_height);\n currentGroup.id = `${currentGroup.height}-${currentGroup.top_height}`;\n } else {\n // Start a new group\n currentGroup = {\n ...d,\n data: [\n ...d.data\n ]\n };\n currentGroupPosition = scale(currentGroup.height) ?? scale(currentGroup.top_height) ?? Infinity;\n groupedData.push(currentGroup);\n }\n }\n return groupedData;\n}\n\n\nexport {$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight, $7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges, $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList, $7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance};\n//# sourceMappingURL=column-views.54f7a243.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport styles from \"./base.module.sass\";\nimport {\n type CompositeColumnScale,\n getPositionWithinUnit,\n getUnitHeightRange,\n} from \"../../prepare-units\";\nimport { ColumnNotes } from \"../../notes\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nconst h = hyper.styled(styles);\n\ntype GetHeightRangeFn<T> = (\n data: T,\n unit: UnitLong | null,\n axisType: ColumnAxisType,\n) => MeasurementHeightData;\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n isMatchingUnit?: (d: T, unit: UnitLong) => boolean;\n getHeightRange?: GetHeightRangeFn<T>;\n deltaConnectorAttachment?: number;\n focusedNoteComponent?: any;\n}\n\nexport interface ColumnMeasurementData<T = any> extends MeasurementHeightData {\n data: T;\n id: string | number;\n}\n\ntype MeasurementPositionInformation =\n | MeasurementHeightData\n | {\n unit_id: number;\n unit_rel_pos?: number;\n };\n\nexport function standardizeMeasurementHeight(\n pos: MeasurementPositionInformation,\n units: UnitLong[],\n axisType: ColumnAxisType,\n): MeasurementHeightData | null {\n /** Get a standardized height representation from position information for\n * a measurement\n */\n if (\"height\" in pos) {\n return pos;\n }\n const unit = units.find((u) => u.unit_id === pos.unit_id);\n if (unit == null) {\n return null;\n }\n if (pos.unit_rel_pos != null) {\n const res = getPositionWithinUnit(pos.unit_rel_pos, unit, axisType);\n if (res == null) return null;\n return { height: res };\n } else {\n const [height, top_height] = getUnitHeightRange(unit, axisType);\n return { height, top_height };\n }\n}\n\nexport function mergeHeightRanges(\n data: MeasurementHeightData[],\n axisType: ColumnAxisType,\n): MeasurementHeightData {\n /** Merge multiple height ranges into a single range */\n const heights = [];\n\n for (const d of data) {\n heights.push(d.height);\n if (d.top_height != null) {\n heights.push(d.top_height);\n }\n }\n\n let height: number;\n let top_height: number;\n if (axisType === ColumnAxisType.AGE || axisType === ColumnAxisType.DEPTH) {\n height = Math.max(...heights);\n top_height = Math.min(...heights);\n } else {\n height = Math.min(...heights);\n top_height = Math.max(...heights);\n }\n\n if (top_height === height) {\n return { height };\n }\n return { height, top_height };\n}\n\nexport type MeasurementHeightData = {\n height: number;\n top_height?: number | null;\n};\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n deltaConnectorAttachment,\n focusedNoteComponent,\n}: BaseMeasurementsColumnProps<any>) {\n if (data == null) return null;\n\n return h(\n \"div.measurements-column\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes: data,\n noteComponent,\n deltaConnectorAttachment,\n focusedNoteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n\nexport function groupNotesByPixelDistance<T = any>(\n data: ColumnMeasurementData<T[]>[],\n scale: CompositeColumnScale,\n axisType: ColumnAxisType,\n groupDistance: number,\n) {\n /** Group notes that are within a certain pixel distance of each other\n * in display space\n */\n if (data.length === 0 || groupDistance <= 0) return data;\n if (axisType === ColumnAxisType.AGE || axisType === ColumnAxisType.DEPTH) {\n data.sort((a, b) => b.height - a.height);\n } else {\n // Sort data by height (ascending up the column)\n data.sort((a, b) => a.height - b.height);\n }\n\n const groupedData: ColumnMeasurementData<T[]>[] = [];\n let currentGroup: ColumnMeasurementData<T[]> | null = null;\n let currentGroupPosition: number = Infinity;\n\n for (const d of data) {\n // Check distance from current max position\n // Pixels go up as we go down in the section\n\n // The _top_ of the next group must be within groupDistance of the\n // _bottom_ of the current group. This makes sure that we don't collapse\n // groups that are separated by a large distance\n const distance = currentGroupPosition - scale(d.top_height ?? d.height);\n\n if (distance <= groupDistance) {\n if (currentGroup == null) {\n throw new Error(\"Current group is null when it shouldn't be\");\n }\n // Merge into current group\n currentGroup.data.push(...d.data);\n // Update height range\n const top_height = d.top_height ?? d.height;\n if (\n axisType === ColumnAxisType.AGE ||\n axisType === ColumnAxisType.DEPTH\n ) {\n // Inverted axis\n currentGroup.top_height = Math.min(currentGroup.top_height, top_height);\n } else {\n currentGroup.top_height = Math.max(currentGroup.top_height, top_height);\n }\n currentGroup.id = `${currentGroup.height}-${currentGroup.top_height}`;\n } else {\n // Start a new group\n currentGroup = { ...d, data: [...d.data] };\n currentGroupPosition =\n scale(currentGroup.height) ??\n scale(currentGroup.top_height) ??\n Infinity;\n groupedData.push(currentGroup);\n }\n }\n\n return groupedData;\n}\n"],"names":["$7Z3it$macrostrathyper","ColumnAxisType","$7Z3it$ColumnAxisType","$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","$7e05644cbb5d2dbb$exports","$7e05644cbb5d2dbb$export$9d101e1fcb2166a6","$7e05644cbb5d2dbb$export$8f2afa8ddee7317e","$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d","$7e05644cbb5d2dbb$export$653e47a7a0da0f0d","$7e05644cbb5d2dbb$export$4e649f790614b299","$ff1AM","$iWhRv","$6KYbn","$7e05644cbb5d2dbb$var$h","styled","a","__esModule","default","pos","units","axisType","unit","find","u","unit_id","unit_rel_pos","res","getPositionWithinUnit","height","top_height","getUnitHeightRange","data","heights","d","push","AGE","DEPTH","Math","max","min","noteComponent","width","paddingLeft","className","deltaConnectorAttachment","focusedNoteComponent","ColumnNotes","notes","maxItems","itemRenderer","p","tooMany","d1","length","slice","map","i","key","scale","groupDistance","sort","b","groupedData","currentGroup","currentGroupPosition","Infinity","distance","standardizeMeasurementHeight","mergeHeightRanges","BaseMeasurementsColumn","TruncatedList","groupNotesByPixelDistance"],"version":3,"file":"column-views.54f7a243.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,C,K,+B,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,+B,I,G,E,E,oB,I,G,E,E,yB,I,G,E,E,gB,I,G,E,E,4B,I,G,I,E,E,S,E,E,S,E,E,SCUA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAkChB,SAAS,EACd,CAAmC,CACnC,CAAiB,CACjB,CAAwB,EAKxB,GAAI,WAAY,EACd,OAAO,EAET,IAAM,EAAO,EAAM,IAAI,CAAC,AAAC,GAAM,EAAE,OAAO,GAAK,EAAI,OAAO,EACxD,GAAI,AAAQ,MAAR,EACF,OAAO,KAET,GAAI,AAAoB,MAApB,EAAI,YAAY,CAAU,CAC5B,IAAM,EAAM,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,EAAI,YAAY,CAAE,EAAM,UAC1D,AAAI,AAAO,MAAP,EAAoB,KACjB,CAAE,OAAQ,CAAI,CACvB,CAAO,CACL,GAAM,CAAC,EAAQ,EAAW,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,GACtD,MAAO,CAAE,OAAA,EAAQ,WAAA,CAAW,CAC9B,CACF,CAEO,SAAS,EACd,CAA6B,CAC7B,CAAwB,EAGxB,IASI,EACA,EAVE,EAAU,EAAE,CAElB,IAAK,IAAM,KAAK,EACd,EAAQ,IAAI,CAAC,EAAE,MAAM,EACjB,AAAgB,MAAhB,EAAE,UAAU,EACd,EAAQ,IAAI,CAAC,EAAE,UAAU,QAc7B,CARI,IAAa,AAAA,EAAe,GAAG,EAAI,IAAa,AAAA,EAAe,KAAK,EACtE,EAAS,KAAK,GAAG,IAAI,GACrB,EAAa,KAAK,GAAG,IAAI,KAEzB,EAAS,KAAK,GAAG,IAAI,GACrB,EAAa,KAAK,GAAG,IAAI,IAGvB,IAAe,GACV,CAAE,OAAA,CAAO,EAEX,CAAE,OAAA,EAAQ,WAAA,CAAW,CAC9B,CAOO,SAAS,EAAuB,CAAA,KACrC,CAAI,CAAA,cACJ,CAAa,CAAA,MACb,EAAQ,GAAA,CAAA,YACR,EAAc,EAAA,CAAA,UACd,CAAS,CAAA,yBACT,CAAwB,CAAA,qBACxB,CAAoB,CACa,SACjC,AAAI,AAAQ,MAAR,EAAqB,KAElB,EACL,0BACA,CAAE,UAAA,CAAU,EACZ,EAAE,EAAA,WAAU,CAAG,CACb,MAAA,EACA,YAAA,EACA,MAAO,EACP,cAAA,EACA,yBAAA,EACA,qBAAA,CACF,GAEJ,CASO,SAAS,EAAc,CAAA,KAC5B,CAAI,CAAA,UACJ,CAAS,CAAA,SACT,EAAW,CAAA,CAAA,aACX,EAAe,AAAC,GAAM,EAAE,OAAQ,EAAE,IAAI,CAAA,CACnB,EACnB,IAAI,EAAU,KACV,EAAK,EACT,GAAI,EAAK,MAAM,CAAG,EAAU,CAC1B,IAAM,EAAI,EAAK,MAAM,CAAG,EACxB,EAAK,EAAK,KAAK,CAAC,EAAG,GACnB,EAAU,EAAE,cAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAC5C,CAEA,OAAO,EAAE,oBAAqB,CAAE,UAAA,CAAU,EAAG,CAC3C,EAAG,GAAG,CAAC,CAAC,EAAG,IACF,EAAE,aAAc,CAAE,IAAK,CAAE,EAAG,EAAE,EAAc,CAAE,KAAM,CAAE,KAE/D,EACD,CACH,CAEO,SAAS,EACd,CAAkC,CAClC,CAA2B,CAC3B,CAAwB,CACxB,CAAqB,EAKrB,GAAI,AAAgB,IAAhB,EAAK,MAAM,EAAU,GAAiB,EAAG,OAAO,CAChD,CAAA,IAAa,AAAA,EAAe,GAAG,EAAI,IAAa,AAAA,EAAe,KAAK,CACtE,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,MAAM,CAAG,EAAE,MAAM,EAGvC,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,MAAM,CAAG,EAAE,MAAM,EAGzC,IAAM,EAA4C,EAAE,CAChD,EAAkD,KAClD,EAA+B,IAEnC,IAAK,IAAM,KAAK,EASd,GAAI,AAFa,EAAuB,EAAM,EAAE,UAAU,EAAI,EAAE,MAAM,GAEtD,EAAe,CAC7B,GAAI,AAAgB,MAAhB,EACF,MAAM,AAAI,MAAM,8CAGlB,EAAa,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAEhC,IAAM,EAAa,EAAE,UAAU,EAAI,EAAE,MAAM,AAEzC,CAAA,IAAa,AAAA,EAAe,GAAG,EAC/B,IAAa,AAAA,EAAe,KAAK,CAGjC,EAAa,UAAU,CAAG,KAAK,GAAG,CAAC,EAAa,UAAU,CAAE,GAE5D,EAAa,UAAU,CAAG,KAAK,GAAG,CAAC,EAAa,UAAU,CAAE,GAE9D,EAAa,EAAE,CAAG,CAAA,EAAG,EAAa,MAAM,CAAC,CAAC,EAAE,EAAa,UAAU,CAAA,CAAE,AACvE,MAGE,EACE,EAAM,AAFR,CAAA,EAAe,CAAE,GAAG,CAAC,CAAE,KAAM,IAAI,EAAE,IAAI,CAAC,AAAC,CAAA,EAEpB,MAAM,GACzB,EAAM,EAAa,UAAU,GAC7B,IACF,EAAY,IAAI,CAAC,GAIrB,OAAO,CACT,Q,K,4B,C,K,iB,C,K,sB,C,K,a,C,K,yB","sources":["<anon>","packages/column-views/src/facets/measurements/base.ts"],"sourcesContent":["import \"./column-views.012fa10c.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.e0e20136.js\";\nimport $7Z3it$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnAxisType as $7Z3it$ColumnAxisType} from \"@macrostrat/column-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 $7e05644cbb5d2dbb$exports = {};\n\n$parcel$export($7e05644cbb5d2dbb$exports, \"standardizeMeasurementHeight\", () => $7e05644cbb5d2dbb$export$9d101e1fcb2166a6);\n$parcel$export($7e05644cbb5d2dbb$exports, \"mergeHeightRanges\", () => $7e05644cbb5d2dbb$export$8f2afa8ddee7317e);\n$parcel$export($7e05644cbb5d2dbb$exports, \"BaseMeasurementsColumn\", () => $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d);\n$parcel$export($7e05644cbb5d2dbb$exports, \"TruncatedList\", () => $7e05644cbb5d2dbb$export$653e47a7a0da0f0d);\n$parcel$export($7e05644cbb5d2dbb$exports, \"groupNotesByPixelDistance\", () => $7e05644cbb5d2dbb$export$4e649f790614b299);\n\n\nvar $ff1AM = parcelRequire(\"ff1AM\");\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $6KYbn = parcelRequire(\"6KYbn\");\n\nconst $7e05644cbb5d2dbb$var$h = (0, $7Z3it$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($ff1AM))));\nfunction $7e05644cbb5d2dbb$export$9d101e1fcb2166a6(pos, units, axisType) {\n /** Get a standardized height representation from position information for\n * a measurement\n */ if (\"height\" in pos) return pos;\n const unit = units.find((u)=>u.unit_id === pos.unit_id);\n if (unit == null) return null;\n if (pos.unit_rel_pos != null) {\n const res = (0, $iWhRv.getPositionWithinUnit)(pos.unit_rel_pos, unit, axisType);\n if (res == null) return null;\n return {\n height: res\n };\n } else {\n const [height, top_height] = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n return {\n height: height,\n top_height: top_height\n };\n }\n}\nfunction $7e05644cbb5d2dbb$export$8f2afa8ddee7317e(data, axisType) {\n /** Merge multiple height ranges into a single range */ const heights = [];\n for (const d of data){\n heights.push(d.height);\n if (d.top_height != null) heights.push(d.top_height);\n }\n let height;\n let top_height;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) {\n height = Math.max(...heights);\n top_height = Math.min(...heights);\n } else {\n height = Math.min(...heights);\n top_height = Math.max(...heights);\n }\n if (top_height === height) return {\n height: height\n };\n return {\n height: height,\n top_height: top_height\n };\n}\nfunction $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d({ data: data, noteComponent: noteComponent, width: width = 500, paddingLeft: paddingLeft = 40, className: className, deltaConnectorAttachment: deltaConnectorAttachment, focusedNoteComponent: focusedNoteComponent }) {\n if (data == null) return null;\n return $7e05644cbb5d2dbb$var$h(\"div.measurements-column\", {\n className: className\n }, $7e05644cbb5d2dbb$var$h((0, $6KYbn.ColumnNotes), {\n width: width,\n paddingLeft: paddingLeft,\n notes: data,\n noteComponent: noteComponent,\n deltaConnectorAttachment: deltaConnectorAttachment,\n focusedNoteComponent: focusedNoteComponent\n }));\n}\nfunction $7e05644cbb5d2dbb$export$653e47a7a0da0f0d({ data: data, className: className, maxItems: maxItems = 5, itemRenderer: itemRenderer = (p)=>$7e05644cbb5d2dbb$var$h(\"span\", p.data) }) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = $7e05644cbb5d2dbb$var$h(\"li.too-many\", `and ${n} more`);\n }\n return $7e05644cbb5d2dbb$var$h(\"ul.truncated-list\", {\n className: className\n }, [\n d1.map((d, i)=>{\n return $7e05644cbb5d2dbb$var$h(\"li.element\", {\n key: i\n }, $7e05644cbb5d2dbb$var$h(itemRenderer, {\n data: d\n }));\n }),\n tooMany\n ]);\n}\nfunction $7e05644cbb5d2dbb$export$4e649f790614b299(data, scale, axisType, groupDistance) {\n /** Group notes that are within a certain pixel distance of each other\n * in display space\n */ if (data.length === 0 || groupDistance <= 0) return data;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) data.sort((a, b)=>b.height - a.height);\n else // Sort data by height (ascending up the column)\n data.sort((a, b)=>a.height - b.height);\n const groupedData = [];\n let currentGroup = null;\n let currentGroupPosition = Infinity;\n for (const d of data){\n // Check distance from current max position\n // Pixels go up as we go down in the section\n // The _top_ of the next group must be within groupDistance of the\n // _bottom_ of the current group. This makes sure that we don't collapse\n // groups that are separated by a large distance\n const distance = currentGroupPosition - scale(d.top_height ?? d.height);\n if (distance <= groupDistance) {\n if (currentGroup == null) throw new Error(\"Current group is null when it shouldn't be\");\n // Merge into current group\n currentGroup.data.push(...d.data);\n // Update height range\n const top_height = d.top_height ?? d.height;\n if (axisType === (0, $7Z3it$ColumnAxisType).AGE || axisType === (0, $7Z3it$ColumnAxisType).DEPTH) // Inverted axis\n currentGroup.top_height = Math.min(currentGroup.top_height, top_height);\n else currentGroup.top_height = Math.max(currentGroup.top_height, top_height);\n currentGroup.id = `${currentGroup.height}-${currentGroup.top_height}`;\n } else {\n // Start a new group\n currentGroup = {\n ...d,\n data: [\n ...d.data\n ]\n };\n currentGroupPosition = scale(currentGroup.height) ?? scale(currentGroup.top_height) ?? Infinity;\n groupedData.push(currentGroup);\n }\n }\n return groupedData;\n}\n\n\nexport {$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight, $7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges, $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList, $7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance};\n//# sourceMappingURL=column-views.109cb0c8.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport styles from \"./base.module.sass\";\nimport {\n type CompositeColumnScale,\n getPositionWithinUnit,\n getUnitHeightRange,\n} from \"../../prepare-units\";\nimport { ColumnNotes } from \"../../notes\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nconst h = hyper.styled(styles);\n\ntype GetHeightRangeFn<T> = (\n data: T,\n unit: UnitLong | null,\n axisType: ColumnAxisType,\n) => MeasurementHeightData;\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n isMatchingUnit?: (d: T, unit: UnitLong) => boolean;\n getHeightRange?: GetHeightRangeFn<T>;\n deltaConnectorAttachment?: number;\n focusedNoteComponent?: any;\n}\n\nexport interface ColumnMeasurementData<T = any> extends MeasurementHeightData {\n data: T;\n id: string | number;\n}\n\ntype MeasurementPositionInformation =\n | MeasurementHeightData\n | {\n unit_id: number;\n unit_rel_pos?: number;\n };\n\nexport function standardizeMeasurementHeight(\n pos: MeasurementPositionInformation,\n units: UnitLong[],\n axisType: ColumnAxisType,\n): MeasurementHeightData | null {\n /** Get a standardized height representation from position information for\n * a measurement\n */\n if (\"height\" in pos) {\n return pos;\n }\n const unit = units.find((u) => u.unit_id === pos.unit_id);\n if (unit == null) {\n return null;\n }\n if (pos.unit_rel_pos != null) {\n const res = getPositionWithinUnit(pos.unit_rel_pos, unit, axisType);\n if (res == null) return null;\n return { height: res };\n } else {\n const [height, top_height] = getUnitHeightRange(unit, axisType);\n return { height, top_height };\n }\n}\n\nexport function mergeHeightRanges(\n data: MeasurementHeightData[],\n axisType: ColumnAxisType,\n): MeasurementHeightData {\n /** Merge multiple height ranges into a single range */\n const heights = [];\n\n for (const d of data) {\n heights.push(d.height);\n if (d.top_height != null) {\n heights.push(d.top_height);\n }\n }\n\n let height: number;\n let top_height: number;\n if (axisType === ColumnAxisType.AGE || axisType === ColumnAxisType.DEPTH) {\n height = Math.max(...heights);\n top_height = Math.min(...heights);\n } else {\n height = Math.min(...heights);\n top_height = Math.max(...heights);\n }\n\n if (top_height === height) {\n return { height };\n }\n return { height, top_height };\n}\n\nexport type MeasurementHeightData = {\n height: number;\n top_height?: number | null;\n};\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n deltaConnectorAttachment,\n focusedNoteComponent,\n}: BaseMeasurementsColumnProps<any>) {\n if (data == null) return null;\n\n return h(\n \"div.measurements-column\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes: data,\n noteComponent,\n deltaConnectorAttachment,\n focusedNoteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n\nexport function groupNotesByPixelDistance<T = any>(\n data: ColumnMeasurementData<T[]>[],\n scale: CompositeColumnScale,\n axisType: ColumnAxisType,\n groupDistance: number,\n) {\n /** Group notes that are within a certain pixel distance of each other\n * in display space\n */\n if (data.length === 0 || groupDistance <= 0) return data;\n if (axisType === ColumnAxisType.AGE || axisType === ColumnAxisType.DEPTH) {\n data.sort((a, b) => b.height - a.height);\n } else {\n // Sort data by height (ascending up the column)\n data.sort((a, b) => a.height - b.height);\n }\n\n const groupedData: ColumnMeasurementData<T[]>[] = [];\n let currentGroup: ColumnMeasurementData<T[]> | null = null;\n let currentGroupPosition: number = Infinity;\n\n for (const d of data) {\n // Check distance from current max position\n // Pixels go up as we go down in the section\n\n // The _top_ of the next group must be within groupDistance of the\n // _bottom_ of the current group. This makes sure that we don't collapse\n // groups that are separated by a large distance\n const distance = currentGroupPosition - scale(d.top_height ?? d.height);\n\n if (distance <= groupDistance) {\n if (currentGroup == null) {\n throw new Error(\"Current group is null when it shouldn't be\");\n }\n // Merge into current group\n currentGroup.data.push(...d.data);\n // Update height range\n const top_height = d.top_height ?? d.height;\n if (\n axisType === ColumnAxisType.AGE ||\n axisType === ColumnAxisType.DEPTH\n ) {\n // Inverted axis\n currentGroup.top_height = Math.min(currentGroup.top_height, top_height);\n } else {\n currentGroup.top_height = Math.max(currentGroup.top_height, top_height);\n }\n currentGroup.id = `${currentGroup.height}-${currentGroup.top_height}`;\n } else {\n // Start a new group\n currentGroup = { ...d, data: [...d.data] };\n currentGroupPosition =\n scale(currentGroup.height) ??\n scale(currentGroup.top_height) ??\n Infinity;\n groupedData.push(currentGroup);\n }\n }\n\n return groupedData;\n}\n"],"names":["$7Z3it$macrostrathyper","ColumnAxisType","$7Z3it$ColumnAxisType","$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","$7e05644cbb5d2dbb$exports","$7e05644cbb5d2dbb$export$9d101e1fcb2166a6","$7e05644cbb5d2dbb$export$8f2afa8ddee7317e","$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d","$7e05644cbb5d2dbb$export$653e47a7a0da0f0d","$7e05644cbb5d2dbb$export$4e649f790614b299","$ff1AM","$iWhRv","$6KYbn","$7e05644cbb5d2dbb$var$h","styled","a","__esModule","default","pos","units","axisType","unit","find","u","unit_id","unit_rel_pos","res","getPositionWithinUnit","height","top_height","getUnitHeightRange","data","heights","d","push","AGE","DEPTH","Math","max","min","noteComponent","width","paddingLeft","className","deltaConnectorAttachment","focusedNoteComponent","ColumnNotes","notes","maxItems","itemRenderer","p","tooMany","d1","length","slice","map","i","key","scale","groupDistance","sort","b","groupedData","currentGroup","currentGroupPosition","Infinity","distance","standardizeMeasurementHeight","mergeHeightRanges","BaseMeasurementsColumn","TruncatedList","groupNotesByPixelDistance"],"version":3,"file":"column-views.109cb0c8.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.6f0cb059.js";import"./column-views.b762c9a8.js";function e(e,r){return Object.keys(r).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return r[a]}})}),e}var r=globalThis,a={},o={},t=r.parcelRequirea149;null==t&&((t=function(e){if(e in a)return a[e].exports;if(e in o){var r=o[e];delete o[e];var t={id:e,exports:{}};return a[e]=t,r.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){o[e]=r},r.parcelRequirea149=t),t.register;var n={},c=t("fIgv5"),f=t("c27x8");e(n,c),e(n,f);export{$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap,$5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame,$5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap,$372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer,$372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures,$372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation,$372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns,$372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters,$372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};
2
- //# sourceMappingURL=column-views.f4063bc8.js.map
1
+ import"./column-views.183745c0.js";import"./column-views.b762c9a8.js";function e(e,r){return Object.keys(r).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return r[a]}})}),e}var r=globalThis,a={},o={},t=r.parcelRequirea149;null==t&&((t=function(e){if(e in a)return a[e].exports;if(e in o){var r=o[e];delete o[e];var t={id:e,exports:{}};return a[e]=t,r.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){o[e]=r},r.parcelRequirea149=t),t.register;var n={},c=t("fIgv5"),f=t("c27x8");e(n,c),e(n,f);export{$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap,$5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame,$5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap,$372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer,$372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures,$372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation,$372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns,$372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters,$372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};
2
+ //# sourceMappingURL=column-views.15b5cecc.js.map
@@ -1 +1 @@
1
- {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,mB,C,6C,iB,C,6C,sB,C,6C,iB,C,6C,c,C,4C,wB,C,6C,O,C,6C,a,C,6C,a","sources":["<anon>","packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["import \"./column-views.6f0cb059.js\";\nimport \"./column-views.b762c9a8.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $7ff4e0023faa490a$exports = {};\n\nvar $fIgv5 = parcelRequire(\"fIgv5\");\n\nvar $c27x8 = parcelRequire(\"c27x8\");\n$parcel$exportWildcard($7ff4e0023faa490a$exports, $fIgv5);\n$parcel$exportWildcard($7ff4e0023faa490a$exports, $c27x8);\n\n\nexport {$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap, $5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame, $5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer, $372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures, $372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation, $372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns, $372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters, $372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};\n//# sourceMappingURL=column-views.f4063bc8.js.map\n","export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$7ff4e0023faa490a$exports","$fIgv5","$c27x8","$44d1d5e5d8e823d1$export$821baedf611249f3","ColumnNavigationMap","$5a7fd801cb316afa$export$c4313db718750a5a","ResizableMapFrame","$5a7fd801cb316afa$export$9595c40c7a4c4f7b","ColumnNavigationSVGMap","$372e0c9189556f66$export$2254347cd20e6080","MeasurementsLayer","$372e0c9189556f66$export$f177ff57c101017a","ColumnFeatures","$372e0c9189556f66$export$8c41dd563753848","ColumnKeyboardNavigation","$372e0c9189556f66$export$f02cc02ad0e0bba3","Columns","$372e0c9189556f66$export$4d8f6e6df85d9012","ColumnCenters","$372e0c9189556f66$export$b9d912252344e099","CurrentColumn"],"version":3,"file":"column-views.f4063bc8.js.map","sourceRoot":"../../../../"}
1
+ {"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,mB,C,6C,iB,C,6C,sB,C,6C,iB,C,6C,c,C,4C,wB,C,6C,O,C,6C,a,C,6C,a","sources":["<anon>","packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["import \"./column-views.183745c0.js\";\nimport \"./column-views.b762c9a8.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $7ff4e0023faa490a$exports = {};\n\nvar $fIgv5 = parcelRequire(\"fIgv5\");\n\nvar $c27x8 = parcelRequire(\"c27x8\");\n$parcel$exportWildcard($7ff4e0023faa490a$exports, $fIgv5);\n$parcel$exportWildcard($7ff4e0023faa490a$exports, $c27x8);\n\n\nexport {$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap, $5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame, $5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer, $372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures, $372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation, $372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns, $372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters, $372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};\n//# sourceMappingURL=column-views.15b5cecc.js.map\n","export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$7ff4e0023faa490a$exports","$fIgv5","$c27x8","$44d1d5e5d8e823d1$export$821baedf611249f3","ColumnNavigationMap","$5a7fd801cb316afa$export$c4313db718750a5a","ResizableMapFrame","$5a7fd801cb316afa$export$9595c40c7a4c4f7b","ColumnNavigationSVGMap","$372e0c9189556f66$export$2254347cd20e6080","MeasurementsLayer","$372e0c9189556f66$export$f177ff57c101017a","ColumnFeatures","$372e0c9189556f66$export$8c41dd563753848","ColumnKeyboardNavigation","$372e0c9189556f66$export$f02cc02ad0e0bba3","Columns","$372e0c9189556f66$export$4d8f6e6df85d9012","ColumnCenters","$372e0c9189556f66$export$b9d912252344e099","CurrentColumn"],"version":3,"file":"column-views.15b5cecc.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
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
+ import"./column-views.fcb243a2.js";import"./column-views.41876859.js";import"./column-views.c4c15e2b.js";import"./column-views.04a72b35.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.183745c0.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.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
+ {"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.fcb243a2.js\";\nimport \"./column-views.41876859.js\";\nimport \"./column-views.c4c15e2b.js\";\nimport \"./column-views.04a72b35.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.183745c0.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\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.183745c0.js.map","sourceRoot":"../../../../"}
@@ -1,2 +1,2 @@
1
- import"./column-views.db3377d8.js";import"./column-views.5c02450b.js";import e from"cross-fetch";import{useContext as t,useEffect as r,useMemo as a,useState as s,createContext as o}from"react";import n from"@macrostrat/hyper";import{create as l,useStore as i}from"zustand";import{APIProvider as u}from"@macrostrat/ui-components";import{ColumnProvider as c}from"@macrostrat/column-components";function f(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var m=globalThis,p={},d={},v=m.parcelRequirea149;null==v&&((v=function(e){if(e in p)return p[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return p[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){d[e]=t},m.parcelRequirea149=v),v.register;var h={};f(h,"useMacrostratStore",()=>M),f(h,"useMacrostratBaseURL",()=>w),f(h,"useMacrostratFetch",()=>x),f(h,"useMacrostratDefs",()=>R),f(h,"useMacrostratColumns",()=>L),f(h,"useMacrostratColumnInfo",()=>C),f(h,"useMacrostratData",()=>_),f(h,"MacrostratDataProvider",()=>D),f(h,"MacrostratAPIProvider",()=>E),f(h,"MacrostratColumnProvider",()=>S),f(h,"LithologiesProvider",()=>F),f(h,"useLithologies",()=>U),f(h,"useEnvironments",()=>I);var g=v("Piirt"),b=v("wtIgl");function $(t="https://macrostrat.org/api/v2"){return l((r,a)=>{var s,o,n,l,i,u,c,f,m,p,d,v;return{baseURL:t,inFlightRequests:new Set,async fetch(r,s){let o=t+r,{inFlightRequests:n}=a();if(n.has(o))return null;n.add(o);let l=await e(o,s);return n.delete(o),l},...(s=r,o=a,{lithologies:null,async getLithologies(e){let{lithologies:t,fetch:r}=o(),a=t;if(null==a){let e=await (0,g.fetchLithologies)(r);if(null==e)return;s({lithologies:a=new Map(e.map(e=>[e.lith_id,e]))})}return null==e?a.values():e.map(e=>a.get(e))}}),...(n=r,l=a,{intervals:null,async getIntervals(e,t){var r,a;let{intervals:s,fetch:o}=l(),i=s;if(null==s||(r=s,a=t,!(null!=r&&(null==a||Array.from(r.values()).some(e=>e.timescale_id==a))))){let e=await (0,g.fetchIntervals)(t,o);if(null==e)return[];let r=s??new Map;for(let t of e)r.set(t.int_id,t);n({intervals:i=r})}return null==e&&null==t?Array.from(i.values()):null!=t?Array.from(i.values()).filter(e=>e.timescale_id==t):e.map(e=>s.get(e))}}),...(i=r,u=a,{environments:null,async getEnvironments(e){let{environments:t,fetch:r}=u(),a=t;if(null==a){let e=await (0,g.fetchEnvironments)(r);if(null==e)return[];i({environments:a=new Map(e.map(e=>[e.environ_id,e]))})}return null==e?a.values():e.map(e=>a.get(e))}}),...(c=r,f=a,{columnFootprints:new Map,async getColumns(e,t){let{columnFootprints:r,baseURL:a,fetch:s}=f(),o=e??-1,n=r.get(o);if(null==n||n.inProcess!=t){let a=["active"];t&&a.push("in process");let l=await (0,g.fetchAllColumns)({projectID:e,statusCode:a,fetch:s});if(null==l)return;n={project_id:e,inProcess:t,columns:l};let i=new Map(r);i.set(o,n),c({columnFootprints:i})}return n.columns}}),...(m=r,p=a,{refs:new Map,async getRefs(e){let{refs:t,fetch:r}=p(),a=e.filter(e=>!t.has(e));if(0==a.length)return e.map(e=>t.get(e));let s=await (0,g.fetchRefs)(a,r);if(null==s)return[];for(let e of s)t.set(e.ref_id,e);return m({refs:t}),e.map(e=>t.get(e))}}),...(d=r,v=a,{stratNames:null,async getStratNames(e){let{stratNames:t,fetch:r}=v(),a=t??new Map,s=[],o=[];for(let t of e)a.has(t)?s.push(a.get(t)):o.push(t);if(o.length>0){let e=await (0,g.fetchStratNames)(o,r);if(null==e)return s;for(let t of e)a.set(t.strat_name_id,t);d({stratNames:a})}return e.map(e=>a.get(e))}})}})}function M(e){let r=t(y);if(null==r)throw Error("Missing MacrostratDataProvider");return"api"===e?r:i(r,e)}function w(e="https://macrostrat.org/api/v2"){let r=t(y);return null==r?e:r.getState().baseURL}function x(){let e=t(y);if(null==e)throw Error("Missing MacrostratDataProvider");return e.getState().fetch}let P={lithologies:e=>e.getLithologies,intervals:e=>e.getIntervals,columns:e=>e.getColumns,environments:e=>e.getEnvironments,refs:e=>e.getRefs,strat_names:e=>e.getStratNames};function R(e){if("columns"==e)throw Error("Columns are not provided as a map");let t=M(P[e]);return r(()=>{t()},[]),M(t=>t[e])}function L(e,t){let s=M(e=>e.getColumns),o=M(e=>e.columnFootprints),n=o?.get(e??-1);return r(()=>{(null==n||t&&!n.inProcess)&&s(e,t)},[n,t,s]),a(()=>{if(null==n)return null;let e=n.columns;return!t&&n.inProcess&&(e.features=e.features?.filter(e=>"in process"!=e.properties.status)),e},[n,t])}function C(e){let t=M(e=>e.columnFootprints);return a(()=>{for(let r of t.values()){let t=r.columns.find(t=>t.properties.col_id===e);if(null!=t)return t.properties}return null},[t,e])}function _(e,...t){let a=M(P[e]),[o,n]=s(null);return r(()=>{try{a(...t).then(n)}catch(e){console.error(e)}},[a,...t]),o}let y=o($());function D(e){let{baseURL:t="https://dev.macrostrat.org/api/v2",children:r}=e,[a]=s(()=>$(t));return n(E,{baseURL:t},n(y.Provider,{value:a},r))}function E({children:e,useDev:t=!1,baseURL:r}){return r??(r=t?"https://dev.macrostrat.org/api/v2":"https://macrostrat.org/api/v2"),n(u,{baseURL:r,unwrapResponse:e=>e.success.data},e)}function S(e){let{axisType:t}=(0,b.useMacrostratColumnData)(),{units:r,domain:a,pixelScale:s,scale:o,children:l}=e;return n(c,{axisType:t,divisions:r,range:a,pixelsPerMeter:s,scale:o},l)}function F({children:e}){return r(()=>{console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider")},[]),e}function U(){let e=M(e=>e.getLithologies),t=M(e=>e.lithologies);return r(()=>{null==t&&e()},[t,e]),t}function I(){let e=M(e=>e.getEnvironments),t=M(e=>e.environments);return r(()=>{null==t&&e()},[t,e]),t}export{M as useMacrostratStore,w as useMacrostratBaseURL,x as useMacrostratFetch,R as useMacrostratDefs,L as useMacrostratColumns,C as useMacrostratColumnInfo,_ as useMacrostratData,D as MacrostratDataProvider,E as MacrostratAPIProvider,S as MacrostratColumnProvider,F as LithologiesProvider,U as useLithologies,I as useEnvironments};
2
- //# sourceMappingURL=column-views.080781ca.js.map
1
+ import"./column-views.db3377d8.js";import"./column-views.d737de1e.js";import e from"cross-fetch";import{useContext as t,useEffect as r,useMemo as a,useState as s,createContext as o}from"react";import n from"@macrostrat/hyper";import{create as l,useStore as i}from"zustand";import{APIProvider as u}from"@macrostrat/ui-components";import{ColumnProvider as c}from"@macrostrat/column-components";function f(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var m=globalThis,p={},d={},v=m.parcelRequirea149;null==v&&((v=function(e){if(e in p)return p[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return p[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){d[e]=t},m.parcelRequirea149=v),v.register;var h={};f(h,"useMacrostratStore",()=>M),f(h,"useMacrostratBaseURL",()=>w),f(h,"useMacrostratFetch",()=>x),f(h,"useMacrostratDefs",()=>R),f(h,"useMacrostratColumns",()=>L),f(h,"useMacrostratColumnInfo",()=>C),f(h,"useMacrostratData",()=>_),f(h,"MacrostratDataProvider",()=>D),f(h,"MacrostratAPIProvider",()=>E),f(h,"MacrostratColumnProvider",()=>S),f(h,"LithologiesProvider",()=>F),f(h,"useLithologies",()=>U),f(h,"useEnvironments",()=>I);var g=v("Piirt"),b=v("wtIgl");function $(t="https://macrostrat.org/api/v2"){return l((r,a)=>{var s,o,n,l,i,u,c,f,m,p,d,v;return{baseURL:t,inFlightRequests:new Set,async fetch(r,s){let o=t+r,{inFlightRequests:n}=a();if(n.has(o))return null;n.add(o);let l=await e(o,s);return n.delete(o),l},...(s=r,o=a,{lithologies:null,async getLithologies(e){let{lithologies:t,fetch:r}=o(),a=t;if(null==a){let e=await (0,g.fetchLithologies)(r);if(null==e)return;s({lithologies:a=new Map(e.map(e=>[e.lith_id,e]))})}return null==e?a.values():e.map(e=>a.get(e))}}),...(n=r,l=a,{intervals:null,async getIntervals(e,t){var r,a;let{intervals:s,fetch:o}=l(),i=s;if(null==s||(r=s,a=t,!(null!=r&&(null==a||Array.from(r.values()).some(e=>e.timescale_id==a))))){let e=await (0,g.fetchIntervals)(t,o);if(null==e)return[];let r=s??new Map;for(let t of e)r.set(t.int_id,t);n({intervals:i=r})}return null==e&&null==t?Array.from(i.values()):null!=t?Array.from(i.values()).filter(e=>e.timescale_id==t):e.map(e=>s.get(e))}}),...(i=r,u=a,{environments:null,async getEnvironments(e){let{environments:t,fetch:r}=u(),a=t;if(null==a){let e=await (0,g.fetchEnvironments)(r);if(null==e)return[];i({environments:a=new Map(e.map(e=>[e.environ_id,e]))})}return null==e?a.values():e.map(e=>a.get(e))}}),...(c=r,f=a,{columnFootprints:new Map,async getColumns(e,t){let{columnFootprints:r,baseURL:a,fetch:s}=f(),o=e??-1,n=r.get(o);if(null==n||n.inProcess!=t){let a=["active"];t&&a.push("in process");let l=await (0,g.fetchAllColumns)({projectID:e,statusCode:a,fetch:s});if(null==l)return;n={project_id:e,inProcess:t,columns:l};let i=new Map(r);i.set(o,n),c({columnFootprints:i})}return n.columns}}),...(m=r,p=a,{refs:new Map,async getRefs(e){let{refs:t,fetch:r}=p(),a=e.filter(e=>!t.has(e));if(0==a.length)return e.map(e=>t.get(e));let s=await (0,g.fetchRefs)(a,r);if(null==s)return[];for(let e of s)t.set(e.ref_id,e);return m({refs:t}),e.map(e=>t.get(e))}}),...(d=r,v=a,{stratNames:null,async getStratNames(e){let{stratNames:t,fetch:r}=v(),a=t??new Map,s=[],o=[];for(let t of e)a.has(t)?s.push(a.get(t)):o.push(t);if(o.length>0){let e=await (0,g.fetchStratNames)(o,r);if(null==e)return s;for(let t of e)a.set(t.strat_name_id,t);d({stratNames:a})}return e.map(e=>a.get(e))}})}})}function M(e){let r=t(y);if(null==r)throw Error("Missing MacrostratDataProvider");return"api"===e?r:i(r,e)}function w(e="https://macrostrat.org/api/v2"){let r=t(y);return null==r?e:r.getState().baseURL}function x(){let e=t(y);if(null==e)throw Error("Missing MacrostratDataProvider");return e.getState().fetch}let P={lithologies:e=>e.getLithologies,intervals:e=>e.getIntervals,columns:e=>e.getColumns,environments:e=>e.getEnvironments,refs:e=>e.getRefs,strat_names:e=>e.getStratNames};function R(e){if("columns"==e)throw Error("Columns are not provided as a map");let t=M(P[e]);return r(()=>{t()},[]),M(t=>t[e])}function L(e,t){let s=M(e=>e.getColumns),o=M(e=>e.columnFootprints),n=o?.get(e??-1);return r(()=>{(null==n||t&&!n.inProcess)&&s(e,t)},[n,t,s]),a(()=>{if(null==n)return null;let e=n.columns;return!t&&n.inProcess&&(e.features=e.features?.filter(e=>"in process"!=e.properties.status)),e},[n,t])}function C(e){let t=M(e=>e.columnFootprints);return a(()=>{for(let r of t.values()){let t=r.columns.find(t=>t.properties.col_id===e);if(null!=t)return t.properties}return null},[t,e])}function _(e,...t){let a=M(P[e]),[o,n]=s(null);return r(()=>{try{a(...t).then(n)}catch(e){console.error(e)}},[a,...t]),o}let y=o($());function D(e){let{baseURL:t="https://dev.macrostrat.org/api/v2",children:r}=e,[a]=s(()=>$(t));return n(E,{baseURL:t},n(y.Provider,{value:a},r))}function E({children:e,useDev:t=!1,baseURL:r}){return r??(r=t?"https://dev.macrostrat.org/api/v2":"https://macrostrat.org/api/v2"),n(u,{baseURL:r,unwrapResponse:e=>e.success.data},e)}function S(e){let{axisType:t}=(0,b.useMacrostratColumnData)(),{units:r,domain:a,pixelScale:s,scale:o,children:l}=e;return n(c,{axisType:t,divisions:r,range:a,pixelsPerMeter:s,scale:o},l)}function F({children:e}){return r(()=>{console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider")},[]),e}function U(){let e=M(e=>e.getLithologies),t=M(e=>e.lithologies);return r(()=>{null==t&&e()},[t,e]),t}function I(){let e=M(e=>e.getEnvironments),t=M(e=>e.environments);return r(()=>{null==t&&e()},[t,e]),t}export{M as useMacrostratStore,w as useMacrostratBaseURL,x as useMacrostratFetch,R as useMacrostratDefs,L as useMacrostratColumns,C as useMacrostratColumnInfo,_ as useMacrostratData,D as MacrostratDataProvider,E as MacrostratAPIProvider,S as MacrostratColumnProvider,F as LithologiesProvider,U as useLithologies,I as useEnvironments};
2
+ //# sourceMappingURL=column-views.2e2158f5.js.map