@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
@@ -1,12 +1,12 @@
1
1
  import $bTsJU$columnviewscc733361js from "./column-views.cc733361.js";
2
- import "./column-views.e33ac5c9.css";
3
- import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.986e7566.js";
4
- import {UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.f2fd0e4a.js";
5
- import {Identifier as $448b24baeef3b229$export$989167234458594d, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25} from "./column-views.77561197.js";
6
- import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.c518ef14.js";
7
- import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
8
- import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.0859feb3.js";
9
- import {ApproximateHeightAxis as $43794af7643cdf40$export$82731b9607850ca6, CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.285cbb65.js";
2
+ import "./column-views.e93478c3.css";
3
+ import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.058c0083.js";
4
+ import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.abf6aedd.js";
5
+ import {UnitKeyboardNavigation as $61771df184788970$export$70f5ee19650fc7d1, UnitSelectionProvider as $61771df184788970$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $61771df184788970$export$77a278d5ca56e309} from "./column-views.c44febd0.js";
6
+ import {Identifier as $448b24baeef3b229$export$989167234458594d, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25} from "./column-views.218e8f5d.js";
7
+ import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.729a6728.js";
8
+ import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.7b4a1f15.js";
9
+ import {ApproximateHeightAxis as $43794af7643cdf40$export$82731b9607850ca6, CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.9dd25b5b.js";
10
10
  import {HybridScaleType as $1254c5929638d7f9$export$45e8e2d7a1794c23} from "./column-views.079119f4.js";
11
11
  import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.3a7179c4.js";
12
12
  import {ColumnAxisType as $bTsJU$ColumnAxisType} from "@macrostrat/column-components";
@@ -37,7 +37,7 @@ function $parcel$interopDefault(a) {
37
37
 
38
38
  const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviewscc733361js))));
39
39
  function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
40
- const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $bTsJU$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, hybridScale: hybridScale, scale: scale, ...rest } = props;
40
+ const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, hybridScale: hybridScale, scale: scale, axisType: axisType, ...rest } = props;
41
41
  const ref = (0, $bTsJU$useRef)();
42
42
  // Selected item position
43
43
  /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies
@@ -49,8 +49,16 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
49
49
  _minSectionHeight = 0;
50
50
  _minPixelScale = pixelScale;
51
51
  }
52
+ // Handle special cases for hybrid scales (WIP, we need to regularize this)
53
+ let _axisType = axisType ?? (0, $bTsJU$ColumnAxisType).AGE;
54
+ let ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34);
55
+ if (hybridScale?.type === (0, $1254c5929638d7f9$export$45e8e2d7a1794c23).ApproximateHeight && _axisType != (0, $bTsJU$ColumnAxisType).AGE) {
56
+ // Use approximate height axis for non-age columns if a non-age axis type is requested
57
+ ageAxisComponent = (0, $43794af7643cdf40$export$82731b9607850ca6);
58
+ _axisType = (0, $bTsJU$ColumnAxisType).AGE;
59
+ }
52
60
  const { sections: sections, units: units, totalHeight: totalHeight } = (0, $76e92a964ee11b97$export$206a0cb85295e433)(rawUnits, {
53
- axisType: axisType,
61
+ axisType: _axisType,
54
62
  t_age: t_age,
55
63
  b_age: b_age,
56
64
  t_pos: t_pos,
@@ -71,9 +79,6 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
71
79
  description: "No sections found in this column.",
72
80
  icon: "warning-sign"
73
81
  }));
74
- let ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34);
75
- if (hybridScale?.type === (0, $1254c5929638d7f9$export$45e8e2d7a1794c23).ApproximateHeight && axisType != (0, $bTsJU$ColumnAxisType).AGE) // Use approximate height axis for non-age columns if a non-age axis type is requested
76
- ageAxisComponent = (0, $43794af7643cdf40$export$82731b9607850ca6);
77
82
  let main = $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
78
83
  columnRef: ref,
79
84
  ageAxisComponent: ageAxisComponent,
@@ -81,7 +86,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
81
86
  }, [
82
87
  children,
83
88
  $2118f0266dc7e955$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
84
- $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1), {
89
+ $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $61771df184788970$export$70f5ee19650fc7d1), {
85
90
  units: units
86
91
  })
87
92
  ]);
@@ -89,7 +94,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
89
94
  we enable it.
90
95
  */ let _allowUnitSelection = allowUnitSelection ?? false;
91
96
  if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;
92
- if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
97
+ if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $61771df184788970$export$f19d75b1d4b676a4), {
93
98
  columnRef: ref,
94
99
  onUnitSelected: onUnitSelected,
95
100
  selectedUnit: selectedUnit,
@@ -99,7 +104,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
99
104
  units: units,
100
105
  sections: sections,
101
106
  totalHeight: totalHeight,
102
- axisType: axisType
107
+ axisType: _axisType
103
108
  }, main);
104
109
  }
105
110
  function $2118f0266dc7e955$var$ColumnInner(props) {
@@ -111,8 +116,13 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
111
116
  "--column-padding-left": `${padding.paddingLeft}px`,
112
117
  "--column-padding-right": `${padding.paddingRight}px`
113
118
  };
114
- const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver, ageAxisComponent: ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34) } = props;
119
+ const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = "minimal", showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver, ageAxisComponent: ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34) } = props;
115
120
  const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
121
+ // Coalesce unconformity label setting to a boolean
122
+ let _timescaleUnconformityLabels = false;
123
+ let _sectionUnconformityLabels = false;
124
+ if (unconformityLabels === true || unconformityLabels === "prominent") _sectionUnconformityLabels = true;
125
+ else if (unconformityLabels === "minimal") _timescaleUnconformityLabels = true;
116
126
  let width = _width;
117
127
  let columnWidth = _columnWidth;
118
128
  if (columnWidth > width) columnWidth = width;
@@ -130,7 +140,8 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
130
140
  }, [
131
141
  $2118f0266dc7e955$var$h(ageAxisComponent),
132
142
  $2118f0266dc7e955$var$h.if(_showTimescale)((0, $7d0f52717c0de7e1$export$db2df5a73a6fbe10), {
133
- levels: timescaleLevels
143
+ levels: timescaleLevels,
144
+ unconformityLabels: _timescaleUnconformityLabels
134
145
  }),
135
146
  $2118f0266dc7e955$var$h((0, $7d0f52717c0de7e1$export$38cb0ab5af8f50d7), {
136
147
  unitComponent: unitComponent,
@@ -139,7 +150,7 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
139
150
  columnWidth: columnWidth,
140
151
  showLabelColumn: showLabelColumn,
141
152
  clipUnits: clipUnits,
142
- unconformityLabels: unconformityLabels,
153
+ unconformityLabels: _sectionUnconformityLabels,
143
154
  maxInternalColumns: maxInternalColumns
144
155
  }),
145
156
  children
@@ -147,7 +158,7 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
147
158
  }
148
159
  function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
149
160
  /** Click event handler */ // Click handler for unit selection
150
- const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
161
+ const dispatch = (0, $61771df184788970$export$77a278d5ca56e309)();
151
162
  const onClick = (0, $bTsJU$useCallback)((evt)=>{
152
163
  dispatch?.(null, null, evt);
153
164
  }, [
@@ -189,7 +200,7 @@ function $2118f0266dc7e955$export$2194471aa3d52446(props) {
189
200
  ...rest
190
201
  });
191
202
  }
