@macrostrat/column-views 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/esm/{column-views.986e7566.js → column-views.058c0083.js} +6 -8
  3. package/dist/esm/column-views.058c0083.js.map +1 -0
  4. package/dist/esm/{column-views.8d24b179.js → column-views.11ae78f7.js} +3 -3
  5. package/dist/esm/{column-views.8d24b179.js.map → column-views.11ae78f7.js.map} +1 -1
  6. package/dist/esm/{column-views.e84bd756.js → column-views.1e579112.js} +3 -3
  7. package/dist/esm/{column-views.e84bd756.js.map → column-views.1e579112.js.map} +1 -1
  8. package/dist/esm/{column-views.77561197.js → column-views.218e8f5d.js} +6 -6
  9. package/dist/esm/column-views.218e8f5d.js.map +1 -0
  10. package/dist/esm/{column-views.0f7f6ee6.js → column-views.30950997.js} +2 -2
  11. package/dist/esm/{column-views.0f7f6ee6.js.map → column-views.30950997.js.map} +1 -1
  12. package/dist/esm/{column-views.3e1b8c7d.js → column-views.35efe006.js} +2 -2
  13. package/dist/esm/{column-views.3e1b8c7d.js.map → column-views.35efe006.js.map} +1 -1
  14. package/dist/esm/{column-views.e3bf5384.js → column-views.43beafa3.js} +6 -6
  15. package/dist/esm/{column-views.e3bf5384.js.map → column-views.43beafa3.js.map} +1 -1
  16. package/dist/esm/{column-views.53186d53.js → column-views.44d3797a.js} +2 -2
  17. package/dist/esm/{column-views.53186d53.js.map → column-views.44d3797a.js.map} +1 -1
  18. package/dist/esm/{column-views.3f528c5c.js → column-views.52ad973a.js} +35 -24
  19. package/dist/esm/column-views.52ad973a.js.map +1 -0
  20. package/dist/esm/{column-views.9ddbe7df.js → column-views.5456a1ee.js} +2 -2
  21. package/dist/esm/{column-views.9ddbe7df.js.map → column-views.5456a1ee.js.map} +1 -1
  22. package/dist/esm/{column-views.5d969bc5.js → column-views.66ccfc44.js} +5 -6
  23. package/dist/esm/column-views.66ccfc44.js.map +1 -0
  24. package/dist/esm/{column-views.1b644998.js → column-views.6ce8cb61.js} +3 -3
  25. package/dist/esm/{column-views.1b644998.js.map → column-views.6ce8cb61.js.map} +1 -1
  26. package/dist/esm/{column-views.86a51ce7.js → column-views.6d63971b.js} +2 -2
  27. package/dist/esm/column-views.6d63971b.js.map +1 -0
  28. package/dist/esm/{column-views.2d602a57.js → column-views.7243e77d.js} +2 -2
  29. package/dist/esm/{column-views.2d602a57.js.map → column-views.7243e77d.js.map} +1 -1
  30. package/dist/esm/{column-views.c518ef14.js → column-views.729a6728.js} +6 -6
  31. package/dist/esm/column-views.729a6728.js.map +1 -0
  32. package/dist/esm/{column-views.5a49cd68.js → column-views.75e5aebe.js} +6 -7
  33. package/dist/esm/column-views.75e5aebe.js.map +1 -0
  34. package/dist/esm/{column-views.ae7c0a2b.js → column-views.76a220c4.js} +2 -2
  35. package/dist/esm/{column-views.ae7c0a2b.js.map → column-views.76a220c4.js.map} +1 -1
  36. package/dist/esm/{column-views.0a8a07f4.js → column-views.77e22590.js} +2 -2
  37. package/dist/esm/{column-views.0a8a07f4.js.map → column-views.77e22590.js.map} +1 -1
  38. package/dist/esm/{column-views.0859feb3.js → column-views.7b4a1f15.js} +15 -10
  39. package/dist/esm/column-views.7b4a1f15.js.map +1 -0
  40. package/dist/esm/{column-views.ba0381cc.js → column-views.7c95c3d7.js} +2 -2
  41. package/dist/esm/{column-views.ba0381cc.js.map → column-views.7c95c3d7.js.map} +1 -1
  42. package/dist/esm/{column-views.d69c4a9f.js → column-views.7d69838d.js} +2 -2
  43. package/dist/esm/{column-views.d69c4a9f.js.map → column-views.7d69838d.js.map} +1 -1
  44. package/dist/esm/{column-views.63b7e5aa.js → column-views.7faf00ed.js} +3 -3
  45. package/dist/esm/{column-views.63b7e5aa.js.map → column-views.7faf00ed.js.map} +1 -1
  46. package/dist/esm/{column-views.d261b02d.js → column-views.817752b6.js} +3 -3
  47. package/dist/esm/{column-views.d261b02d.js.map → column-views.817752b6.js.map} +1 -1
  48. package/dist/esm/{column-views.d15d8655.js → column-views.833c2b74.js} +2 -2
  49. package/dist/esm/{column-views.d15d8655.js.map → column-views.833c2b74.js.map} +1 -1
  50. package/dist/esm/{column-views.285cbb65.js → column-views.9dd25b5b.js} +3 -3
  51. package/dist/esm/{column-views.285cbb65.js.map → column-views.9dd25b5b.js.map} +1 -1
  52. package/dist/esm/column-views.abf6aedd.js +136 -0
  53. package/dist/esm/column-views.abf6aedd.js.map +1 -0
  54. package/dist/esm/{column-views.f46a0b36.js → column-views.ad080c0e.js} +2 -2
  55. package/dist/esm/{column-views.f46a0b36.js.map → column-views.ad080c0e.js.map} +1 -1
  56. package/dist/esm/{column-views.e4c26185.js → column-views.aeb61926.js} +2 -2
  57. package/dist/esm/{column-views.e4c26185.js.map → column-views.aeb61926.js.map} +1 -1
  58. package/dist/esm/{column-views.ed05e233.js → column-views.b0e6c0b3.js} +6 -4
  59. package/dist/esm/{column-views.ed05e233.js.map → column-views.b0e6c0b3.js.map} +1 -1
  60. package/dist/esm/{column-views.f2fd0e4a.js → column-views.c44febd0.js} +37 -34
  61. package/dist/esm/column-views.c44febd0.js.map +1 -0
  62. package/dist/esm/column-views.cc733361.js.map +1 -1
  63. package/dist/esm/{column-views.83395185.js → column-views.d2214a99.js} +3 -3
  64. package/dist/esm/{column-views.83395185.js.map → column-views.d2214a99.js.map} +1 -1
  65. package/dist/esm/{column-views.6c644353.js → column-views.d6d6df77.js} +3 -3
  66. package/dist/esm/{column-views.6c644353.js.map → column-views.d6d6df77.js.map} +1 -1
  67. package/dist/esm/{column-views.e33ac5c9.css → column-views.e93478c3.css} +7 -2
  68. package/dist/esm/column-views.e93478c3.css.map +1 -0
  69. package/dist/esm/{column-views.d9c6b527.js → column-views.ee525e88.js} +12 -11
  70. package/dist/esm/column-views.ee525e88.js.map +1 -0
  71. package/dist/esm/{column-views.73b8ff16.js → column-views.ef88c46c.js} +2 -2
  72. package/dist/esm/{column-views.73b8ff16.js.map → column-views.ef88c46c.js.map} +1 -1
  73. package/dist/esm/{column-views.d406665d.js → column-views.faa4e06d.js} +4 -4
  74. package/dist/esm/{column-views.d406665d.js.map → column-views.faa4e06d.js.map} +1 -1
  75. package/dist/esm/index.d.ts +53 -38
  76. package/dist/esm/index.d.ts.map +1 -1
  77. package/dist/esm/index.js +11 -11
  78. package/dist/node/column-views.003348f6.js +2 -0
  79. package/dist/node/column-views.003348f6.js.map +1 -0
  80. package/dist/node/{column-views.a34732e7.js → column-views.05cfc627.js} +2 -2
  81. package/dist/node/{column-views.a34732e7.js.map → column-views.05cfc627.js.map} +1 -1
  82. package/dist/node/column-views.0beae29d.js +2 -0
  83. package/dist/node/column-views.0beae29d.js.map +1 -0
  84. package/dist/node/{column-views.a396d3ac.js → column-views.105c28fa.js} +2 -2
  85. package/dist/node/{column-views.a396d3ac.js.map → column-views.105c28fa.js.map} +1 -1
  86. package/dist/node/{column-views.ac1b58b7.js → column-views.1ac9e2ed.js} +2 -2
  87. package/dist/node/{column-views.ac1b58b7.js.map → column-views.1ac9e2ed.js.map} +1 -1
  88. package/dist/node/{column-views.105f6ad2.js → column-views.1c567bfd.js} +2 -2
  89. package/dist/node/{column-views.105f6ad2.js.map → column-views.1c567bfd.js.map} +1 -1
  90. package/dist/node/{column-views.dd972321.js → column-views.21a73236.js} +2 -2
  91. package/dist/node/{column-views.dd972321.js.map → column-views.21a73236.js.map} +1 -1
  92. package/dist/node/{column-views.e065152e.js → column-views.22c2d45b.js} +2 -2
  93. package/dist/node/{column-views.e065152e.js.map → column-views.22c2d45b.js.map} +1 -1
  94. package/dist/node/{column-views.9e155f20.js → column-views.2901b649.js} +2 -2
  95. package/dist/node/{column-views.9e155f20.js.map → column-views.2901b649.js.map} +1 -1
  96. package/dist/node/{column-views.827a9894.js → column-views.2d00d842.js} +2 -2
  97. package/dist/node/{column-views.827a9894.js.map → column-views.2d00d842.js.map} +1 -1
  98. package/dist/node/{column-views.7150ba18.js → column-views.38835c99.js} +2 -2
  99. package/dist/node/column-views.38835c99.js.map +1 -0
  100. package/dist/node/{column-views.9dda582d.js → column-views.3913cd0f.js} +2 -2
  101. package/dist/node/{column-views.9dda582d.js.map → column-views.3913cd0f.js.map} +1 -1
  102. package/dist/node/{column-views.1a7f8afd.js → column-views.39c21f22.js} +2 -2
  103. package/dist/node/{column-views.1a7f8afd.js.map → column-views.39c21f22.js.map} +1 -1
  104. package/dist/node/{column-views.75582658.js → column-views.420b60d2.js} +2 -2
  105. package/dist/node/{column-views.75582658.js.map → column-views.420b60d2.js.map} +1 -1
  106. package/dist/node/{column-views.81294fb7.js → column-views.4ce5f5e4.js} +2 -2
  107. package/dist/node/{column-views.81294fb7.js.map → column-views.4ce5f5e4.js.map} +1 -1
  108. package/dist/node/column-views.52cc4dd0.js +2 -0
  109. package/dist/node/column-views.52cc4dd0.js.map +1 -0
  110. package/dist/node/column-views.60b5663d.js +2 -0
  111. package/dist/node/column-views.60b5663d.js.map +1 -0
  112. package/dist/node/{column-views.01debc76.js → column-views.61dc64bc.js} +2 -2
  113. package/dist/node/{column-views.01debc76.js.map → column-views.61dc64bc.js.map} +1 -1
  114. package/dist/node/{column-views.492c2c72.js → column-views.67fed1f5.js} +2 -2
  115. package/dist/node/{column-views.492c2c72.js.map → column-views.67fed1f5.js.map} +1 -1
  116. package/dist/node/{column-views.07ff1fdf.js → column-views.7faaf6c8.js} +2 -2
  117. package/dist/node/{column-views.07ff1fdf.js.map → column-views.7faaf6c8.js.map} +1 -1
  118. package/dist/node/{column-views.87b1439e.js → column-views.a08b0c9f.js} +2 -2
  119. package/dist/node/column-views.a08b0c9f.js.map +1 -0
  120. package/dist/node/{column-views.2bd97c2e.js → column-views.a19be00f.js} +2 -2
  121. package/dist/node/{column-views.2bd97c2e.js.map → column-views.a19be00f.js.map} +1 -1
  122. package/dist/node/{column-views.cf2a78c1.js → column-views.a281d5bb.js} +2 -2
  123. package/dist/node/column-views.a281d5bb.js.map +1 -0
  124. package/dist/node/{column-views.c0be1157.js → column-views.a9576bac.js} +2 -2
  125. package/dist/node/{column-views.c0be1157.js.map → column-views.a9576bac.js.map} +1 -1
  126. package/dist/node/{column-views.13e69859.js → column-views.ae22e8b1.js} +2 -2
  127. package/dist/node/{column-views.13e69859.js.map → column-views.ae22e8b1.js.map} +1 -1
  128. package/dist/node/{column-views.cd77a1d8.js → column-views.ae54d3e1.js} +2 -2
  129. package/dist/node/{column-views.cd77a1d8.js.map → column-views.ae54d3e1.js.map} +1 -1
  130. package/dist/node/column-views.b12f8c81.js +2 -0
  131. package/dist/node/column-views.b12f8c81.js.map +1 -0
  132. package/dist/node/{column-views.b6cd4360.js → column-views.b6943236.js} +2 -2
  133. package/dist/node/column-views.b6943236.js.map +1 -0
  134. package/dist/node/{column-views.e08f8715.js → column-views.bde2dfa8.js} +2 -2
  135. package/dist/node/{column-views.e08f8715.js.map → column-views.bde2dfa8.js.map} +1 -1
  136. package/dist/node/{column-views.6fd5a922.js → column-views.c3c15cc2.js} +2 -2
  137. package/dist/node/{column-views.6fd5a922.js.map → column-views.c3c15cc2.js.map} +1 -1
  138. package/dist/node/column-views.d08e4328.js +2 -0
  139. package/dist/node/{column-views.c29e9eb8.js.map → column-views.d08e4328.js.map} +1 -1
  140. package/dist/node/{column-views.45296250.js → column-views.db47fe3c.js} +2 -2
  141. package/dist/node/{column-views.45296250.js.map → column-views.db47fe3c.js.map} +1 -1
  142. package/dist/node/{column-views.e803e4ae.css → column-views.ddc6184e.css} +2 -2
  143. package/dist/node/column-views.ddc6184e.css.map +1 -0
  144. package/dist/node/column-views.e1813308.js +2 -0
  145. package/dist/node/column-views.e1813308.js.map +1 -0
  146. package/dist/node/{column-views.040499c9.js → column-views.f2ee436e.js} +2 -2
  147. package/dist/node/{column-views.040499c9.js.map → column-views.f2ee436e.js.map} +1 -1
  148. package/dist/node/{column-views.576e3c5a.js → column-views.f6ac1161.js} +2 -2
  149. package/dist/node/{column-views.576e3c5a.js.map → column-views.f6ac1161.js.map} +1 -1
  150. package/dist/node/index.js +1 -1
  151. package/dist/node/index.js.map +1 -1
  152. package/package.json +4 -2
  153. package/src/column.module.sass +7 -5
  154. package/src/column.ts +42 -20
  155. package/src/correlation-chart/main.ts +1 -1
  156. package/src/data-provider/index.ts +1 -0
  157. package/src/data-provider/store.ts +111 -13
  158. package/src/{units/selection.ts → data-provider/unit-selection.ts} +2 -1
  159. package/src/maps/column-correlation/state.ts +0 -1
  160. package/src/section.ts +9 -4
  161. package/src/unit-details/panel.ts +3 -2
  162. package/src/unit-details/popover.ts +1 -1
  163. package/src/units/boxes.ts +1 -2
  164. package/src/units/composite.ts +5 -2
  165. package/src/units/index.ts +0 -1
  166. package/dist/esm/column-views.0859feb3.js.map +0 -1
  167. package/dist/esm/column-views.3f528c5c.js.map +0 -1
  168. package/dist/esm/column-views.4fd4ec92.js +0 -67
  169. package/dist/esm/column-views.4fd4ec92.js.map +0 -1
  170. package/dist/esm/column-views.5a49cd68.js.map +0 -1
  171. package/dist/esm/column-views.5d969bc5.js.map +0 -1
  172. package/dist/esm/column-views.77561197.js.map +0 -1
  173. package/dist/esm/column-views.86a51ce7.js.map +0 -1
  174. package/dist/esm/column-views.986e7566.js.map +0 -1
  175. package/dist/esm/column-views.c518ef14.js.map +0 -1
  176. package/dist/esm/column-views.d9c6b527.js.map +0 -1
  177. package/dist/esm/column-views.e33ac5c9.css.map +0 -1
  178. package/dist/esm/column-views.f2fd0e4a.js.map +0 -1
  179. package/dist/node/column-views.3b37363f.js +0 -2
  180. package/dist/node/column-views.3b37363f.js.map +0 -1
  181. package/dist/node/column-views.7150ba18.js.map +0 -1
  182. package/dist/node/column-views.728c8dfc.js +0 -2
  183. package/dist/node/column-views.728c8dfc.js.map +0 -1
  184. package/dist/node/column-views.87b1439e.js.map +0 -1
  185. package/dist/node/column-views.b64cd0ea.js +0 -2
  186. package/dist/node/column-views.b64cd0ea.js.map +0 -1
  187. package/dist/node/column-views.b6cd4360.js.map +0 -1
  188. package/dist/node/column-views.c29e9eb8.js +0 -2
  189. package/dist/node/column-views.c8df6435.js +0 -2
  190. package/dist/node/column-views.c8df6435.js.map +0 -1
  191. package/dist/node/column-views.cd2a5c85.js +0 -2
  192. package/dist/node/column-views.cd2a5c85.js.map +0 -1
  193. package/dist/node/column-views.cf2a78c1.js.map +0 -1
  194. package/dist/node/column-views.e0d9865e.js +0 -2
  195. package/dist/node/column-views.e0d9865e.js.map +0 -1
  196. package/dist/node/column-views.e803e4ae.css.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file. The format
4
4
  is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
5
5
  project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.2.2] - 2025-12-04
8
+
9
+ - Fix a bug with unit deselection
10
+ - Fix missed updates in state management code
11
+ - Add a 'minimal' option to `unconformityLabels`
12
+ - Reduce precision of gap age labels
13
+ - Improvements to stories
14
+
15
+ ## [2.2.1] - 2025-11-29
16
+
17
+ - Start unifying state management components
18
+ - Create a hoistable store for column state
19
+ - Begin using `jotai` for some aspects of state management
20
+
7
21
  ## [2.2.0] - 2025-11-28
8
22
 
9
23
  - Update SGP and PBDB facets
@@ -1,11 +1,10 @@
1
- import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.d69c4a9f.js";
2
- import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5d969bc5.js";
1
+ import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.7d69838d.js";
2
+ import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.66ccfc44.js";
3
3
  import {getMixedUnitColor as $6698edd2a743bf07$export$175d3e927f1a9860} from "./column-views.9b77388d.js";
4
- import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.5a49cd68.js";
5
- import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.73b8ff16.js";
4
+ import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.75e5aebe.js";
5
+ import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.ef88c46c.js";
6
6
  import {resolveID as $d3e69bd163d41f63$export$7be7d732f3de9464} from "./column-views.006d5180.js";