192
- function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: showColumnID = true }) {
203
+ function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: showColumnID = true, showReferences: showReferences = true }) {
193
204
  if (data == null) return null;
194
205
  return $2118f0266dc7e955$var$h("div.column-info", [
195
206
  $2118f0266dc7e955$var$h("div.column-title-row", [
@@ -203,10 +214,10 @@ function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: s
203
214
  label: "Group",
204
215
  value: data.col_group
205
216
  }),
206
- $2118f0266dc7e955$var$h((0, $448b24baeef3b229$export$895d4931dd696e25), {
217
+ $2118f0266dc7e955$var$h.if(showReferences)((0, $448b24baeef3b229$export$895d4931dd696e25), {
207
218
  refs: data.refs,
208
219
  inline: false,
209
- row: true,
220
+ row: false,
210
221
  className: "column-refs"
211
222
  })
212
223
  ]);
@@ -214,4 +225,4 @@ function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: s
214
225
 
215
226
 
216
227
  export {$2118f0266dc7e955$export$816b5d811295e6bc as Column, $2118f0266dc7e955$export$2194471aa3d52446 as ColumnContainer, $2118f0266dc7e955$export$fcdf79c491a4504f as ColumnBasicInfo};
217
- //# sourceMappingURL=column-views.3f528c5c.js.map
228
+ //# sourceMappingURL=column-views.52ad973a.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n Box,\n extractPadding,\n Padding,\n useDarkMode,\n} from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport {\n RefObject,\n useRef,\n HTMLAttributes,\n useCallback,\n CSSProperties,\n ComponentType,\n} from \"react\";\nimport styles from \"./column.module.sass\";\nimport { UnitComponent } from \"./units\";\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./data-provider\";\n\nimport {\n Identifier,\n ReferencesField,\n UnitSelectionPopover,\n} from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { ApproximateHeightAxis, CompositeAgeAxis } from \"./age-axis\";\nimport {\n MergeSectionsMode,\n usePreparedColumnUnits,\n HybridScaleType,\n ColumnHeightScaleOptions,\n} from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\nimport { DataField } from \"@macrostrat/data-components\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n unconformityLabels?: boolean | UnconformityLabelPlacement;\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport type UnconformityLabelPlacement = \"minimal\" | \"prominent\" | \"none\";\n\nexport interface ColumnProps\n extends Padding, BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n t_pos?: number;\n b_pos?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n t_age,\n b_age,\n t_pos,\n b_pos,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n hybridScale,\n scale,\n axisType,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */\n let _targetUnitHeight = targetUnitHeight;\n let _minSectionHeight = minSectionHeight;\n let _minPixelScale = minPixelScale;\n if (pixelScale != null) {\n _targetUnitHeight = null;\n _minSectionHeight = 0;\n _minPixelScale = pixelScale;\n }\n\n // Handle special cases for hybrid scales (WIP, we need to regularize this)\n let _axisType = axisType ?? ColumnAxisType.AGE;\n let ageAxisComponent = CompositeAgeAxis;\n if (\n hybridScale?.type === HybridScaleType.ApproximateHeight &&\n _axisType != ColumnAxisType.AGE\n ) {\n // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = ApproximateHeightAxis;\n _axisType = ColumnAxisType.AGE;\n }\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType: _axisType,\n t_age,\n b_age,\n t_pos,\n b_pos,\n mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities,\n // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(\n ColumnInner,\n { columnRef: ref, ageAxisComponent, ...rest },\n [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ],\n );\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType: _axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n ageAxisComponent?: ComponentType;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const padding = extractPadding(props);\n\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars: any = {\n \"--column-padding-top\": `${padding.paddingTop}px`,\n \"--column-padding-bottom\": `${padding.paddingBottom}px`,\n \"--column-padding-left\": `${padding.paddingLeft}px`,\n \"--column-padding-right\": `${padding.paddingRight}px`,\n };\n\n const {\n unitComponent = UnitComponent,\n unconformityLabels = \"minimal\",\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n ageAxisComponent = CompositeAgeAxis,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n // Coalesce unconformity label setting to a boolean\n let _timescaleUnconformityLabels = false;\n let _sectionUnconformityLabels = false;\n if (unconformityLabels === true || unconformityLabels === \"prominent\") {\n _sectionUnconformityLabels = true;\n } else if (unconformityLabels === \"minimal\") {\n _timescaleUnconformityLabels = true;\n }\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(ageAxisComponent),\n h.if(_showTimescale)(CompositeTimescale, {\n levels: timescaleLevels,\n unconformityLabels: _timescaleUnconformityLabels,\n }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels: _sectionUnconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(Box, {\n className: classNames(\n className,\n {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n },\n \"column-container\",\n ),\n ...rest,\n });\n}\n\nexport function ColumnBasicInfo({\n data,\n showColumnID = true,\n showReferences = true,\n}) {\n if (data == null) return null;\n return h(\"div.column-info\", [\n h(\"div.column-title-row\", [\n h(\"h2\", data.col_name),\n h.if(showColumnID)(\"h4\", h(Identifier, { id: data.col_id })),\n ]),\n h(DataField, { row: true, label: \"Group\", value: data.col_group }),\n h.if(showReferences)(ReferencesField, {\n refs: data.refs,\n inline: false,\n row: false,\n className: \"column-refs\",\n }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.52ad973a.js.map"}
@@ -1,4 +1,4 @@
1
- import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748} from "./column-views.d261b02d.js";
1
+ import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748} from "./column-views.817752b6.js";
2
2
  import {MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, MeasurementDataProvider as $5dbb619f2c7bef60$export$5f01d5b342a89841, useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.a7c5ae16.js";
3
3
 
4
4
 
@@ -6,4 +6,4 @@ import {MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, Mea
6
6
 
7
7
 
8
8
  export {$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};
9
- //# sourceMappingURL=column-views.9ddbe7df.js.map
9
+ //# sourceMappingURL=column-views.5456a1ee.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\n"],"names":[],"version":3,"file":"column-views.9ddbe7df.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\n"],"names":[],"version":3,"file":"column-views.5456a1ee.js.map"}
@@ -1,9 +1,9 @@
1
1
  import {resolveID as $d3e69bd163d41f63$export$7be7d732f3de9464, scalePattern as $d3e69bd163d41f63$export$e8deec7b02ce51eb} from "./column-views.006d5180.js";
2
- import {useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d} from "./column-views.f2fd0e4a.js";
2
+ import {useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.ef88c46c.js";
3
+ import {useUnitSelectionTarget as $61771df184788970$export$cbbec12b1451fe7d} from "./column-views.c44febd0.js";
3
4
  import "./column-views.6c670c13.css";
4
5
  import $lClM8$columnviews4d374a35js from "./column-views.4d374a35.js";
5
6
  import {getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.54f8b909.js";
6
- import {useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.73b8ff16.js";
7
7
  import {getMixedUnitColor as $6698edd2a743bf07$export$175d3e927f1a9860} from "./column-views.9b77388d.js";
8
8
  import {ColumnAxisType as $lClM8$ColumnAxisType, ColumnContext as $lClM8$ColumnContext, ColumnLayoutContext as $lClM8$ColumnLayoutContext, useColumn as $lClM8$useColumn, useGeologicPattern as $lClM8$useGeologicPattern, zigZagBoxPath as $lClM8$zigZagBoxPath, ForeignObject as $lClM8$ForeignObject, PatternDefsProvider as $lClM8$PatternDefsProvider} from "@macrostrat/column-components";
9
9
  import {SizeAwareLabel as $lClM8$SizeAwareLabel} from "@macrostrat/ui-components";
@@ -25,7 +25,6 @@ function $parcel$interopDefault(a) {
25
25
 
26
26
 
27
27
 
28
-
29
28
  const $d254716a820e9c85$var$h = (0, $lClM8$macrostrathyper).styled((0, ($parcel$interopDefault($lClM8$columnviews4d374a35js))));
30
29
  function $d254716a820e9c85$var$useUnitRect(division, options = {}) {
31
30
  const { widthFraction: widthFraction = 1, axisType: axisType = (0, $lClM8$ColumnAxisType).AGE, padding: padding = 0 } = options;
@@ -53,7 +52,7 @@ function $d254716a820e9c85$export$d54fdbabca27e53(props) {
53
52
  ...baseBounds
54
53
  };
55
54
  const backgroundColor = (0, $6698edd2a743bf07$export$175d3e927f1a9860)(d, lithMap, null, false);
56
- const [ref, selected, onClick] = (0, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d)(d);
55
+ const [ref, selected, onClick] = (0, $61771df184788970$export$cbbec12b1451fe7d)(d);
57
56
  return $d254716a820e9c85$var$h("g.unit", {
58
57
  className: className,
59
58
  style: {
@@ -92,7 +91,7 @@ function $d254716a820e9c85$export$1d8b9ae22d404866(props) {
92
91
  const _className = (0, $lClM8$classnames)(className, {
93
92
  colored: hasBackgroundColor
94
93
  });
95
- const [ref, selected, onClick] = (0, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d)(d);
94
+ const [ref, selected, onClick] = (0, $61771df184788970$export$cbbec12b1451fe7d)(d);
96
95
  return $d254716a820e9c85$var$h("g.unit", {
97
96
  className: _className,
98
97
  style: {
@@ -204,4 +203,4 @@ function $d254716a820e9c85$export$5d1cdfabe8dc8085(props) {
204
203
 
205
204
 
206
205
  export {$d254716a820e9c85$export$d54fdbabca27e53 as MinimalUnit, $d254716a820e9c85$export$1d8b9ae22d404866 as Unit, $d254716a820e9c85$export$b4f0ca233b98f9af as LabeledUnit, $d254716a820e9c85$export$5d1cdfabe8dc8085 as UnitBoxes};
207
- //# sourceMappingURL=column-views.5d969bc5.js.map
206
+ //# sourceMappingURL=column-views.66ccfc44.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAkC5B,SAAS,kCACP,QAAe,EACf,UAA2B,CAAC,CAAC;IAE7B,MAAM,iBACJ,gBAAgB,aAChB,WAAW,CAAA,GAAA,qBAAa,EAAE,GAAG,WAC7B,UAAU,GACX,GAAG;IACJ,MAAM,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IACzC,MAAM,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB;IAE/C,MAAM,CAAC,cAAc,UAAU,GAAG,CAAA,GAAA,wCAAiB,EAAE,UAAU;IAE/D,MAAM,IAAI,MAAM;IAChB,MAAM,SAAS,KAAK,GAAG,CAAC,MAAM,gBAAgB;IAE9C,OAAO;QACL,GAAG,QAAS,CAAA,IAAI,aAAY,IAAK;QACjC,GAAG,IAAI;QACP,QAAQ,SAAS,UAAU;QAC3B,OAAO,gBAAgB,QAAQ,UAAU;IAC3C;AACF;AAEO,SAAS,yCAAY,KAAK;IAC/B,MAAM,EACJ,UAAU,CAAC,YACX,QAAQ,aACR,SAAS,iBACT,gBAAgB,GAChB,UAAU,CAAC,EACX,UAAU,EAAE,EACZ,GAAG,YACJ,GAAG;IAEJ,MAAM,YAAE,QAAQ,EAAE,GAAG,CAAA,GAAA,gBAAQ;IAC7B,MAAM,UAAU,CAAA,GAAA,yCAAa;IAC7B,MAAM,SAAS;QACb,GAAG,kCAAY,GAAG;2BAAE;sBAAe;QAAS,EAAE;QAC9C,GAAG,UAAU;IACf;IAEA,MAAM,kBAAkB,CAAA,GAAA,yCAAgB,EAAE,GAAG,SAAS,MAAM;IAE5D,MAAM,CAAC,KAAK,UAAU,QAAQ,GAAG,CAAA,GAAA,yCAAqB,EAAE;IAExD,OAAO,wBACL,UACA;mBACE;QACA,OAAO;YACL,kCAAkC;YAClC,yBAAyB;QAC3B;IACF,GACA;QACE,wBAAE,wBAAwB;iBACxB;YACA,GAAG,MAAM;YACT,MAAM;YACN,aAAa;YACb,QAAQ;qBACR;QACF;QACA,wBAAE,EAAE,CAAC,UAAU,0BAA0B;KAC1C;AAEL;AAEA,SAAS,0CAAK,KAAgB;IAC5B,MAAM,EACJ,UAAU,CAAC,YACX,QAAQ,QACR,IAAI,eACJ,cAAc,0BACd,SAAS,iBACT,gBAAgB,oBAChB,eAAe,gBACf,YAAY,aACZ,SAAS,EACT,UAAU,CAAC,EACX,GAAG,YACJ,GAAG;IAEJ,MAAM,YAAE,QAAQ,EAAE,GAAG,CAAA,GAAA,gBAAQ;IAE7B,MAAM,iBAAiB,EAAE,UAAU,IAAI;IACvC,MAAM,oBAAoB,EAAE,UAAU,IAAI;IAE1C,MAAM,SAAS;QACb,GAAG,kCAAY,GAAG;2BAAE;sBAAe;QAAS,EAAE;QAC9C,GAAG,UAAU;QACb,aAAa;QACb,gBAAgB;IAClB;IACA,MAAM,aAAa,aAAa,CAAA,GAAA,yCAAQ,EAAE;IAC1C,IAAI,QAAQ,QAAQ,CAAA,GAAA,yBAAiB,EAAE,YAAY;IAEnD,MAAM,qBAAqB,mBAAmB;IAE9C,MAAM,aAAa,CAAA,GAAA,iBAAS,EAAE,WAAW;QAAE,SAAS;IAAmB;IAEvE,MAAM,CAAC,KAAK,UAAU,QAAQ,GAAG,CAAA,GAAA,yCAAqB,EAAE;IAExD,OAAO,wBACL,UACA;QACE,WAAW;QACX,OAAO;YACL,kCAAkC;QACpC;IACF,GACA;QACE,wBAAE,gCAAU;YACV,GAAG,MAAM;YACT,MAAM;qBACN;YACA,WAAW;QACb;QACA,wBAAE,gCAAU;iBACV;YACA,GAAG,MAAM;YACT,MAAM;qBAEN,AADA,OAAO;YACP;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,UAAU,gCAAU;YAAE,GAAG,MAAM;YAAE,WAAW;QAAoB;QACrE,OAAO;QACP;KACD;AAEL;AAcA,MAAM,iCAAW,CAAA,GAAA,iBAAS,EAAE,CAAC,OAAsB;IACjD,MAAM,KACJ,CAAC,KACD,CAAC,SACD,KAAK,UACL,MAAM,eACN,cAAc,uBACd,iBAAiB,OACjB,GAAG,MACJ,GAAG;IAEJ,IAAI,CAAC,eAAe,CAAC,gBACnB,OAAO,wBAAE,QAAQ;WACf;WACA;eACA;gBACA;aACA;QACA,GAAG,IAAI;IACT;SACK;QACL,MAAM,IAAI,CAAA,GAAA,oBAAY,EAAE,GAAG,GAAG,OAAO,QAAQ,aAAa;QAC1D,OAAO,wBAAE,QAAQ;eACf;iBACA;YACA,GAAG,IAAI;QACT;IACF;AACF;AAEA,SAAS,0CAAY,KAAuB;IAC1C,MAAM,YACJ,QAAQ,SACR,KAAK,kBACL,cAAc,iBACd,aAAa,aACb,YAAY,uBACZ,eAAe,aACf,SAAS,EACT,UAAU,CAAC,EACX,GAAG,YACJ,GAAG;IAEJ,MAAM,YAAE,QAAQ,EAAE,GAAG,CAAA,GAAA,gBAAQ;IAC7B,MAAM,SAAS;QACb,GAAG,kCAAY,UAAU;2BAAE;sBAAe;QAAS,EAAE;QACrD,GAAG,UAAU;IACf;IACA,MAAM,SAAE,KAAK,UAAE,MAAM,EAAE,GAAG;IAC1B,OAAO,wBACL,2CACA;QACE,WAAW;kBACX;yBACA;mBACA;QACA,GAAG,MAAM;IACX,GACA;QACE,wBAAE,EAAE,CAAC,WACH,CAAA,GAAA,oBAAY,GACZ;YAAE,GAAG,MAAM;YAAE,WAAW;QAAuB,GAC/C,wBAAE,CAAA,GAAA,qBAAa,GAAG;YAChB,WAAW;YACX,gBAAgB;YAChB,OAAO;uBAAE;wBAAO;YAAO;mBACvB;YACA,qBAAoB,GAAG;gBACrB,eAAe,OAAO;YACxB;QACF;KAEH;AAEL;AAEA,SAAS,0CAAa,KASrB;IACC,MAAM,iBAAE,gBAAgB,+DAAM,qBAAqB,CAAC,GAAG,GAAG;IAC1D,MAAM,aAAE,SAAS,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IAE7C,IAAI,UAAU,MAAM,IAAI,GAAG;QACzB,QAAQ,IAAI,CAAC;QACb,OAAO;IACT;IAEA,MAAM,WAAW,CAAA,GAAA,cAAM,EAAE;QACvB,OAAO,UAAU,GAAG,CAAC,CAAC,UAAe;YACnC,aAAa;YACb,OAAO,wBAAE,eAAe;0BACtB;gBACA,KAAK,SAAS,OAAO;gBACrB,GAAG,kBAAkB;YACvB;QACF;IACF,GAAG;QAAC;QAAW;QAAe;KAAmB;IAEjD,OAAO,wBACL,CAAA,GAAA,0BAAkB,GAClB;mBAAE;sBAAW;IAAa,GAC1B,wBAAE,eAAe;AAErB","sources":["packages/column-views/src/units/boxes.ts"],"sourcesContent":["import {\n ColumnAxisType,\n ColumnContext,\n ColumnLayoutContext,\n ForeignObject,\n PatternDefsProvider,\n useColumn,\n useGeologicPattern,\n zigZagBoxPath,\n} from \"@macrostrat/column-components\";\nimport { SizeAwareLabel, Clickable } from \"@macrostrat/ui-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport { forwardRef, ReactNode, useContext, useMemo } from \"react\";\nimport { resolveID, scalePattern } from \"./resolvers\";\nimport { useUnitSelectionTarget, useLithologies } from \"../data-provider\";\nimport { IUnit } from \"./types\";\nimport styles from \"./boxes.module.sass\";\nimport classNames from \"classnames\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { getMixedUnitColor } from \"./colors\";\nimport type { RectBounds } from \"./types\";\n\nconst h = hyper.styled(styles);\n\ninterface UnitRectOptions {\n widthFraction?: number;\n axisType?: ColumnAxisType;\n // Padding to create overflow for zig-zags or other ornamented edges\n padding?: number;\n}\n\ninterface UnitProps extends Clickable, Partial<RectBounds>, UnitRectOptions {\n division: IUnit;\n resolveID?(IUnit): string;\n UUID?: string;\n defaultFill?: string;\n widthFraction?: number;\n children?: ReactNode;\n className?: string;\n fill?: string;\n backgroundColor?: string;\n patternColor?: string;\n patternID?: string | number;\n}\n\nexport interface LabeledUnitProps\n extends UnitRectOptions, Clickable, Partial<RectBounds> {\n division: IUnit;\n patternID?: string | number;\n label: string;\n onLabelUpdated?(label: string, shown: boolean);\n halfWidth?: boolean;\n showLabel?: boolean;\n backgroundColor?: string;\n}\n\nfunction useUnitRect(\n division: IUnit,\n options: UnitRectOptions = {},\n): RectBounds {\n const {\n widthFraction = 1,\n axisType = ColumnAxisType.AGE,\n padding = 0,\n } = options;\n const { scale } = useContext(ColumnContext);\n const { width } = useContext(ColumnLayoutContext);\n\n const [bottomHeight, topHeight] = getUnitHeightRange(division, axisType);\n\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2,\n };\n}\n\nexport function MinimalUnit(props) {\n const {\n division: d,\n children,\n className,\n widthFraction = 1,\n axisType: _, // not sure why this is brought in...\n nColumns: __,\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const lithMap = useLithologies();\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n };\n\n const backgroundColor = getMixedUnitColor(d, lithMap, null, false);\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor,\n },\n },\n [\n h(\"rect.unit.background\", {\n ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick,\n }),\n h.if(selected)(\"rect.selection-overlay\", bounds),\n ],\n );\n}\n\nfunction Unit(props: UnitProps) {\n const {\n division: d,\n children,\n fill,\n defaultFill = \"transparent\",\n className,\n widthFraction = 1,\n backgroundColor,\n patternColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom,\n };\n const _patternID = patternID ?? resolveID(d);\n let _fill = fill ?? useGeologicPattern(_patternID, defaultFill);\n\n const hasBackgroundColor = backgroundColor != null;\n\n const _className = classNames(className, { colored: hasBackgroundColor });\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n },\n },\n [\n h(UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick,\n className: \"background\",\n }),\n h(UnitRect, {\n ref,\n ...bounds,\n fill: _fill,\n //mask,\n onClick,\n className: \"unit\",\n }),\n h.if(selected)(UnitRect, { ...bounds, className: \"selection-overlay\" }),\n //defs,\n children,\n ],\n );\n}\n\ninterface UnitRectProps {\n x: number;\n y: number;\n width: number;\n height: number;\n className: string;\n // Used to determine if the rect should have a zig-zag edge on the top or bottom\n overflowTop?: boolean;\n overflowBottom?: boolean;\n [key: string]: any;\n}\n\nconst UnitRect = forwardRef((props: UnitRectProps, ref) => {\n const {\n x,\n y,\n width,\n height,\n overflowTop = false,\n overflowBottom = false,\n ...rest\n } = props;\n\n if (!overflowTop && !overflowBottom) {\n return h(\"rect\", {\n x,\n y,\n width,\n height,\n ref,\n ...rest,\n });\n } else {\n const d = zigZagBoxPath(x, y, width, height, overflowTop, overflowBottom);\n return h(\"path\", {\n d,\n ref,\n ...rest,\n });\n }\n});\n\nfunction LabeledUnit(props: LabeledUnitProps) {\n const {\n division,\n label,\n onLabelUpdated,\n widthFraction,\n showLabel = true,\n backgroundColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const bounds = {\n ...useUnitRect(division, { widthFraction, axisType }),\n ...baseBounds,\n };\n const { width, height } = bounds;\n return h(\n Unit,\n {\n className: \"labeled-unit\",\n division,\n backgroundColor,\n patternID,\n ...bounds,\n },\n [\n h.if(showLabel)(\n ForeignObject,\n { ...bounds, className: \"unit-label-container\" },\n h(SizeAwareLabel, {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: { width, height },\n label,\n onVisibilityChanged(viz) {\n onLabelUpdated(label, viz);\n },\n }),\n ),\n ],\n );\n}\n\nfunction UnitBoxes<T>(props: {\n unitComponent: React.FunctionComponent<{ division: T }>;\n unitComponentProps?: any;\n transformDivisions?(divisions: T[]): T[];\n transformDivision?: (\n division: any,\n index: number,\n divisions: any[],\n ) => T | null;\n}) {\n const { unitComponent = Unit, unitComponentProps = {} } = props;\n const { divisions } = useContext(ColumnContext);\n\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n\n const children = useMemo(() => {\n return divisions.map((division: any, i) => {\n // @ts-ignore\n return h(unitComponent, {\n division,\n key: division.unit_id,\n ...unitComponentProps,\n });\n });\n }, [divisions, unitComponent, unitComponentProps]);\n\n return h(\n PatternDefsProvider,\n { resolveID, scalePattern },\n h(\"g.divisions\", children),\n );\n}\n\nexport { LabeledUnit, Unit, UnitBoxes, UnitProps };\n"],"names":[],"version":3,"file":"column-views.66ccfc44.js.map"}
@@ -1,9 +1,9 @@
1
- import {ColumnCorrelationMap as $dcd183b733f66144$export$8e7d97509e84cc49} from "./column-views.3e1b8c7d.js";
2
- import {ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.86a51ce7.js";
1
+ import {ColumnCorrelationMap as $dcd183b733f66144$export$8e7d97509e84cc49} from "./column-views.35efe006.js";
2
+ import {ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.6d63971b.js";
3
3
 
4
4
 
5
5
 
6
6
 
7
7
 
8
8
  export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap, $74e211dc185c20b4$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $74e211dc185c20b4$export$21398703d3a9bb4d as useCorrelationMapStore};
9
- //# sourceMappingURL=column-views.1b644998.js.map
9
+ //# sourceMappingURL=column-views.6ce8cb61.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/maps/column-correlation/index.ts"],"sourcesContent":["export * from \"./core\";\nexport * from \"./state\";\n"],"names":[],"version":3,"file":"column-views.1b644998.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/maps/column-correlation/index.ts"],"sourcesContent":["export * from \"./core\";\nexport * from \"./state\";\n"],"names":[],"version":3,"file":"column-views.6ce8cb61.js.map"}
@@ -1,4 +1,4 @@
1
- import {useMacrostratColumns as $774a5efa27d1c77b$export$81eaae0b474404fd} from "./column-views.73b8ff16.js";
1
+ import {useMacrostratColumns as $774a5efa27d1c77b$export$81eaae0b474404fd} from "./column-views.ef88c46c.js";
2
2
  import {create as $i7Wch$create, useStore as $i7Wch$useStore} from "zustand";
3
3
  import {lineIntersect as $i7Wch$lineIntersect} from "@turf/line-intersect";
4
4
  import $i7Wch$turfdistance from "@turf/distance";
@@ -115,4 +115,4 @@ function $74e211dc185c20b4$var$sorted(data, accessor) {
115
115
 
116
116
 
117
117
  export {$74e211dc185c20b4$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $74e211dc185c20b4$export$21398703d3a9bb4d as useCorrelationMapStore};
118
- //# sourceMappingURL=column-views.86a51ce7.js.map
118
+ //# sourceMappingURL=column-views.6d63971b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/state.ts"],"sourcesContent":["import { LineString, Point } from \"geojson\";\nimport { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecord } from \"@macrostrat/api-types\";\n// Turf intersection\nimport { lineIntersect } from \"@turf/line-intersect\";\nimport distance from \"@turf/distance\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { centroid } from \"@turf/centroid\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { createComputed } from \"zustand-computed\";\nimport { useMacrostratColumns } from \"../../data-provider/base\";\n\nexport interface CorrelationMapInput {\n columns: ColumnGeoJSONRecord[];\n focusedLine: LineString | null;\n}\n\nexport interface CorrelationMapStore extends CorrelationMapInput {\n onClickMap: (event: mapboxgl.MapMouseEvent, point: Point) => void;\n}\n\nexport interface CorrelationProviderProps extends CorrelationMapInput {\n projectID?: number;\n inProcess?: boolean;\n columns: ColumnGeoJSONRecord[] | null;\n children: ReactNode;\n onSelectColumns?: (\n columns: FocusedColumnGeoJSONRecord[],\n line: LineString | null,\n ) => void;\n}\n\nconst CorrelationStoreContext =\n createContext<StoreApi<CorrelationMapStore> | null>(null);\n\ntype ComputedStore = {\n focusedColumns: FocusedColumnGeoJSONRecord[];\n};\n\n/** A computed store that will automatically update when the state changes */\nconst computed = createComputed((state: CorrelationMapStore): ComputedStore => {\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: buildCorrelationColumns(state.columns, state.focusedLine),\n };\n}) as any;\n\nexport function ColumnCorrelationProvider({\n children,\n columns,\n projectID,\n inProcess,\n focusedLine,\n onSelectColumns,\n}: CorrelationProviderProps) {\n const [store] = useState(() => {\n return create<CorrelationMapStore & ComputedStore>(\n computed((set, get): CorrelationMapStore => {\n return {\n focusedLine,\n columns: null,\n onClickMap(event: mapboxgl.MapMouseEvent, point: Point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n\n if (existingCoords.length >= 2 && !shiftKeyPressed) {\n // Reset the line to zero length\n existingCoords = [];\n }\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [...existingCoords, point.coordinates],\n },\n });\n },\n };\n }),\n );\n });\n\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */\n const _columns = useMacrostratColumns(projectID, inProcess);\n useEffect(() => {\n if (_columns != null) {\n store.setState({ columns: _columns });\n }\n }, [_columns]);\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = useStore(store, (state) => state.focusedColumns);\n const _focusedLine = useStore(store, (state) => state.focusedLine);\n\n useEffect(() => {\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [focusedColumns, _focusedLine]);\n\n return h(CorrelationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useCorrelationMapStore(\n selector: (state: CorrelationMapStore & ComputedStore) => any,\n) {\n const storeApi = useContext(CorrelationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing CorrelationMapProvider\");\n }\n return useStore(storeApi, selector);\n}\n\nfunction buildCorrelationColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n if (columns == null || line == null || line.coordinates.length < 2) {\n return [];\n }\n return orderColumnsByDistance(\n computeIntersectingColumns(columns, line),\n line,\n );\n}\n\nfunction computeIntersectingColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): ColumnGeoJSONRecord[] {\n if (columns == null || line == null) {\n return [];\n }\n\n return columns.filter((col) => {\n const poly = col.geometry;\n\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n\n const intersection = lineIntersect(line, poly);\n return intersection.features.length > 0;\n });\n}\n\ninterface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {\n properties: {\n centroid: Point;\n nearestPointOnLine: Point;\n distanceAlongLine: number;\n } & ColumnGeoJSONRecord[\"properties\"];\n}\n\nfunction orderColumnsByDistance(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n const centroids = columns.map((col) => centroid(col.geometry));\n const projectedPoints = centroids.map((point) =>\n nearestPointOnLine(line, point),\n );\n const distances = projectedPoints.map((point) =>\n distance(point.geometry.coordinates, line.coordinates[0]),\n );\n\n let newColumns = columns.map((col, i) => {\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i],\n },\n };\n });\n\n return sorted(newColumns, (d) => d.properties.distanceAlongLine);\n}\n\nfunction sorted(data, accessor: (d) => number) {\n return data.sort((a, b) => accessor(a) - accessor(b));\n}\n"],"names":[],"version":3,"file":"column-views.6d63971b.js.map"}
@@ -1,4 +1,4 @@
1
- import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.e84bd756.js";
1
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.1e579112.js";
2
2
  import $fqcIO$macrostrathyper from "@macrostrat/hyper";
3
3
  import {useAPIResult as $fqcIO$useAPIResult} from "@macrostrat/ui-components";
4
4
 
@@ -34,4 +34,4 @@ function $6ff130029901daab$var$SGPSamplesNote(props) {
34
34
 
35
35
 
36
36
  export {$6ff130029901daab$export$c49cf57576706bab as SGPMeasurementsColumn};
37
- //# sourceMappingURL=column-views.2d602a57.js.map
37
+ //# sourceMappingURL=column-views.7243e77d.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;AAIA,SAAS,iCAAW,UAAE,MAAM,EAAE;IAC5B,MAAM,MAAM,CAAA,GAAA,mBAAW,EACrB,sDACA;QACE,QAAQ,CAAC,GAAG,EAAE,QAAQ;IACxB,GACA,CAAC,IAAM;IAET,OAAO;AACT;AAEO,SAAS,0CAAsB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACnE,MAAM,OAAO,iCAAW;QAAE,QAAQ;IAAS;IAE3C,IAAI,QAAQ,MAAM,OAAO;IAEzB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;QACA,eAAe;IACjB;AACF;AAEA,SAAS,qCAAe,KAAK;IAC3B,MAAM,QAAE,IAAI,EAAE,GAAG;IACjB,MAAM,cAAc,MAAM,MAAM;IAEhC,IAAI,eAAe,QAAQ,YAAY,MAAM,KAAK,GAAG,OAAO;IAE5D,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAY,GAAG;QACtB,WAAW;QACX,MAAM;QACN,cAAc,CAAC,IAAM,CAAA,GAAA,sBAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI;IAC5C;AACF","sources":["packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":[],"version":3,"file":"column-views.2d602a57.js.map"}
1
+ {"mappings":";;;;;;;AAIA,SAAS,iCAAW,UAAE,MAAM,EAAE;IAC5B,MAAM,MAAM,CAAA,GAAA,mBAAW,EACrB,sDACA;QACE,QAAQ,CAAC,GAAG,EAAE,QAAQ;IACxB,GACA,CAAC,IAAM;IAET,OAAO;AACT;AAEO,SAAS,0CAAsB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACnE,MAAM,OAAO,iCAAW;QAAE,QAAQ;IAAS;IAE3C,IAAI,QAAQ,MAAM,OAAO;IAEzB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;QACA,eAAe;IACjB;AACF;AAEA,SAAS,qCAAe,KAAK;IAC3B,MAAM,QAAE,IAAI,EAAE,GAAG;IACjB,MAAM,cAAc,MAAM,MAAM;IAEhC,IAAI,eAAe,QAAQ,YAAY,MAAM,KAAK,GAAG,OAAO;IAE5D,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAY,GAAG;QACtB,WAAW;QACX,MAAM;QACN,cAAc,CAAC,IAAM,CAAA,GAAA,sBAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI;IAC5C;AACF","sources":["packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":[],"version":3,"file":"column-views.7243e77d.js.map"}
@@ -1,7 +1,7 @@
1
1
  import "./column-views.16cc7a58.css";
2
2
  import $bBNCV$columnviewsedf77621js from "./column-views.edf77621.js";
3
- import {useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.f2fd0e4a.js";
4
- import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.77561197.js";
3
+ import {useSelectedUnit as $61771df184788970$export$f0dd93f90aa8e5da, useUnitSelectionStore as $61771df184788970$export$b220b1d3591dc9e5} from "./column-views.c44febd0.js";
4
+ import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.218e8f5d.js";
5
5
  import $bBNCV$macrostrathyper from "@macrostrat/hyper";
6
6
  import {Popover as $bBNCV$Popover} from "@blueprintjs/core";
7
7
 
@@ -43,9 +43,9 @@ function $a9bcb536274d1bf9$var$InteractionBarrier({ children: children }) {
43
43
  }, children);
44
44
  }
45
45
  function $a9bcb536274d1bf9$export$db1115efab13710d() {
46
- const unit = (0, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da)();
47
- const selectUnit = (0, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5)((state)=>state.onUnitSelected);
48
- const position = (0, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5)((state)=>state.overlayPosition);
46
+ const unit = (0, $61771df184788970$export$f0dd93f90aa8e5da)();
47
+ const selectUnit = (0, $61771df184788970$export$b220b1d3591dc9e5)((state)=>state.onUnitSelected);
48
+ const position = (0, $61771df184788970$export$b220b1d3591dc9e5)((state)=>state.overlayPosition);
49
49
  if (unit == null) return null;
50
50
  return $a9bcb536274d1bf9$var$h("div.unit-popover-container", $a9bcb536274d1bf9$var$h($a9bcb536274d1bf9$export$6716aecc2c9afbe2, {
51
51
  style: {
@@ -68,4 +68,4 @@ function $a9bcb536274d1bf9$export$db1115efab13710d() {
68
68
 
69
69
 
70
70
  export {$a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover};
71
- //# sourceMappingURL=column-views.c518ef14.js.map
71
+ //# sourceMappingURL=column-views.729a6728.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAErB,SAAS,0CAAmB,SACjC,KAAK,YACL,QAAQ,mBACR,kBAAkB,IAKnB;IACC,MAAM,UAAU,wBAAE,0CAAoB;IAEtC,OAAO,wBACL,oBACA;eACE;IACF,GACA,wBACE,CAAA,GAAA,cAAM,GACN,aAAa;IACb;iBACE;QACA,QAAQ;QACR,WAAW;QACX,UAAU;QACV,WAAW;YACT,iBAAiB;gBAAE,SAAS;oBAAE,SAAS;gBAAgB;YAAE;QAC3D;IACF,GACA,wBAAE;AAGR;AAEA,SAAS,yCAAmB,YAAE,QAAQ,EAAE;IACtC,OAAO,wBACL,OACA;QACE,SAAQ,CAAC;YACP,yCAAyC;YACzC,EAAE,eAAe;QACnB;IACF,GACA;AAEJ;AAEO,SAAS;IACd,MAAM,OAAO,CAAA,GAAA,yCAAc;IAC3B,MAAM,aAAa,CAAA,GAAA,yCAAoB,EAAE,CAAC,QAAU,MAAM,cAAc;IACxE,MAAM,WAAW,CAAA,GAAA,yCAAoB,EAAE,CAAC,QAAU,MAAM,eAAe;IACvE,IAAI,QAAQ,MACV,OAAO;IAGT,OAAO,wBACL,8BACA,wBACE,2CACA;QACE,OAAO;YACL,UAAU;YACV,KAAK,UAAU,KAAK;YACpB,OAAO,UAAU,SAAS;YAC1B,MAAM,UAAU,KAAK;YACrB,QAAQ,UAAU,UAAU;QAC9B;IACF,GACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;cAClB;QACA,0BAA0B;QAC1B,WAAW;QACX,cAAc,CAAC;YACb,QAAQ,GAAG,CAAC,6BAA6B;YACzC,WAAW,IAAI,MAAM;QACvB;IACF;AAGN","sources":["packages/column-views/src/unit-details/popover.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Popover } from \"@blueprintjs/core\";\nimport styles from \"./popover.module.sass\";\nimport { useSelectedUnit, useUnitSelectionStore } from \"../data-provider\";\nimport { UnitDetailsPanel } from \"./panel\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n viewportPadding = 20,\n}: {\n style: object;\n viewportPadding?: number;\n children: React.ReactNode;\n}) {\n const content = h(InteractionBarrier, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n {\n content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: { options: { padding: viewportPadding } },\n },\n },\n h(\"span.popover-target\"),\n ),\n );\n}\n\nfunction InteractionBarrier({ children }) {\n return h(\n \"div\",\n {\n onClick(e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n },\n },\n children,\n );\n}\n\nexport function UnitSelectionPopover() {\n const unit = useSelectedUnit();\n const selectUnit = useUnitSelectionStore((state) => state.onUnitSelected);\n const position = useUnitSelectionStore((state) => state.overlayPosition);\n if (unit == null) {\n return null;\n }\n\n return h(\n \"div.unit-popover-container\",\n h(\n UnitDetailsPopover,\n {\n style: {\n position: \"absolute\",\n top: position?.y ?? 0,\n width: position?.width ?? 100,\n left: position?.x ?? 0,\n height: position?.height ?? 100,\n },\n },\n h(UnitDetailsPanel, {\n unit,\n showLithologyProportions: true,\n className: \"legend-panel\",\n onSelectUnit: (id: number) => {\n console.log(\"Selected unit in popover:\", id);\n selectUnit(id, null, null);\n },\n }),\n ),\n );\n}\n"],"names":[],"version":3,"file":"column-views.729a6728.js.map"}
@@ -1,9 +1,9 @@
1
- import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0, UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.d69c4a9f.js";
2
- import {LabeledUnit as $d254716a820e9c85$export$b4f0ca233b98f9af, UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5d969bc5.js";
1
+ import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0, UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.7d69838d.js";
2
+ import {LabeledUnit as $d254716a820e9c85$export$b4f0ca233b98f9af, UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.66ccfc44.js";
3
3
  import "./column-views.3b972a9b.css";
4
4
  import $1PjJ0$columnviews40cd59b5js from "./column-views.40cd59b5.js";
5
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
6
- import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.f2fd0e4a.js";
5
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.abf6aedd.js";
6
+ import {useUnitSelectionDispatch as $61771df184788970$export$77a278d5ca56e309} from "./column-views.c44febd0.js";
7
7
  import {hyperStyled as $1PjJ0$hyperStyled} from "@macrostrat/hyper";
8
8
  import {LithologyColumn as $1PjJ0$LithologyColumn, SVG as $1PjJ0$SVG, ColumnContext as $1PjJ0$ColumnContext} from "@macrostrat/column-components";
9
9
  import {createContext as $1PjJ0$createContext, useState as $1PjJ0$useState, useRef as $1PjJ0$useRef, useCallback as $1PjJ0$useCallback, useContext as $1PjJ0$useContext, useEffect as $1PjJ0$useEffect} from "react";
@@ -19,7 +19,6 @@ function $parcel$interopDefault(a) {
19
19
 
20
20
 
21
21
 
22
-
23
22
  const $8c8238faa5cde49c$var$h = (0, $1PjJ0$hyperStyled)((0, ($parcel$interopDefault($1PjJ0$columnviews40cd59b5js))));
24
23
  const $8c8238faa5cde49c$var$LabelTrackerContext = (0, $1PjJ0$createContext)(null);
25
24
  const $8c8238faa5cde49c$var$UnlabeledDivisionsContext = (0, $1PjJ0$createContext)(null);
@@ -92,7 +91,7 @@ function $8c8238faa5cde49c$export$13984e34afdbb040(props) {
92
91
  const _compositeScale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
93
92
  const unlabeledUnits = (0, $1PjJ0$useContext)($8c8238faa5cde49c$var$UnlabeledDivisionsContext);
94
93
  const unitsToLabel = noteMode == "unlabeled" ? unlabeledUnits : undefined;
95
- const selectUnit = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
94
+ const selectUnit = (0, $61771df184788970$export$77a278d5ca56e309)();
96
95
  return $8c8238faa5cde49c$var$h("div.section-labels-column", [
97
96
  $8c8238faa5cde49c$var$h($8c8238faa5cde49c$export$6cc7a9df4edde18, {
98
97
  units: [],
@@ -136,4 +135,4 @@ function $8c8238faa5cde49c$export$6cc7a9df4edde18(props) {
136
135
 
137
136
 
138
137
  export {$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};
139
- //# sourceMappingURL=column-views.5a49cd68.js.map
138
+ //# sourceMappingURL=column-views.75e5aebe.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/units/composite.ts"],"sourcesContent":["import { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n SVG,\n ColumnContext,\n} from \"@macrostrat/column-components\";\nimport { defaultNameFunction, UnitNamesColumn } from \"./names\";\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useCallback,\n useEffect,\n} from \"react\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { LabeledUnit, UnitBoxes } from \"./boxes\";\nimport styles from \"./composite.module.sass\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n useUnitSelectionDispatch,\n} from \"../data-provider\";\n\nconst h = hyperStyled(styles);\n\ninterface LabelTracker {\n [key: number]: boolean;\n}\n\nconst LabelTrackerContext = createContext(null);\nconst UnlabeledDivisionsContext = createContext(null);\n\nconst findMacrostratUnitID = (u) => u.unit_id;\n\nexport function LabelTrackerProvider(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */\n const { children, units, findUnitID = findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = useState<\n BaseUnit[] | null\n >(null);\n const labelTrackerRef = useRef<LabelTracker>({});\n const trackLabelVisibility = useCallback(\n (div, visible) => {\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) {\n setUnlabeledDivisions(\n // @ts-ignore\n units.filter((d) => {\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }),\n );\n }\n },\n [labelTrackerRef, units, findUnitID],\n );\n\n const value = trackLabelVisibility;\n return h(\n LabelTrackerContext.Provider,\n { value },\n h(\n UnlabeledDivisionsContext.Provider,\n { value: unlabeledDivisions },\n children,\n ),\n );\n}\n\nfunction TrackedLabeledUnit({\n division,\n nameForDivision = defaultNameFunction,\n ...rest\n}) {\n const trackLabelVisibility = useContext(LabelTrackerContext);\n return h(LabeledUnit, {\n division,\n label: nameForDivision(division),\n onLabelUpdated(label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest,\n });\n}\n\nexport const CompositeUnitComponent = TrackedLabeledUnit;\n\ntype BaseUnitProps = {\n width: number;\n showLabels?: boolean;\n columnWidth?: number;\n clipToFrame?: boolean;\n};\n\ntype ICompositeUnitProps = BaseUnitProps & {\n gutterWidth?: number;\n labelOffset?: number;\n paddingLeft?: number;\n nameForDivision?: (division: BaseUnit) => string;\n children?: React.ReactNode;\n unitComponent?: React.FC<any>;\n unitComponentProps?: any;\n noteMode?: \"labeled\" | \"unlabeled\";\n showLabelColumn?: boolean;\n noteComponent?: React.FC<any>;\n shouldRenderNote?: (d: any) => boolean;\n};\n\ninterface CompositeUnitProps {\n unitComponent: React.FC<any>;\n unitComponentProps?: any;\n width: number;\n showLabels?: boolean;\n clipToFrame?: boolean;\n}\n\nexport function CompositeUnitsColumn(props: CompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const {\n width,\n unitComponent = TrackedLabeledUnit,\n unitComponentProps,\n clipToFrame,\n ...rest\n } = props;\n\n return h(LithologyColumn, { width, clipToFrame }, [\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps,\n ...rest,\n }),\n ]);\n}\n\nexport function AnnotatedUnitsColumn(props: ICompositeUnitProps) {\n useEffect(() => {\n console.warn(\n \"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\",\n );\n }, []);\n return null;\n}\n\nexport function SectionLabelsColumn(props: ICompositeUnitProps) {\n // Section with \"squishy\" time scale\n const {\n width = 300,\n noteMode = \"unlabeled\",\n labelOffset = 30,\n noteComponent,\n shouldRenderNote,\n } = props;\n\n const { totalHeight, axisType } = useMacrostratColumnData();\n const _compositeScale = useCompositeScale();\n\n const unlabeledUnits = useContext(UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n\n const selectUnit = useUnitSelectionDispatch();\n\n return h(\"div.section-labels-column\", [\n h(\n ColumnNotesProvider,\n {\n units: [],\n scale: _compositeScale,\n totalHeight,\n axisType,\n },\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3,\n },\n h(UnitNamesColumn, {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width,\n noteComponent,\n shouldRenderNote,\n scale: _compositeScale,\n onClickNote(note) {\n selectUnit(note.data, null, null);\n },\n }),\n ),\n ),\n ]);\n}\n\nexport interface CompositeColumnScale {\n (val: number): number;\n copy(): CompositeColumnScale;\n domain(): number[];\n}\n\nexport function ColumnNotesProvider(props) {\n // A fake column axis provider that allows scales to cross\n const { children, scale, totalHeight, pixelScale } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n return h(\n ColumnContext.Provider,\n {\n value: {\n divisions: [],\n scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType,\n zoom: 1,\n },\n },\n children,\n );\n}\n\nexport { TrackedLabeledUnit, ICompositeUnitProps };\n"],"names":[],"version":3,"file":"column-views.75e5aebe.js.map"}
@@ -1,7 +1,7 @@
1
1
  import {useDetritalMeasurements as $9f310bd6e88a58bc$export$1b0cf9c36f060135} from "./column-views.05586d1f.js";
2
2
  import $d4hxx$columnviews2c45a7b5js from "./column-views.2c45a7b5.js";
3
3
  import "./column-views.403a7b48.css";
4
- import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d} from "./column-views.e84bd756.js";
4
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d} from "./column-views.1e579112.js";
5
5
  import {usePlotArea as $d4hxx$usePlotArea, DetritalSpectrumPlot as $d4hxx$DetritalSpectrumPlot, DetritalSeries as $d4hxx$DetritalSeries} from "@macrostrat/data-components";
6
6
  import $d4hxx$macrostrathyper from "@macrostrat/hyper";
7
7
  import {useMemo as $d4hxx$useMemo} from "react";
@@ -92,4 +92,4 @@ function $715dd5fedd79146a$export$1b3047373cd1c8c7(props) {
92
92
 
93
93
 
94
94
  export {$715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn, $715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup};
95
- //# sourceMappingURL=column-views.ae7c0a2b.js.map
95
+ //# sourceMappingURL=column-views.76a220c4.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAgB5B,MAAM,qCAAe,CAAC,KAAO,CAAC,IAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO;AAE9D,SAAS,0CAAe,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACrD,MAAM,OAAO,CAAA,GAAA,yCAAsB,EAAE;QAAE,QAAQ;IAAS;IAExD,MAAM,QAAQ;IACd,MAAM,cAAc;IAEpB,MAAM,gBAAgB,QAAQ;IAE9B,MAAM,gBAAgB,CAAA,GAAA,cAAM,EAAE;QAC5B,OAAO,CAAC;YACN,OAAO,wBAAE,2CAAe;gBACtB,OAAO;gBACP,QAAQ;uBACR;gBACA,GAAG,KAAK;YACV;QACF;IACF,GAAG;QAAC;QAAO;KAAM;IAEjB,OAAO,wBAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;uBACA;QACA,WAAW,CAAC,IAAM,CAAC,CAAC,EAAE,CAAC,OAAO;sBAC9B;IACF;AACF;AAEA,SAAS,sCAAgB,QAAE,IAAI,EAAE;IAC/B,MAAM,UAAE,MAAM,UAAE,MAAM,EAAE,GAAG,CAAA,GAAA,kBAAU;IAErC,MAAM,SAAE,KAAK,SAAE,KAAK,EAAE,GAAG;IACzB,MAAM,IAAI,OAAO;IACjB,MAAM,KAAK,OAAO;IAElB,OAAO,wBAAE,yBAAyB;WAAE;QAAG,OAAO,KAAK;QAAG,GAAG;gBAAG;IAAO;AACrE;AAEA,SAAS,0CAAc,KAAwB;IAC7C,MAAM,QAAE,IAAI,SAAE,KAAK,UAAE,MAAM,SAAE,KAAK,WAAE,OAAO,EAAE,GAAG;IAChD,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;IAEvB,MAAM,SAAS;IAEf,MAAM,aAAa,SAAS,SAAS;IACrC,MAAM,iBAAiB,aAAa;IAEpC,OAAO,wBACL,sBACA;QAAE,WAAW,CAAA,GAAA,iBAAS,EAAE;YAAE,aAAa;QAAe;IAAG,GACzD;QACE,wBACE,CAAA,GAAA,2BAAmB,GACnB;mBAAE;YAAO,aAAa;YAAQ,gBAAgB;YAAM,eAAe;QAAG,GACtE;YACE,wBAAE,EAAE,CAAC,QAAQ,MAAM,uCAAiB;sBAAE;YAAK;YAC3C,KAAK,GAAG,CAAC,CAAC;gBACR,OAAO,wBAAE,CAAA,GAAA,qBAAa,GAAG;oBACvB,WAAW;oBACX,MAAM,EAAE,aAAa;oBACrB,OAAO;gBACT;YACF;SACD;KAEJ;AAEL","sources":["packages/column-views/src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport type { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\nimport { BaseMeasurementsColumn } from \"../base-sample-column\";\n\nconst h = hyper.styled(styles);\n\ninterface DetritalItemProps {\n note: {\n data: MeasurementInfo[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\nconst matchingUnit = (dz) => (d) => d.unit_id == dz[0].unit_id;\n\nfunction DetritalColumn({ columnID, color = \"magenta\" }) {\n const data = useDetritalMeasurements({ col_id: columnID });\n\n const width = 400;\n const paddingLeft = 40;\n\n const spectrumWidth = width - paddingLeft;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(DetritalGroup, {\n width: spectrumWidth,\n height: 40,\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent,\n getUnitID: (d) => d[0].unit_id,\n matchingUnit,\n });\n}\n\nfunction DepositionalAge({ unit }) {\n const { xScale, height } = usePlotArea();\n\n const { t_age, b_age } = unit;\n const x = xScale(t_age);\n const x1 = xScale(b_age);\n\n return h(\"rect.depositional-age\", { x, width: x1 - x, y: 0, height });\n}\n\nfunction DetritalGroup(props: DetritalItemProps) {\n const { note, width, height, color, spacing } = props;\n const { data, unit } = note;\n\n const _color = color;\n\n const spaceBelow = spacing?.below ?? 100;\n const hideAxisLabels = spaceBelow < 60;\n\n return h(\n \"div.detrital-group\",\n { className: classNames({ \"hide-axis\": hideAxisLabels }) },\n [\n h(\n DetritalSpectrumPlot,\n { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },\n [\n h.if(unit != null)(DepositionalAge, { unit }),\n data.map((d) => {\n return h(DetritalSeries, {\n bandwidth: 20,\n data: d.measure_value,\n color: _color,\n });\n }),\n ],\n ),\n ],\n );\n}\n\nexport { DetritalColumn, DetritalGroup };\n"],"names":[],"version":3,"file":"column-views.ae7c0a2b.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAgB5B,MAAM,qCAAe,CAAC,KAAO,CAAC,IAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO;AAE9D,SAAS,0CAAe,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACrD,MAAM,OAAO,CAAA,GAAA,yCAAsB,EAAE;QAAE,QAAQ;IAAS;IAExD,MAAM,QAAQ;IACd,MAAM,cAAc;IAEpB,MAAM,gBAAgB,QAAQ;IAE9B,MAAM,gBAAgB,CAAA,GAAA,cAAM,EAAE;QAC5B,OAAO,CAAC;YACN,OAAO,wBAAE,2CAAe;gBACtB,OAAO;gBACP,QAAQ;uBACR;gBACA,GAAG,KAAK;YACV;QACF;IACF,GAAG;QAAC;QAAO;KAAM;IAEjB,OAAO,wBAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;uBACA;QACA,WAAW,CAAC,IAAM,CAAC,CAAC,EAAE,CAAC,OAAO;sBAC9B;IACF;AACF;AAEA,SAAS,sCAAgB,QAAE,IAAI,EAAE;IAC/B,MAAM,UAAE,MAAM,UAAE,MAAM,EAAE,GAAG,CAAA,GAAA,kBAAU;IAErC,MAAM,SAAE,KAAK,SAAE,KAAK,EAAE,GAAG;IACzB,MAAM,IAAI,OAAO;IACjB,MAAM,KAAK,OAAO;IAElB,OAAO,wBAAE,yBAAyB;WAAE;QAAG,OAAO,KAAK;QAAG,GAAG;gBAAG;IAAO;AACrE;AAEA,SAAS,0CAAc,KAAwB;IAC7C,MAAM,QAAE,IAAI,SAAE,KAAK,UAAE,MAAM,SAAE,KAAK,WAAE,OAAO,EAAE,GAAG;IAChD,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;IAEvB,MAAM,SAAS;IAEf,MAAM,aAAa,SAAS,SAAS;IACrC,MAAM,iBAAiB,aAAa;IAEpC,OAAO,wBACL,sBACA;QAAE,WAAW,CAAA,GAAA,iBAAS,EAAE;YAAE,aAAa;QAAe;IAAG,GACzD;QACE,wBACE,CAAA,GAAA,2BAAmB,GACnB;mBAAE;YAAO,aAAa;YAAQ,gBAAgB;YAAM,eAAe;QAAG,GACtE;YACE,wBAAE,EAAE,CAAC,QAAQ,MAAM,uCAAiB;sBAAE;YAAK;YAC3C,KAAK,GAAG,CAAC,CAAC;gBACR,OAAO,wBAAE,CAAA,GAAA,qBAAa,GAAG;oBACvB,WAAW;oBACX,MAAM,EAAE,aAAa;oBACrB,OAAO;gBACT;YACF;SACD;KAEJ;AAEL","sources":["packages/column-views/src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport type { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\nimport { BaseMeasurementsColumn } from \"../base-sample-column\";\n\nconst h = hyper.styled(styles);\n\ninterface DetritalItemProps {\n note: {\n data: MeasurementInfo[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\nconst matchingUnit = (dz) => (d) => d.unit_id == dz[0].unit_id;\n\nfunction DetritalColumn({ columnID, color = \"magenta\" }) {\n const data = useDetritalMeasurements({ col_id: columnID });\n\n const width = 400;\n const paddingLeft = 40;\n\n const spectrumWidth = width - paddingLeft;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(DetritalGroup, {\n width: spectrumWidth,\n height: 40,\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent,\n getUnitID: (d) => d[0].unit_id,\n matchingUnit,\n });\n}\n\nfunction DepositionalAge({ unit }) {\n const { xScale, height } = usePlotArea();\n\n const { t_age, b_age } = unit;\n const x = xScale(t_age);\n const x1 = xScale(b_age);\n\n return h(\"rect.depositional-age\", { x, width: x1 - x, y: 0, height });\n}\n\nfunction DetritalGroup(props: DetritalItemProps) {\n const { note, width, height, color, spacing } = props;\n const { data, unit } = note;\n\n const _color = color;\n\n const spaceBelow = spacing?.below ?? 100;\n const hideAxisLabels = spaceBelow < 60;\n\n return h(\n \"div.detrital-group\",\n { className: classNames({ \"hide-axis\": hideAxisLabels }) },\n [\n h(\n DetritalSpectrumPlot,\n { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },\n [\n h.if(unit != null)(DepositionalAge, { unit }),\n data.map((d) => {\n return h(DetritalSeries, {\n bandwidth: 20,\n data: d.measure_value,\n color: _color,\n });\n }),\n ],\n ),\n ],\n );\n}\n\nexport { DetritalColumn, DetritalGroup };\n"],"names":[],"version":3,"file":"column-views.76a220c4.js.map"}
@@ -1,4 +1,4 @@
1
- import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3} from "./column-views.8d24b179.js";
1
+ import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3} from "./column-views.11ae78f7.js";
2
2
  import {ResizableMapFrame as $e6046e00d2c8a163$export$c4313db718750a5a, ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099} from "./column-views.c92a359e.js";
3
3
 
4
4
 
@@ -6,4 +6,4 @@ import {ResizableMapFrame as $e6046e00d2c8a163$export$c4313db718750a5a, ColumnNa
6
6
 
7
7
 
8
8
  export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap, $e6046e00d2c8a163$export$c4313db718750a5a as ResizableMapFrame, $e6046e00d2c8a163$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $93f116a6493b17c3$export$2254347cd20e6080 as MeasurementsLayer, $93f116a6493b17c3$export$f177ff57c101017a as ColumnFeatures, $93f116a6493b17c3$export$8c41dd563753848 as ColumnKeyboardNavigation, $93f116a6493b17c3$export$f02cc02ad0e0bba3 as Columns, $93f116a6493b17c3$export$4d8f6e6df85d9012 as ColumnCenters, $93f116a6493b17c3$export$b9d912252344e099 as CurrentColumn};
9
- //# sourceMappingURL=column-views.0a8a07f4.js.map
9
+ //# sourceMappingURL=column-views.77e22590.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":[],"version":3,"file":"column-views.0a8a07f4.js.map"}
1
+ {"mappings":"","sources":["packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":[],"version":3,"file":"column-views.77e22590.js.map"}
@@ -1,9 +1,9 @@
1
- import {CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040} from "./column-views.5a49cd68.js";
1
+ import {CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040} from "./column-views.75e5aebe.js";
2
2
  import $7zu8d$columnviewscc733361js from "./column-views.cc733361.js";
3
- import "./column-views.e33ac5c9.css";
4
- import {MacrostratColumnProvider as $774a5efa27d1c77b$export$9e42f9b6e0d67c7d, useMacrostratBaseURL as $774a5efa27d1c77b$export$33b1392d23dde04} from "./column-views.73b8ff16.js";
5
- import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.4fd4ec92.js";
6
- import {Duration as $448b24baeef3b229$export$3b11bc38611c5941} from "./column-views.77561197.js";
3
+ import "./column-views.e93478c3.css";
4
+ import {MacrostratColumnProvider as $774a5efa27d1c77b$export$9e42f9b6e0d67c7d, useMacrostratBaseURL as $774a5efa27d1c77b$export$33b1392d23dde04} from "./column-views.ef88c46c.js";
5
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.abf6aedd.js";
6
+ import {Duration as $448b24baeef3b229$export$3b11bc38611c5941} from "./column-views.218e8f5d.js";
7
7
  import {useMemo as $7zu8d$useMemo} from "react";
8
8
  import {useMacrostratIntervals as $7zu8d$useMacrostratIntervals, Timescale as $7zu8d$Timescale, TimescaleOrientation as $7zu8d$TimescaleOrientation} from "@macrostrat/timescale";
9
9
  import {SVG as $7zu8d$SVG, ColumnAxisType as $7zu8d$ColumnAxisType} from "@macrostrat/column-components";
@@ -28,7 +28,7 @@ function $7d0f52717c0de7e1$export$38cb0ab5af8f50d7(props) {
28
28
  const { unconformityLabels: unconformityLabels = true, unitComponent: unitComponent, unitComponentProps: unitComponentProps, showLabels: showLabels = true, width: width = 300, columnWidth: columnWidth = 150, showLabelColumn: showLabelColumn = true, clipUnits: clipUnits = true, maxInternalColumns: maxInternalColumns } = props;
29
29
  const units = (0, $d5074f164411387e$export$6fb40844db555b2)();
30
30
  // Get a unique key for the column
31
- const key = units[0]?.unit_id;
31
+ const key = units[0]?.col_id;
32
32
  return $7d0f52717c0de7e1$var$h((0, $8c8238faa5cde49c$export$e4e89ab6c86ac513), {
33
33
  units: units,
34
34
  key: key
@@ -205,22 +205,27 @@ function $7d0f52717c0de7e1$export$e12e53eeee198b99(props) {
205
205
  function $7d0f52717c0de7e1$var$Unconformity({ upperAge: upperAge, lowerAge: lowerAge, style: style, axisType: axisType, verbose: verbose = false }) {
206
206
  if (upperAge == null || lowerAge == null) return null;
207
207
  const ageGap = Math.abs(upperAge - lowerAge);
208
+ let maximumFractionDigits = 0;
208
209
  let className = null;
209
210
  if (ageGap > 1000) className = "giga";
210
211
  else if (ageGap > 100) className = "mega";
211
212
  else if (ageGap > 10) className = "large";
212
- else if (ageGap < 1) className = "small";
213
+ else if (ageGap < 1) {
214
+ className = "small";
215
+ maximumFractionDigits = 2;
216
+ } else maximumFractionDigits = 1;
213
217
  let val;
214
218
  if (axisType === (0, $7zu8d$ColumnAxisType).DEPTH || axisType === (0, $7zu8d$ColumnAxisType).HEIGHT) {
215
219
  const _txt = ageGap.toLocaleString("en-US", {
216
- maximumFractionDigits: 2
220
+ maximumFractionDigits: maximumFractionDigits
217
221
  });
218
222
  val = $7d0f52717c0de7e1$var$h((0, $7zu8d$Value), {
219
223
  value: _txt,
220
224
  unit: "m"
221
225
  });
222
226
  } else val = $7d0f52717c0de7e1$var$h((0, $448b24baeef3b229$export$3b11bc38611c5941), {
223
- value: ageGap
227
+ value: ageGap,
228
+ maximumFractionDigits: maximumFractionDigits
224
229
  });
225
230
  let prefix = null;
226
231
  if (verbose) prefix = $7d0f52717c0de7e1$var$h([
@@ -240,4 +245,4 @@ function $7d0f52717c0de7e1$var$Unconformity({ upperAge: upperAge, lowerAge: lowe
240
245
 
241
246
 
242
247
  export {$7d0f52717c0de7e1$export$38cb0ab5af8f50d7 as SectionsColumn, $7d0f52717c0de7e1$export$e12e53eeee198b99 as UnconformityLabels, $7d0f52717c0de7e1$export$db2df5a73a6fbe10 as CompositeTimescale, $7d0f52717c0de7e1$export$463f46772c64d403 as CompositeTimescaleCore};
243
- //# sourceMappingURL=column-views.0859feb3.js.map
248
+ //# sourceMappingURL=column-views.7b4a1f15.js.map