7
7
  import "./column-views.f9dab157.js";
8
- import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5, useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./column-views.f2fd0e4a.js";
9
8
  import $7H3th$macrostrathyper from "@macrostrat/hyper";
10
9
  import {LithologyColumn as $7H3th$LithologyColumn, useColumnLayout as $7H3th$useColumnLayout, useGeologicPattern as $7H3th$useGeologicPattern} from "@macrostrat/column-components";
11
10
  import {useInDarkMode as $7H3th$useInDarkMode} from "@macrostrat/ui-components";
@@ -22,7 +21,6 @@ import {useMemo as $7H3th$useMemo} from "react";
22
21
 
23
22
 
24
23
 
25
-
26
24
  function $4c8184c4a7317749$export$3750278673318c9a({ width: width = 100 }) {
27
25
  /*
28
26
  A column showing units with USGS color fill
@@ -147,5 +145,5 @@ function $4c8184c4a7317749$var$getPatternID(liths, lithMap) {
147
145
  }
148
146
 
149
147
 
150
- export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider, $4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
151
- //# sourceMappingURL=column-views.986e7566.js.map
148
+ export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider};
149
+ //# sourceMappingURL=column-views.058c0083.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAqBO,SAAS,0CAAY,SAAE,QAAQ,KAAK;IACzC;;EAEA,GACA,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,sBAAc,GAAG;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAQ;AACjD;AAEO,SAAS,0CAAkB,KAA0B;IAC1D;;;EAGA,GACA,MAAM,eAAE,WAAW,SAAE,KAAK,eAAE,cAAc,gBAAG,cAAc,IAAI,GAAG;IAElE,OAAO,CAAA,GAAA,sBAAA,EAAE;QACP,CAAA,GAAA,sBAAA,EAAE,2CAAa;YACb,OAAO;QACT;QACA,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAc,GAAG;YACjB,WAAW,CAAC,UAAU,EAAE,cAAc,YAAY,CAAC,CAAC;YACpD,aAAa;YACb,OAAO,QAAQ,cAAc;QAC/B;KACD;AACH;AAEO,SAAS,yCAAmB,YAAE,QAAQ,EAAE,GAAG,MAAM;IACtD,6DAA6D,GAE7D,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAe;kBACtB;QACA,GAAG,IAAI;QACP,iBAAiB,SAAS,KAAK;QAC/B,WAAW,SAAS,SAAS;IAC/B;AACF;AAEO,SAAS,0CAAc,YAAE,QAAQ,YAAE,WAAW,GAAG,GAAG,MAAM;IAC/D,MAAM,QAAQ,KAAK,KAAK,IAAI,CAAA,GAAA,sBAAc,KAAK;IAE/C,MAAM,oBAAoB,SAAS,gBAAgB,EAAE,UAAU;IAC/D,MAAM,YAAY,qBAAqB,IAAI,IAAI;IAC/C,MAAM,WAAW,AAAC,CAAA,SAAS,MAAM,IAAI,CAAA,IAAK;IAC1C,MAAM,eAAe,QAAQ;IAC7B,MAAM,IAAI,AAAC,WAAW,QAAS;IAE/B,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAiB,GAAG;kBAC3B;QACA,GAAG,IAAI;QACP,OAAO;WACP;IACF;AACF;AAMO,SAAS,0CAAa,IAAI,EAAE,OAAyB,CAAC,CAAC;IAC5D,oDAAoD,GACpD,MAAM,UAAU,CAAA,GAAA,yCAAa;IAC7B,MAAM,aAAa,CAAA,GAAA,oBAAY;IAC/B,MAAM,gBAAE,eAAe,MAAM,GAAG;IAEhC,OAAO,CAAA,GAAA,cAAM,EAAE;QACb,IAAI,QAAQ,QAAQ,WAAW,MAAM,OAAO;QAC5C,OAAO,CAAA,GAAA,yCAAgB,EAAE,MAAM,SAAS,YAAY;IACtD,GAAG;QAAC,MAAM;QAAS;QAAS;QAAY;KAAa;AACvD;AAEO,SAAS,0CAAqB,KAAK;IACxC;uGACqG,GACrG,MAAM,kBAAkB,0CAAa,MAAM,QAAQ;IAEnD,MAAM,YAAY,CAAA,GAAA,cAAM,EAAE;QACxB,OAAO,CAAA,GAAA,yCAAQ,EAAE,MAAM,QAAQ,GAAG,iDAAiD;IACrF,GAAG;QAAC,MAAM,QAAQ,EAAE;KAAQ;IAE5B,MAAM,OAAO,CAAA,GAAA,yBAAiB,EAAE;IAEhC,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAe;cACtB;yBACA;QACA,GAAG,KAAK;IACV;AACF;AAEO,SAAS,yCACd,IAAI,EACJ,OAAyB,CAAC,CAAC;IAE3B,oDAAoD,GACpD,MAAM,iBAAiB,CAAA,GAAA,yCAAc;IACrC,MAAM,UAAU,CAAA,GAAA,yCAAa;IAC7B,MAAM,aAAa,CAAA,GAAA,oBAAY;IAC/B,MAAM,gBAAE,eAAe,MAAM,GAAG;IAEhC,OAAO,CAAA,GAAA,cAAM,EAAE;QACb,IAAI,QAAQ,QAAQ,kBAAkB,MAAM,OAAO;QACnD,IAAI,IAAI,CAAA,GAAA,yCAAgB,EAAE,MAAM,gBAAgB,YAAY,cAAc;YACxE,KAAK;YACL,QAAQ;QACV;QACA,IAAI,KAAK,MACP,OAAO;QAET,+DAA+D;QAC/D,OAAO,CAAA,GAAA,yCAAgB,EAAE,MAAM,SAAS,YAAY;IACtD,GAAG;QAAC,MAAM;QAAS;QAAgB;QAAS;QAAY;KAAa;AACvE;AAEO,SAAS,0CAAgC,KAAK;IACnD;uGACqG,GACrG,MAAM,kBAAkB,yCAA0B,MAAM,QAAQ;IAEhE,MAAM,YAAY,CAAA,GAAA,cAAM,EAAE;QACxB,OAAO,CAAA,GAAA,yCAAQ,EAAE,MAAM,QAAQ,GAAG,iDAAiD;IACrF,GAAG;QAAC,MAAM,QAAQ,EAAE;KAAQ;IAE5B,MAAM,OAAO,CAAA,GAAA,yBAAiB,EAAE;IAEhC,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAe;cACtB;yBACA;QACA,GAAG,KAAK;IACV;AACF;AAEA,SAAS,mCACP,KAAuB,EACvB,OAA+B;IAE/B,IAAI,WAAW,QAAQ,SAAS,QAAQ,MAAM,MAAM,IAAI,GACtD,OAAO;IAET,MAAM,aAAa,IAAI;IACvB,KAAK,MAAM,QAAQ,MAAO;QACxB,MAAM,WAAW,QAAQ,GAAG,CAAC,KAAK,OAAO;QACzC,IAAI,UACF,WAAW,GAAG,CAAC,GAAG,SAAS,IAAI,EAAE;IAErC;IACA,IAAI,KAAK,WAAW,MAAM,EAAE,CAAC,EAAE;IAC/B,IAAI,MAAM,KAAK,OAAO;IACtB,OAAO;AACT","sources":["packages/column-views/src/units/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":[],"version":3,"file":"column-views.058c0083.js.map"}
@@ -1,7 +1,7 @@
1
1
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
2
2
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
3
- import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.e4c26185.js";
4
- import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.f46a0b36.js";
3
+ import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.aeb61926.js";
4
+ import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.ad080c0e.js";
5
5
  import {useMapStyleOperator as $lRXWn$useMapStyleOperator} from "@macrostrat/mapbox-react";
6
6
  import $lRXWn$macrostrathyper from "@macrostrat/hyper";
7
7
  import {useMemo as $lRXWn$useMemo, useRef as $lRXWn$useRef} from "react";
@@ -165,4 +165,4 @@ function $9d5d216fa2057b5b$var$ColumnsLayer({ enabled: enabled = true }) {
165
165
 
166
166
 
167
167
  export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap};
168
- //# sourceMappingURL=column-views.8d24b179.js.map
168
+ //# sourceMappingURL=column-views.11ae78f7.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.8d24b179.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.11ae78f7.js.map"}
@@ -1,8 +1,8 @@
1
- import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
1
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.abf6aedd.js";
2
2
  import "./column-views.1151416d.css";
3
3
  import $kIqD4$columnviews6e7082dbjs from "./column-views.6e7082db.js";
4
4
  import {getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.54f8b909.js";
5
- import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.83395185.js";
5
+ import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.d2214a99.js";
6
6
  import {useCallback as $kIqD4$useCallback, useMemo as $kIqD4$useMemo} from "react";
7
7
  import $kIqD4$macrostrathyper from "@macrostrat/hyper";
8
8
 
@@ -89,4 +89,4 @@ function $c6d9d48b3424a44c$export$653e47a7a0da0f0d({ data: data, className: clas
89
89
 
90
90
 
91
91
  export {$c6d9d48b3424a44c$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $c6d9d48b3424a44c$export$653e47a7a0da0f0d as TruncatedList};
92
- //# sourceMappingURL=column-views.e84bd756.js.map
92
+ //# sourceMappingURL=column-views.1e579112.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAuB,QACrC,IAAI,iBACJ,aAAa,SACb,QAAQ,kBACR,cAAc,eACd,SAAS,aACT,YAAY,CAAC,IAAM,EAAE,OAAO,gBAC5B,YAAY,EACqB;IACjC,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElD,MAAM,gBACJ,gBACA,CAAA,GAAA,kBAAU,EACR,CAAC;QACC,OAAO,CAAC;YACN,OAAO,UAAU,OAAO,GAAG,OAAO;QACpC;IACF,GACA;QAAC;KAAU;IAGf,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,cAAc,MAAM,IAAI,CAAC,KAAK,MAAM,IACrC,GAAG,CAAC,CAAC;YACJ,OAAO;gBACL,MAAM;gBACN,MAAM,MAAM,IAAI,CAAC,cAAc;YACjC;QACF,GACC,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;QAE3B,YAAY,IAAI,CAAC,CAAC,GAAG;YACnB,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,OAAO,KAAK;QACd;QAEA,OAAO,YAAY,GAAG,CAAC,CAAC;YACtB,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;YACvB,MAAM,cAAc,CAAA,GAAA,wCAAiB,EAAE,MAAM;YAE7C,OAAO;gBACL,YAAY,WAAW,CAAC,EAAE;gBAC1B,QAAQ,WAAW,CAAC,EAAE;sBACtB;sBACA;gBACA,IAAI,KAAK,OAAO;YAClB;QACF;IACF,GAAG;QAAC;QAAM;QAAO;KAAa;IAE9B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,OACA;mBAAE;IAAU,GACZ,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;IACF;AAEJ;AASO,SAAS,0CAAc,QAC5B,IAAI,aACJ,SAAS,YACT,WAAW,iBACX,eAAe,CAAC,IAAM,wBAAE,QAAQ,EAAE,IAAI,GACnB;IACnB,IAAI,UAAU;IACd,IAAI,KAAK;IACT,IAAI,KAAK,MAAM,GAAG,UAAU;QAC1B,MAAM,IAAI,KAAK,MAAM,GAAG;QACxB,KAAK,KAAK,KAAK,CAAC,GAAG;QACnB,UAAU,wBAAE,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;IAC5C;IAEA,OAAO,wBAAE,qBAAqB;mBAAE;IAAU,GAAG;QAC3C,GAAG,GAAG,CAAC,CAAC,GAAG;YACT,OAAO,wBAAE,cAAc;gBAAE,KAAK;YAAE,GAAG,wBAAE,cAAc;gBAAE,MAAM;YAAE;QAC/D;QACA;KACD;AACH","sources":["packages/column-views/src/facets/base-sample-column.ts"],"sourcesContent":["import { useMacrostratColumnData } from \"../data-provider\";\nimport { useCallback, useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./base-sample-column.module.sass\";\nimport { getUnitHeightRange } from \"../prepare-units\";\nimport { ColumnNotes } from \"../notes\";\nconst h = hyper.styled(styles);\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n matchingUnit?: (dz: T) => (d: any) => boolean;\n}\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n getUnitID = (d) => d.unit_id,\n matchingUnit,\n}: BaseMeasurementsColumnProps<any>) {\n const { axisType, units } = useMacrostratColumnData();\n\n const _matchingUnit =\n matchingUnit ??\n useCallback(\n (dz) => {\n return (d) => {\n return getUnitID(d) === dz.unit_id;\n };\n },\n [getUnitID],\n );\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(_matchingUnit(d)),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units, matchingUnit]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.e84bd756.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAuB,QACrC,IAAI,iBACJ,aAAa,SACb,QAAQ,kBACR,cAAc,eACd,SAAS,aACT,YAAY,CAAC,IAAM,EAAE,OAAO,gBAC5B,YAAY,EACqB;IACjC,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElD,MAAM,gBACJ,gBACA,CAAA,GAAA,kBAAU,EACR,CAAC;QACC,OAAO,CAAC;YACN,OAAO,UAAU,OAAO,GAAG,OAAO;QACpC;IACF,GACA;QAAC;KAAU;IAGf,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,cAAc,MAAM,IAAI,CAAC,KAAK,MAAM,IACrC,GAAG,CAAC,CAAC;YACJ,OAAO;gBACL,MAAM;gBACN,MAAM,MAAM,IAAI,CAAC,cAAc;YACjC;QACF,GACC,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;QAE3B,YAAY,IAAI,CAAC,CAAC,GAAG;YACnB,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,OAAO,KAAK;QACd;QAEA,OAAO,YAAY,GAAG,CAAC,CAAC;YACtB,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;YACvB,MAAM,cAAc,CAAA,GAAA,wCAAiB,EAAE,MAAM;YAE7C,OAAO;gBACL,YAAY,WAAW,CAAC,EAAE;gBAC1B,QAAQ,WAAW,CAAC,EAAE;sBACtB;sBACA;gBACA,IAAI,KAAK,OAAO;YAClB;QACF;IACF,GAAG;QAAC;QAAM;QAAO;KAAa;IAE9B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,OACA;mBAAE;IAAU,GACZ,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;IACF;AAEJ;AASO,SAAS,0CAAc,QAC5B,IAAI,aACJ,SAAS,YACT,WAAW,iBACX,eAAe,CAAC,IAAM,wBAAE,QAAQ,EAAE,IAAI,GACnB;IACnB,IAAI,UAAU;IACd,IAAI,KAAK;IACT,IAAI,KAAK,MAAM,GAAG,UAAU;QAC1B,MAAM,IAAI,KAAK,MAAM,GAAG;QACxB,KAAK,KAAK,KAAK,CAAC,GAAG;QACnB,UAAU,wBAAE,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;IAC5C;IAEA,OAAO,wBAAE,qBAAqB;mBAAE;IAAU,GAAG;QAC3C,GAAG,GAAG,CAAC,CAAC,GAAG;YACT,OAAO,wBAAE,cAAc;gBAAE,KAAK;YAAE,GAAG,wBAAE,cAAc;gBAAE,MAAM;YAAE;QAC/D;QACA;KACD;AACH","sources":["packages/column-views/src/facets/base-sample-column.ts"],"sourcesContent":["import { useMacrostratColumnData } from \"../data-provider\";\nimport { useCallback, useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./base-sample-column.module.sass\";\nimport { getUnitHeightRange } from \"../prepare-units\";\nimport { ColumnNotes } from \"../notes\";\nconst h = hyper.styled(styles);\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n matchingUnit?: (dz: T) => (d: any) => boolean;\n}\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n getUnitID = (d) => d.unit_id,\n matchingUnit,\n}: BaseMeasurementsColumnProps<any>) {\n const { axisType, units } = useMacrostratColumnData();\n\n const _matchingUnit =\n matchingUnit ??\n useCallback(\n (dz) => {\n return (d) => {\n return getUnitID(d) === dz.unit_id;\n };\n },\n [getUnitID],\n );\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(_matchingUnit(d)),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units, matchingUnit]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.1e579112.js.map"}
@@ -1,8 +1,8 @@
1
1
  import "./column-views.562db43a.css";
2
2
  import $01tAX$columnviewsfcf25ec6js from "./column-views.fcf25ec6.js";
3
- import {useColumnUnitsMap as $d5074f164411387e$export$7513be0cfd10d9cc} from "./column-views.4fd4ec92.js";
4
- import {useMacrostratData as $774a5efa27d1c77b$export$b9c9fc603d74a555, useMacrostratDefs as $774a5efa27d1c77b$export$89dd4e5ae4a82373} from "./column-views.73b8ff16.js";
5
- import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0} from "./column-views.d69c4a9f.js";
3
+ import {useColumnUnitsMap as $d5074f164411387e$export$7513be0cfd10d9cc} from "./column-views.abf6aedd.js";
4
+ import {useMacrostratData as $774a5efa27d1c77b$export$b9c9fc603d74a555, useMacrostratDefs as $774a5efa27d1c77b$export$89dd4e5ae4a82373} from "./column-views.ef88c46c.js";
5
+ import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0} from "./column-views.7d69838d.js";
6
6
  import $01tAX$macrostrathyper from "@macrostrat/hyper";
7
7
  import {JSONView as $01tAX$JSONView} from "@macrostrat/ui-components";
8
8
  import {Button as $01tAX$Button, ButtonGroup as $01tAX$ButtonGroup} from "@blueprintjs/core";
@@ -218,7 +218,7 @@ function $448b24baeef3b229$var$UnitDetailsContent({ unit: unit, onSelectUnit: on
218
218
  function $448b24baeef3b229$export$895d4931dd696e25({ refs: refs, className: className = null, ...rest }) {
219
219
  if (refs == null || refs.length === 0) return null;
220
220
  return $448b24baeef3b229$var$h((0, $01tAX$DataField), {
221
- label: "Source",
221
+ label: "References",
222
222
  className: (0, $01tAX$classnames)("refs-field", className),
223
223
  ...rest
224
224
  }, $448b24baeef3b229$var$h($448b24baeef3b229$var$BibInfo, {
@@ -428,7 +428,7 @@ function $448b24baeef3b229$var$UnitIDList({ units: units, onSelectUnit: onSelect
428
428
  const extUnits = (0, $01tAX$useMemo)(()=>{
429
429
  const u1 = units.filter((d)=>d != 0);
430
430
  if (showNames) return u1.map((unitID)=>{
431
- const unitData = unitsMap.get(unitID);
431
+ const unitData = unitsMap?.get(unitID);
432
432
  let name = undefined;
433
433
  if (unitData != null) name = (0, $bc17276da4abb183$export$c9757aeb43a67df0)(unitData);
434
434
  return {
@@ -550,4 +550,4 @@ function $448b24baeef3b229$var$formatSignificance(value, precision = null) {
550
550
 
551
551
 
552
552
  export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$895d4931dd696e25 as ReferencesField, $448b24baeef3b229$export$989167234458594d as Identifier, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $448b24baeef3b229$export$b6867fc5221f9f65 as ClickableText};
553
- //# sourceMappingURL=column-views.77561197.js.map
553
+ //# sourceMappingURL=column-views.218e8f5d.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/unit-details/panel.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./panel.module.sass\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { Button, ButtonGroup } from \"@blueprintjs/core\";\nimport { ReactNode, useMemo, useState } from \"react\";\nimport {\n DataField,\n EnvironmentsList,\n IntervalShort,\n IntervalTag,\n ItemList,\n LithologyList,\n LithologyTagFeature,\n Parenthetical,\n Value,\n} from \"@macrostrat/data-components\";\nimport {\n useColumnUnitsMap,\n useMacrostratData,\n useMacrostratDefs,\n} from \"../data-provider\";\nimport type {\n Environment,\n UnitLong,\n UnitLongFull,\n Lithology,\n Interval,\n StratUnit,\n} from \"@macrostrat/api-types\";\nimport { defaultNameFunction } from \"../units/names\";\nimport classNames from \"classnames\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPanel({\n unit,\n onClose,\n className,\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n UnitDetailsFeature.JSONToggle,\n UnitDetailsFeature.DepthRange,\n ]),\n lithologyFeatures,\n actions,\n hiddenActions = null,\n onSelectUnit,\n columnUnits,\n onClickItem,\n}: {\n unit: any;\n onClose?: any;\n showLithologyProportions?: boolean;\n className?: string;\n actions?: ReactNode;\n hiddenActions?: ReactNode;\n features?: Set<UnitDetailsFeature>;\n lithologyFeatures?: Set<LithologyTagFeature>;\n columnUnits?: UnitLong[];\n onSelectUnit?: (unitID: number) => void;\n onClickItem?: (item: any) => void;\n}) {\n const [showJSON, setShowJSON] = useState(false);\n\n let content = null;\n if (showJSON) {\n content = h(JSONView, { data: unit, showRoot: false });\n } else {\n content = h(UnitDetailsContent, {\n unit,\n features,\n lithologyFeatures,\n onClickItem,\n onSelectUnit,\n });\n }\n\n let title = defaultNameFunction(unit);\n\n if (features.has(UnitDetailsFeature.JSONToggle)) {\n hiddenActions = h([\n h(Button, {\n icon: \"code\",\n small: true,\n minimal: true,\n key: \"json-view-toggle\",\n className: classNames(\"json-view-toggle\", { enabled: setShowJSON }),\n onClick(evt) {\n setShowJSON(!showJSON);\n evt.stopPropagation();\n },\n }),\n hiddenActions,\n ]);\n }\n\n return h(\"div.unit-details-panel\", { className }, [\n h(LegendPanelHeader, {\n onClose,\n title,\n id: unit.unit_id,\n actions,\n hiddenActions,\n }),\n h(\"div.unit-details-content-holder\", content),\n ]);\n}\n\nexport function LegendPanelHeader({\n title,\n id,\n onClose,\n actions = null,\n hiddenActions,\n}: {\n title?: string | null;\n id?: number | null;\n onClose?: () => void;\n actions?: ReactNode | null;\n hiddenActions?: ReactNode | null;\n}) {\n return h(\"header.legend-panel-header\", [\n h(\"div.title-container\", [\n h.if(title != null)(\"h3\", title),\n h.if(hiddenActions != null)(\n \"span.hidden-actions-container\",\n h(\"div.hidden-actions\", hiddenActions),\n ),\n ]),\n h(\"div.spacer\"),\n h.if(id != null)(\"code.unit-id\", id),\n h.if(actions != null)(ButtonGroup, { minimal: true }, actions),\n h.if(onClose != null)(Button, {\n icon: \"cross\",\n minimal: true,\n small: true,\n onClick() {\n onClose();\n },\n }),\n ]);\n}\n\nexport enum UnitDetailsFeature {\n AdjacentUnits = \"adjacent-units\",\n Color = \"color\",\n OutcropType = \"outcrop-type\",\n JSONToggle = \"json-toggle\",\n DepthRange = \"depth-range\",\n}\n\nfunction UnitDetailsContent({\n unit,\n onSelectUnit,\n columnUnits,\n lithologyFeatures = new Set([\n LithologyTagFeature.Proportion,\n LithologyTagFeature.Attributes,\n ]),\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n ]),\n onClickItem,\n getItemHref,\n}: {\n unit: UnitLong;\n onSelectUnit?: (unitID: number) => void;\n columnUnits?: UnitLong[];\n lithologyFeatures?: Set<LithologyTagFeature>;\n features?: Set<UnitDetailsFeature>;\n onClickItem?: (\n event: MouseEvent,\n item:\n | Lithology\n | Environment\n | UnitLong\n | Interval\n | { strat_name_id: number },\n ) => void;\n getItemHref?: (item: Lithology | Environment | UnitLong) => string | null;\n}) {\n const lithMap = useMacrostratDefs(\"lithologies\");\n const envMap = useMacrostratDefs(\"environments\");\n\n const environments = enhanceEnvironments(unit.environ, envMap);\n const lithologies = enhanceLithologies(unit.lith ?? [], lithMap);\n\n // Create a lookup table of units if provided\n const columnUnitsMap = useMemo(() => {\n const map = new Map<number, UnitLong>();\n for (const colUnit of columnUnits ?? []) {\n map.set(colUnit.unit_id, colUnit);\n }\n return map;\n }, [columnUnits]);\n\n let outcropField = null;\n if (features.has(UnitDetailsFeature.OutcropType)) {\n // Determine outcrop type\n let outcrop = unit.outcrop;\n if (outcrop == \"both\") {\n outcrop = \"surface and subsurface\";\n }\n outcropField = h(DataField, {\n label: \"Outcrop\",\n value: outcrop,\n });\n }\n\n let thicknessOrHeightRange = null;\n const [thickness, thicknessUnit] = getThickness(unit);\n // Proxy for actual heights in t_pos and b_pos\n if (\n features.has(UnitDetailsFeature.DepthRange) &&\n unit.t_pos != null &&\n unit.b_pos != null &&\n unit.min_thick == unit.max_thick && // We have an actual fixed height\n unit.min_thick != 0 // Not a zero thickness\n ) {\n const label = unit.t_pos < unit.b_pos ? \"Depth\" : \"Height\";\n const u1 = \"m\";\n\n thicknessOrHeightRange = h(DataField, {\n unit: u1,\n label,\n value: formatRange(unit.b_pos, unit.t_pos),\n children: h(\n Parenthetical,\n h(Value, { value: thickness, unit: thicknessUnit }),\n ),\n });\n }\n thicknessOrHeightRange ??= h(DataField, {\n label: \"Thickness\",\n value: thickness,\n unit: thicknessUnit,\n });\n\n /** We are trying to move away from passing the \"color\" parameter in the API */\n let colorSwatch: ReactNode = null;\n if (\"color\" in unit && features.has(UnitDetailsFeature.Color)) {\n const unit1 = unit as UnitLongFull;\n colorSwatch = h(\"div.color-swatch\", {\n style: { backgroundColor: unit1.color },\n });\n }\n\n return h(\"div.unit-details-content\", [\n thicknessOrHeightRange,\n h(LithologyList, {\n label: \"Lithology\",\n lithologies,\n features: lithologyFeatures,\n getItemHref,\n onClickItem,\n }),\n h(AgeField, { unit }, [\n h(Parenthetical, h(Duration, { value: unit.b_age - unit.t_age })),\n h(IntervalProportions, {\n unit,\n onClickItem,\n }),\n ]),\n h(EnvironmentsList, {\n environments,\n onClickItem,\n getItemHref,\n }),\n h.if(unit.strat_name_id != null)(StratNameField, {\n strat_name_id: unit.strat_name_id,\n }),\n outcropField,\n h.if(features.has(UnitDetailsFeature.AdjacentUnits))([\n h(\n DataField,\n { label: \"Above\" },\n h(UnitIDList, {\n units: unit.units_above,\n onSelectUnit,\n showNames: true,\n }),\n ),\n h(\n DataField,\n { label: \"Below\" },\n h(UnitIDList, {\n units: unit.units_below,\n onSelectUnit,\n showNames: true,\n }),\n ),\n ]),\n colorSwatch,\n h(ReferencesField, { refs: unit.refs, inline: true }),\n ]);\n}\n\nexport function ReferencesField({ refs, className = null, ...rest }) {\n if (refs == null || refs.length === 0) {\n return null;\n }\n\n return h(\n DataField,\n {\n label: \"References\",\n className: classNames(\"refs-field\", className),\n ...rest,\n },\n h(BibInfo, { refs }),\n );\n}\n\nfunction StratNameField({\n strat_name_id,\n onClickItem,\n}: {\n strat_name_id: number;\n onClickItem?: (event: MouseEvent, item: { strat_name_id: number }) => void;\n}) {\n const stratNames = useMemo(() => [strat_name_id], [strat_name_id]);\n const data = useMacrostratData(\"strat_names\", stratNames);\n const stratNameData = data?.[0];\n let inner: any = h(Identifier, { id: strat_name_id });\n const name = stratNameData?.strat_name_long;\n if (name != null) {\n inner = h(\"span.strat-name\", name);\n }\n\n const clickable = onClickItem != null;\n\n const className = classNames({\n clickable,\n });\n\n return h(\n DataField,\n {\n label: \"Stratigraphic name\",\n },\n h(\n clickable ? \"a\" : \"span\",\n {\n className,\n onClick: (e) => onClickItem(e, { strat_name_id }),\n },\n inner,\n ),\n );\n}\n\nfunction getThickness(unit): [string, string] {\n let minThickness = unit.min_thick ?? 0;\n let maxThickness = unit.max_thick ?? unit.min_thick ?? 0;\n let _unit = \"m\";\n\n if (minThickness == 0 && maxThickness == 0) {\n return [\"Unknown\", null];\n }\n\n if (minThickness < 0.8 && maxThickness < 1.2) {\n // Convert to cm\n minThickness = minThickness * 100;\n maxThickness = maxThickness * 100;\n _unit = \"cm\";\n } else if (minThickness > 800 && maxThickness > 1200) {\n // Convert to km\n minThickness = minThickness / 1000;\n maxThickness = maxThickness / 1000;\n _unit = \"km\";\n }\n\n if (minThickness == maxThickness) {\n return [formatSignificance(minThickness), _unit];\n }\n\n return [formatRange(minThickness, maxThickness), _unit];\n}\n\nfunction ThicknessField({ unit, label = \"Thickness\" }) {\n const [value, thicknessUnit] = getThickness(unit);\n return h(DataField, {\n label,\n value,\n unit: thicknessUnit,\n });\n}\n\nfunction BibInfo({ refs }) {\n const refData = useMacrostratData(\"refs\", refs);\n\n if (refData == null || refData.length === 0) {\n return null;\n }\n\n if (refData.length == 1) {\n return h(Citation, {\n data: refData[0],\n tag: \"span\",\n key: refData[0].ref_id,\n });\n }\n\n return h(\n \"ul.refs\",\n refData.map((data, i) =>\n h(Citation, { data, tag: \"li\", key: data.ref_id }),\n ),\n );\n}\n\nfunction Citation({ data, tag = \"p\" }) {\n return h(tag, { className: \"citation\" }, [\n h(\"span.authors\", data.author),\n \", \",\n h(\"span.year\", data.pub_year),\n \", \",\n h(\"span.title\", data.ref),\n ]);\n}\n\nfunction AgeField({ unit, children }) {\n const [b_age, t_age, _unit] = getAgeRange(unit);\n\n return h(\n DataField,\n {\n label: \"Age\",\n value: formatRange(b_age, t_age),\n unit: _unit,\n },\n children,\n );\n}\n\nfunction getAgeRange(_unit) {\n let b_age = _unit.b_age;\n let t_age = _unit.t_age;\n let unit = \"Ma\";\n\n if (b_age < 0.8 && t_age < 1.2) {\n b_age *= 1000;\n t_age *= 1000;\n unit = \"ka\";\n } else if (b_age > 800 && t_age > 1200) {\n b_age /= 1000;\n t_age /= 1000;\n unit = \"Ga\";\n }\n\n return [b_age, t_age, unit];\n}\n\nfunction getAge(value) {\n /** Get the age value in Ma, ka, or Ga as appropriate */\n let unit = \"Ma\";\n if (value < 0.8) {\n unit = \"ka\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Ga\";\n value /= 1000;\n }\n\n return [value, unit];\n}\n\nexport function AgeLabel({\n age,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n className,\n}: {\n age: number;\n className?: string;\n maximumFractionDigits?: number;\n minimumFractionDigits?: number;\n}) {\n /** Component to display a single age value with unit conversion from\n * Ma to ka or Ga as appropriate.\n */\n const [value, unit] = getAge(age);\n\n const _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit, className });\n}\n\nexport function Duration({\n value,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n}) {\n let unit = \"Myr\";\n if (value < 0.8) {\n unit = \"kyr\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Gyr\";\n value /= 1000;\n }\n\n let _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit });\n}\n\nfunction enhanceEnvironments(\n environments: Partial<Environment>[],\n envMap: Map<number, Environment>,\n) {\n return environments.map((env) => {\n return {\n ...(envMap?.get(env.environ_id) ?? {}),\n ...env,\n };\n });\n}\n\nfunction enhanceLithologies(\n lithologies: Partial<UnitLong[\"lith\"]>,\n lithMap: Map<number, any>,\n) {\n return lithologies.map((lith) => {\n return {\n ...(lithMap?.get(lith.lith_id) ?? {}), // get lithology details\n ...lith, // override with the unit's specific lithology data\n };\n });\n}\n\nexport function ClickableText({\n onClick,\n className,\n children,\n}: {\n onClick: () => void;\n className?: string;\n children: ReactNode;\n}) {\n /** An optionally clickable text element */\n const tag = onClick != null ? \"a\" : \"span\";\n return h(tag, { onClick, className }, children);\n}\n\nexport function Identifier({\n id,\n onClick,\n className,\n}: {\n id: number | string;\n onClick?: (id: number | string) => void;\n className?: string;\n}) {\n /** An item that displays a numeric identifier, optionally clickable */\n const _onClick = onClick != null ? () => onClick(id) : null;\n\n return h(\n ClickableText,\n {\n onClick: _onClick,\n className: classNames(\"identifier\", className),\n },\n id,\n );\n}\n\ntype UnitInfo = {\n unitID: number;\n colID?: number;\n name?: string;\n};\n\nfunction UnitIDList({ units, onSelectUnit, showNames = false }) {\n const unitsMap = useColumnUnitsMap();\n\n const extUnits: UnitInfo[] = useMemo(() => {\n const u1 = units.filter((d) => d != 0);\n if (showNames) {\n return u1.map((unitID) => {\n const unitData = unitsMap?.get(unitID);\n let name: string = undefined;\n if (unitData != null) {\n name = defaultNameFunction(unitData);\n }\n return {\n unitID,\n colID: unitData?.col_id,\n name,\n };\n });\n } else {\n return u1.map((unitID) => ({ unitID }));\n }\n }, [units, unitsMap]);\n\n if (extUnits.length === 0) {\n return h(\"span.no-units\", \"None\");\n }\n\n return h(\n ItemList,\n { className: \"units-list\" },\n extUnits.map((info) =>\n h(\"span.item\", h(UnitIdentifier, { ...info, onSelectUnit })),\n ),\n );\n}\n\nfunction UnitIdentifier({\n unitID,\n colID,\n name,\n onSelectUnit,\n}: UnitInfo & { onSelectUnit?: (unitID: number) => void }) {\n const onClick = useMemo(() => {\n if (onSelectUnit == null) return null;\n return () => {\n onSelectUnit(unitID);\n };\n }, [onSelectUnit]);\n\n if (name != null) {\n return h(\n ClickableText,\n {\n className: \"unit-name\",\n onClick,\n },\n name,\n );\n }\n\n return h(Identifier, {\n className: \"unit-id\",\n onClick,\n key: unitID,\n id: unitID,\n });\n}\n\nfunction IntervalProportions({ unit, onClickItem }) {\n const i0 = unit.b_int_id;\n const i1 = unit.t_int_id;\n let b_prop = unit.b_prop ?? 0;\n let t_prop = unit.t_prop ?? 1;\n\n const intervalMap = useMacrostratDefs(\"intervals\");\n const int0 = intervalMap?.get(i0) ?? {};\n\n const interval0: IntervalShort = {\n ...int0,\n id: i0,\n name: unit.b_int_name,\n };\n\n let p0: ReactNode = null;\n const int1 = intervalMap?.get(i1) ?? {};\n const p1: ReactNode = h(Proportion, { value: t_prop });\n\n if (i0 !== i1 || b_prop !== 0 || t_prop !== 1) {\n // We have a single interval with undefined proportions\n p0 = h(Proportion, { value: b_prop });\n }\n\n if (i0 === i1 && (b_prop !== 0 || t_prop !== 1)) {\n p0 = h(\"span.joint-proportion\", [p0, h(\"span.sep\", \"to\"), p1]);\n }\n\n const clickable = onClickItem != null;\n\n const handleClick = (event: MouseEvent) => {\n if (onClickItem) {\n onClickItem(event, interval0);\n }\n };\n\n return h(\"div.interval-proportions\", [\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: interval0,\n prefix: p0,\n }),\n h.if(i0 != i1)(\"span.discourage-break\", [\n h(\"span.sep\", \"to\"),\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: {\n ...int1,\n id: i1,\n name: unit.t_int_name,\n },\n prefix: p1,\n }),\n ]),\n ]);\n}\n\nconst formatProportion = (d) => {\n if (d == null) return null;\n return d.toFixed(1);\n};\n\nfunction Proportion({ value }) {\n let content = null;\n if (value == 0) {\n content = \"base\";\n } else if (value == 1) {\n content = \"top\";\n } else {\n content = formatProportion(value * 100) + \"%\";\n }\n\n return h(\"span.proportion\", content);\n}\n\nfunction formatRange(min, max, precision = null) {\n if (min == null || max == null) return null;\n if (min === max) {\n return min.toFixed(precision);\n }\n\n return `${formatSignificance(min, precision)}–${formatSignificance(\n max,\n precision,\n )}`;\n}\n\nfunction formatSignificance(value, precision = null) {\n // Format to preserve a reasonable number of significant figures\n // this could be done with an easier algorithm, probably:\n\n if (precision == null) {\n return value.toLocaleString();\n }\n if (precision >= 0) {\n return value.toFixed(precision);\n }\n if (precision < 0) {\n return (\n (value / Math.pow(10, -precision)).toFixed(0) + \"0\".repeat(-precision)\n );\n }\n}\n"],"names":[],"version":3,"file":"column-views.218e8f5d.js.map"}
@@ -1,4 +1,4 @@
1
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76} from "./column-views.4fd4ec92.js";
1
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76} from "./column-views.abf6aedd.js";
2
2
  import {line as $iZTQD$line} from "d3-shape";
3
3
  import {createContext as $iZTQD$createContext, useContext as $iZTQD$useContext} from "react";
4
4
  import $iZTQD$macrostrathyper from "@macrostrat/hyper";
@@ -83,4 +83,4 @@ const $5f39f3d52558a1d0$export$919dbb10b6b5b75 = ()=>(0, $iZTQD$useContext)($5f3
83
83
 
84
84
 
85
85
  export {$5f39f3d52558a1d0$export$309ef8546e07d921 as IsotopesDataArea, $5f39f3d52558a1d0$export$4cb5d059db4e2bd as IsotopeDataPoint, $5f39f3d52558a1d0$export$628a3ef6eb9c3a89 as IsotopeDataLine, $5f39f3d52558a1d0$export$919dbb10b6b5b75 as useDataLocator};
86
- //# sourceMappingURL=column-views.0f7f6ee6.js.map
86
+ //# sourceMappingURL=column-views.30950997.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;AAMA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,SAAS,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,IAAI;IAEhD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,QAAQ,OAAO,GAAG;IAChE,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"column-views.0f7f6ee6.js.map"}
1
+ {"mappings":";;;;;;;;;;;AAMA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,SAAS,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,IAAI;IAEhD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,QAAQ,OAAO,GAAG;IAChE,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"column-views.30950997.js.map"}
@@ -1,4 +1,4 @@
1
- import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.86a51ce7.js";
1
+ import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.6d63971b.js";
2
2
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
3
3
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
4
4
  import {useMapClickHandler as $6wt91$useMapClickHandler, useMapStyleOperator as $6wt91$useMapStyleOperator, useMapEaseTo as $6wt91$useMapEaseTo} from "@macrostrat/mapbox-react";
@@ -196,4 +196,4 @@ function $dcd183b733f66144$var$SectionLine({ padding: padding }) {
196
196
 
197
197
 
198
198
  export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap};
199
- //# sourceMappingURL=column-views.3e1b8c7d.js.map
199
+ //# sourceMappingURL=column-views.35efe006.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\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 console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.3e1b8c7d.js.map"}
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\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 console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.35efe006.js.map"}
@@ -1,8 +1,8 @@
1
- import {PBDBFossilsColumn as $b9286605a04210d4$export$554267114407ef68, PBDBOccurrencesMatrix as $b9286605a04210d4$export$652730986cccff7a, FossilDataType as $a3ff7da576c02df0$export$a990c76b38782f57} from "./column-views.6c644353.js";
2
- import {DetritalColumn as $715dd5fedd79146a$export$f176396e104db8d5, DetritalGroup as $715dd5fedd79146a$export$1b3047373cd1c8c7} from "./column-views.ae7c0a2b.js";
3
- import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748, MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, MeasurementDataProvider as $5dbb619f2c7bef60$export$5f01d5b342a89841, useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.9ddbe7df.js";
4
- import {SGPMeasurementsColumn as $6ff130029901daab$export$c49cf57576706bab} from "./column-views.2d602a57.js";
5
- import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.e84bd756.js";
1
+ import {PBDBFossilsColumn as $b9286605a04210d4$export$554267114407ef68, PBDBOccurrencesMatrix as $b9286605a04210d4$export$652730986cccff7a, FossilDataType as $a3ff7da576c02df0$export$a990c76b38782f57} from "./column-views.d6d6df77.js";
2
+ import {DetritalColumn as $715dd5fedd79146a$export$f176396e104db8d5, DetritalGroup as $715dd5fedd79146a$export$1b3047373cd1c8c7} from "./column-views.76a220c4.js";
3
+ import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748, MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, MeasurementDataProvider as $5dbb619f2c7bef60$export$5f01d5b342a89841, useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.5456a1ee.js";
4
+ import {SGPMeasurementsColumn as $6ff130029901daab$export$c49cf57576706bab} from "./column-views.7243e77d.js";
5
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.1e579112.js";
6
6
 
7
7
 
8
8
 
@@ -12,4 +12,4 @@ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, Tru
12
12
 
13
13
 
14
14
  export {$b9286605a04210d4$export$554267114407ef68 as PBDBFossilsColumn, $b9286605a04210d4$export$652730986cccff7a as PBDBOccurrencesMatrix, $a3ff7da576c02df0$export$a990c76b38782f57 as FossilDataType, $715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn, $715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup, $d71d096cfe00860f$export$c69bd0285aa5d775 as IsotopesDataset, $d71d096cfe00860f$export$5d8aa8022c284748 as IsotopesColumn, $5dbb619f2c7bef60$export$c644ef985ce7a4c4 as MeasurementDataContext, $5dbb619f2c7bef60$export$5f01d5b342a89841 as MeasurementDataProvider, $5dbb619f2c7bef60$export$8a0335fd9ff72150 as useMeasurementData, $6ff130029901daab$export$c49cf57576706bab as SGPMeasurementsColumn, $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $c6d9d48b3424a44c$export$653e47a7a0da0f0d as TruncatedList};
15
- //# sourceMappingURL=column-views.e3bf5384.js.map
15
+ //# sourceMappingURL=column-views.43beafa3.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/facets/index.ts"],"sourcesContent":["export * from \"./fossils\";\nexport * from \"./detrital-zircon\";\nexport * from \"./carbon-isotopes\";\nexport * from \"./measurements\";\nexport * from \"./base-sample-column\";\n"],"names":[],"version":3,"file":"column-views.e3bf5384.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/facets/index.ts"],"sourcesContent":["export * from \"./fossils\";\nexport * from \"./detrital-zircon\";\nexport * from \"./carbon-isotopes\";\nexport * from \"./measurements\";\nexport * from \"./base-sample-column\";\n"],"names":[],"version":3,"file":"column-views.43beafa3.js.map"}
@@ -1,4 +1,4 @@
1
- import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.d9c6b527.js";
1
+ import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.ee525e88.js";
2
2
  import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, stringifyLine as $c491b6231216b7f9$export$8c53992169ff5301} from "./column-views.beb54e95.js";
3
3
 
4
4
 
@@ -6,4 +6,4 @@ import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, string
6
6
 
7
7
 
8
8
  export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart, $c491b6231216b7f9$export$77c3cc7a57c6db5f as parseLineFromString, $c491b6231216b7f9$export$8c53992169ff5301 as stringifyLine};
9
- //# sourceMappingURL=column-views.53186d53.js.map
9
+ //# sourceMappingURL=column-views.44d3797a.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.53186d53.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.44d3797a.js.map"}