@macrostrat/column-views 2.4.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/age-axis.cjs +123 -0
  3. package/dist/age-axis.cjs.map +1 -0
  4. package/dist/age-axis.d.ts +33 -0
  5. package/dist/age-axis.js +123 -0
  6. package/dist/age-axis.js.map +1 -0
  7. package/dist/age-axis.module.sass.cjs +18 -0
  8. package/dist/age-axis.module.sass.cjs.map +1 -0
  9. package/dist/age-axis.module.sass.js +18 -0
  10. package/dist/age-axis.module.sass.js.map +1 -0
  11. package/dist/age-model-overlay.cjs +48 -0
  12. package/dist/age-model-overlay.cjs.map +1 -0
  13. package/dist/age-model-overlay.d.ts +24 -0
  14. package/dist/age-model-overlay.js +48 -0
  15. package/dist/age-model-overlay.js.map +1 -0
  16. package/dist/age-model-overlay.module.sass.cjs +8 -0
  17. package/dist/age-model-overlay.module.sass.cjs.map +1 -0
  18. package/dist/age-model-overlay.module.sass.js +8 -0
  19. package/dist/age-model-overlay.module.sass.js.map +1 -0
  20. package/dist/column-views.css +685 -0
  21. package/dist/column.cjs +247 -0
  22. package/dist/column.cjs.map +1 -0
  23. package/dist/column.d.ts +44 -0
  24. package/dist/column.js +247 -0
  25. package/dist/column.js.map +1 -0
  26. package/dist/column.module.sass.cjs +33 -0
  27. package/dist/column.module.sass.cjs.map +1 -0
  28. package/dist/column.module.sass.js +33 -0
  29. package/dist/column.module.sass.js.map +1 -0
  30. package/dist/correlation-chart/hash-string.cjs +46 -0
  31. package/dist/correlation-chart/hash-string.cjs.map +1 -0
  32. package/dist/correlation-chart/hash-string.d.ts +3 -0
  33. package/dist/correlation-chart/hash-string.js +46 -0
  34. package/dist/correlation-chart/hash-string.js.map +1 -0
  35. package/dist/correlation-chart/index.d.ts +2 -0
  36. package/dist/correlation-chart/main.cjs +202 -0
  37. package/dist/correlation-chart/main.cjs.map +1 -0
  38. package/dist/correlation-chart/main.d.ts +15 -0
  39. package/dist/correlation-chart/main.js +202 -0
  40. package/dist/correlation-chart/main.js.map +1 -0
  41. package/dist/correlation-chart/main.module.sass.cjs +28 -0
  42. package/dist/correlation-chart/main.module.sass.cjs.map +1 -0
  43. package/dist/correlation-chart/main.module.sass.js +28 -0
  44. package/dist/correlation-chart/main.module.sass.js.map +1 -0
  45. package/dist/correlation-chart/prepare-data.cjs +62 -0
  46. package/dist/correlation-chart/prepare-data.cjs.map +1 -0
  47. package/dist/correlation-chart/prepare-data.d.ts +52 -0
  48. package/dist/correlation-chart/prepare-data.js +62 -0
  49. package/dist/correlation-chart/prepare-data.js.map +1 -0
  50. package/dist/correlation-chart/stories/utils.d.ts +6 -0
  51. package/dist/correlation-chart/unconformity-line.d.ts +3 -0
  52. package/dist/data-provider/base.cjs +349 -0
  53. package/dist/data-provider/base.cjs.map +1 -0
  54. package/dist/data-provider/base.d.ts +65 -0
  55. package/dist/data-provider/base.js +349 -0
  56. package/dist/data-provider/base.js.map +1 -0
  57. package/dist/data-provider/column-nav.cjs +36 -0
  58. package/dist/data-provider/column-nav.cjs.map +1 -0
  59. package/dist/data-provider/column-nav.d.ts +13 -0
  60. package/dist/data-provider/column-nav.js +36 -0
  61. package/dist/data-provider/column-nav.js.map +1 -0
  62. package/dist/data-provider/core.cjs +56 -0
  63. package/dist/data-provider/core.cjs.map +1 -0
  64. package/dist/data-provider/core.d.ts +31 -0
  65. package/dist/data-provider/core.js +56 -0
  66. package/dist/{esm/column-views.67804ce5.js.map → data-provider/core.js.map} +1 -1
  67. package/dist/data-provider/fetch.cjs +210 -0
  68. package/dist/data-provider/fetch.cjs.map +1 -0
  69. package/dist/data-provider/fetch.d.ts +27 -0
  70. package/dist/data-provider/fetch.js +210 -0
  71. package/dist/data-provider/fetch.js.map +1 -0
  72. package/dist/data-provider/index.d.ts +5 -0
  73. package/dist/data-provider/store.cjs +107 -0
  74. package/dist/data-provider/store.cjs.map +1 -0
  75. package/dist/data-provider/store.d.ts +34 -0
  76. package/dist/data-provider/store.js +107 -0
  77. package/dist/data-provider/store.js.map +1 -0
  78. package/dist/data-provider/unit-selection.cjs +225 -0
  79. package/dist/data-provider/unit-selection.cjs.map +1 -0
  80. package/dist/data-provider/unit-selection.d.ts +49 -0
  81. package/dist/data-provider/unit-selection.js +225 -0
  82. package/dist/data-provider/unit-selection.js.map +1 -0
  83. package/dist/facets/carbon-isotopes/data-area.cjs +64 -0
  84. package/dist/facets/carbon-isotopes/data-area.cjs.map +1 -0
  85. package/dist/facets/carbon-isotopes/data-area.d.ts +13 -0
  86. package/dist/facets/carbon-isotopes/data-area.js +64 -0
  87. package/dist/facets/carbon-isotopes/data-area.js.map +1 -0
  88. package/dist/facets/carbon-isotopes/data-provider.cjs +20 -0
  89. package/dist/facets/carbon-isotopes/data-provider.cjs.map +1 -0
  90. package/dist/facets/carbon-isotopes/data-provider.d.ts +4 -0
  91. package/dist/facets/carbon-isotopes/data-provider.js +20 -0
  92. package/dist/facets/carbon-isotopes/data-provider.js.map +1 -0
  93. package/dist/facets/carbon-isotopes/index.d.ts +2 -0
  94. package/dist/facets/carbon-isotopes/isotopes-column.cjs +174 -0
  95. package/dist/facets/carbon-isotopes/isotopes-column.cjs.map +1 -0
  96. package/dist/facets/carbon-isotopes/isotopes-column.d.ts +19 -0
  97. package/dist/facets/carbon-isotopes/isotopes-column.js +174 -0
  98. package/dist/facets/carbon-isotopes/isotopes-column.js.map +1 -0
  99. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs +15 -0
  100. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs.map +1 -0
  101. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js +15 -0
  102. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js.map +1 -0
  103. package/dist/facets/detrital-zircon/index.cjs +108 -0
  104. package/dist/facets/detrital-zircon/index.cjs.map +1 -0
  105. package/dist/facets/detrital-zircon/index.d.ts +24 -0
  106. package/dist/facets/detrital-zircon/index.js +108 -0
  107. package/dist/facets/detrital-zircon/index.js.map +1 -0
  108. package/dist/facets/detrital-zircon/index.module.sass.cjs +11 -0
  109. package/dist/facets/detrital-zircon/index.module.sass.cjs.map +1 -0
  110. package/dist/facets/detrital-zircon/index.module.sass.js +11 -0
  111. package/dist/facets/detrital-zircon/index.module.sass.js.map +1 -0
  112. package/dist/facets/detrital-zircon/provider.cjs +22 -0
  113. package/dist/facets/detrital-zircon/provider.cjs.map +1 -0
  114. package/dist/facets/detrital-zircon/provider.d.ts +31 -0
  115. package/dist/facets/detrital-zircon/provider.js +22 -0
  116. package/dist/facets/detrital-zircon/provider.js.map +1 -0
  117. package/dist/facets/fossils/index.cjs +120 -0
  118. package/dist/facets/fossils/index.cjs.map +1 -0
  119. package/dist/facets/fossils/index.d.ts +7 -0
  120. package/dist/facets/fossils/index.js +120 -0
  121. package/dist/facets/fossils/index.js.map +1 -0
  122. package/dist/facets/fossils/provider.cjs +99 -0
  123. package/dist/facets/fossils/provider.cjs.map +1 -0
  124. package/dist/facets/fossils/provider.d.ts +29 -0
  125. package/dist/facets/fossils/provider.js +99 -0
  126. package/dist/facets/fossils/provider.js.map +1 -0
  127. package/dist/facets/fossils/taxon-ranges.cjs +145 -0
  128. package/dist/facets/fossils/taxon-ranges.cjs.map +1 -0
  129. package/dist/facets/fossils/taxon-ranges.d.ts +3 -0
  130. package/dist/facets/fossils/taxon-ranges.js +145 -0
  131. package/dist/facets/fossils/taxon-ranges.js.map +1 -0
  132. package/dist/facets/fossils/taxon-ranges.module.sass.cjs +13 -0
  133. package/dist/facets/fossils/taxon-ranges.module.sass.cjs.map +1 -0
  134. package/dist/facets/fossils/taxon-ranges.module.sass.js +13 -0
  135. package/dist/facets/fossils/taxon-ranges.module.sass.js.map +1 -0
  136. package/dist/facets/index.d.ts +4 -0
  137. package/dist/facets/measurements/base.cjs +128 -0
  138. package/dist/facets/measurements/base.cjs.map +1 -0
  139. package/dist/facets/measurements/base.d.ts +46 -0
  140. package/dist/facets/measurements/base.js +128 -0
  141. package/dist/facets/measurements/base.js.map +1 -0
  142. package/dist/facets/measurements/base.module.sass.cjs +8 -0
  143. package/dist/facets/measurements/base.module.sass.cjs.map +1 -0
  144. package/dist/facets/measurements/base.module.sass.js +8 -0
  145. package/dist/facets/measurements/base.module.sass.js.map +1 -0
  146. package/dist/facets/measurements/index.d.ts +2 -0
  147. package/dist/facets/measurements/sgp.cjs +62 -0
  148. package/dist/facets/measurements/sgp.cjs.map +1 -0
  149. package/dist/facets/measurements/sgp.d.ts +3 -0
  150. package/dist/facets/measurements/sgp.js +62 -0
  151. package/dist/facets/measurements/sgp.js.map +1 -0
  152. package/dist/index.cjs +164 -0
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.ts +11 -0
  155. package/dist/index.js +164 -0
  156. package/dist/index.js.map +1 -0
  157. package/dist/maps/_shared/index.d.ts +2 -0
  158. package/dist/maps/_shared/inset-map.cjs +69 -0
  159. package/dist/maps/_shared/inset-map.cjs.map +1 -0
  160. package/dist/maps/_shared/inset-map.d.ts +16 -0
  161. package/dist/maps/_shared/inset-map.js +69 -0
  162. package/dist/maps/_shared/inset-map.js.map +1 -0
  163. package/dist/maps/_shared/styles.cjs +68 -0
  164. package/dist/maps/_shared/styles.cjs.map +1 -0
  165. package/dist/maps/_shared/styles.d.ts +2 -0
  166. package/dist/maps/_shared/styles.js +68 -0
  167. package/dist/maps/_shared/styles.js.map +1 -0
  168. package/dist/maps/column-correlation/core.cjs +185 -0
  169. package/dist/maps/column-correlation/core.cjs.map +1 -0
  170. package/dist/maps/column-correlation/core.d.ts +9 -0
  171. package/dist/maps/column-correlation/core.js +185 -0
  172. package/dist/maps/column-correlation/core.js.map +1 -0
  173. package/dist/maps/column-correlation/index.d.ts +2 -0
  174. package/dist/maps/column-correlation/state.cjs +129 -0
  175. package/dist/maps/column-correlation/state.cjs.map +1 -0
  176. package/dist/maps/column-correlation/state.d.ts +31 -0
  177. package/dist/maps/column-correlation/state.js +129 -0
  178. package/dist/maps/column-correlation/state.js.map +1 -0
  179. package/dist/maps/column-navigation/index.d.ts +2 -0
  180. package/dist/maps/column-navigation/mapbox/index.cjs +175 -0
  181. package/dist/maps/column-navigation/mapbox/index.cjs.map +1 -0
  182. package/dist/maps/column-navigation/mapbox/index.d.ts +17 -0
  183. package/dist/maps/column-navigation/mapbox/index.js +175 -0
  184. package/dist/maps/column-navigation/mapbox/index.js.map +1 -0
  185. package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs +99 -0
  186. package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs.map +1 -0
  187. package/dist/maps/column-navigation/mapbox/keyboard-navigation.d.ts +31 -0
  188. package/dist/maps/column-navigation/mapbox/keyboard-navigation.js +99 -0
  189. package/dist/maps/column-navigation/mapbox/keyboard-navigation.js.map +1 -0
  190. package/dist/maps/column-navigation/mapbox/state.cjs +71 -0
  191. package/dist/maps/column-navigation/mapbox/state.cjs.map +1 -0
  192. package/dist/maps/column-navigation/mapbox/state.d.ts +23 -0
  193. package/dist/maps/column-navigation/mapbox/state.js +71 -0
  194. package/dist/maps/column-navigation/mapbox/state.js.map +1 -0
  195. package/dist/maps/column-navigation/svg/animated.d.ts +1 -0
  196. package/dist/maps/column-navigation/svg/index.cjs +92 -0
  197. package/dist/maps/column-navigation/svg/index.cjs.map +1 -0
  198. package/dist/maps/column-navigation/svg/index.d.ts +9 -0
  199. package/dist/maps/column-navigation/svg/index.js +93 -0
  200. package/dist/maps/column-navigation/svg/index.js.map +1 -0
  201. package/dist/maps/column-navigation/svg/layers.cjs +175 -0
  202. package/dist/maps/column-navigation/svg/layers.cjs.map +1 -0
  203. package/dist/maps/column-navigation/svg/layers.d.ts +54 -0
  204. package/dist/maps/column-navigation/svg/layers.js +175 -0
  205. package/dist/maps/column-navigation/svg/layers.js.map +1 -0
  206. package/dist/maps/column-navigation/utils/keyboard-navigation.cjs +50 -0
  207. package/dist/maps/column-navigation/utils/keyboard-navigation.cjs.map +1 -0
  208. package/dist/maps/column-navigation/utils/keyboard-navigation.d.ts +10 -0
  209. package/dist/maps/column-navigation/utils/keyboard-navigation.js +50 -0
  210. package/dist/maps/column-navigation/utils/keyboard-navigation.js.map +1 -0
  211. package/dist/maps/index.d.ts +3 -0
  212. package/dist/notes.cjs +41 -0
  213. package/dist/notes.cjs.map +1 -0
  214. package/dist/notes.d.ts +12 -0
  215. package/dist/notes.js +41 -0
  216. package/dist/notes.js.map +1 -0
  217. package/dist/prepare-units/composite-scale.cjs +284 -0
  218. package/dist/prepare-units/composite-scale.cjs.map +1 -0
  219. package/dist/prepare-units/composite-scale.d.ts +19 -0
  220. package/dist/prepare-units/composite-scale.js +284 -0
  221. package/dist/prepare-units/composite-scale.js.map +1 -0
  222. package/dist/prepare-units/dynamic-scales.cjs +190 -0
  223. package/dist/prepare-units/dynamic-scales.cjs.map +1 -0
  224. package/dist/prepare-units/dynamic-scales.d.ts +13 -0
  225. package/dist/prepare-units/dynamic-scales.js +190 -0
  226. package/dist/prepare-units/dynamic-scales.js.map +1 -0
  227. package/dist/prepare-units/helpers.cjs +198 -0
  228. package/dist/prepare-units/helpers.cjs.map +1 -0
  229. package/dist/prepare-units/helpers.d.ts +10 -0
  230. package/dist/prepare-units/helpers.js +198 -0
  231. package/dist/prepare-units/helpers.js.map +1 -0
  232. package/dist/prepare-units/index.cjs +130 -0
  233. package/dist/prepare-units/index.cjs.map +1 -0
  234. package/dist/prepare-units/index.d.ts +10 -0
  235. package/dist/prepare-units/index.js +131 -0
  236. package/dist/prepare-units/index.js.map +1 -0
  237. package/dist/prepare-units/types.cjs +16 -0
  238. package/dist/prepare-units/types.cjs.map +1 -0
  239. package/dist/prepare-units/types.d.ts +99 -0
  240. package/dist/prepare-units/types.js +16 -0
  241. package/dist/prepare-units/types.js.map +1 -0
  242. package/dist/prepare-units/utils.cjs +99 -0
  243. package/dist/prepare-units/utils.cjs.map +1 -0
  244. package/dist/prepare-units/utils.d.ts +39 -0
  245. package/dist/prepare-units/utils.js +99 -0
  246. package/dist/prepare-units/utils.js.map +1 -0
  247. package/dist/section.cjs +269 -0
  248. package/dist/section.cjs.map +1 -0
  249. package/dist/section.d.ts +45 -0
  250. package/dist/section.js +269 -0
  251. package/dist/section.js.map +1 -0
  252. package/dist/unit-details/index.d.ts +3 -0
  253. package/dist/unit-details/modal-panel.cjs +57 -0
  254. package/dist/unit-details/modal-panel.cjs.map +1 -0
  255. package/dist/unit-details/modal-panel.d.ts +1 -0
  256. package/dist/unit-details/modal-panel.js +57 -0
  257. package/dist/unit-details/modal-panel.js.map +1 -0
  258. package/dist/unit-details/panel.cjs +627 -0
  259. package/dist/unit-details/panel.cjs.map +1 -0
  260. package/dist/unit-details/panel.d.ts +87 -0
  261. package/dist/unit-details/panel.js +627 -0
  262. package/dist/unit-details/panel.js.map +1 -0
  263. package/dist/unit-details/panel.module.sass.cjs +42 -0
  264. package/dist/unit-details/panel.module.sass.cjs.map +1 -0
  265. package/dist/unit-details/panel.module.sass.js +42 -0
  266. package/dist/unit-details/panel.module.sass.js.map +1 -0
  267. package/dist/unit-details/popover.cjs +81 -0
  268. package/dist/unit-details/popover.cjs.map +1 -0
  269. package/dist/unit-details/popover.d.ts +9 -0
  270. package/dist/unit-details/popover.js +81 -0
  271. package/dist/unit-details/popover.js.map +1 -0
  272. package/dist/unit-details/popover.module.sass.cjs +10 -0
  273. package/dist/unit-details/popover.module.sass.cjs.map +1 -0
  274. package/dist/unit-details/popover.module.sass.js +10 -0
  275. package/dist/unit-details/popover.module.sass.js.map +1 -0
  276. package/dist/units/boxes.cjs +187 -0
  277. package/dist/units/boxes.cjs.map +1 -0
  278. package/dist/units/boxes.d.ts +54 -0
  279. package/dist/units/boxes.js +187 -0
  280. package/dist/units/boxes.js.map +1 -0
  281. package/dist/units/boxes.module.sass.cjs +11 -0
  282. package/dist/units/boxes.module.sass.cjs.map +1 -0
  283. package/dist/units/boxes.module.sass.js +11 -0
  284. package/dist/units/boxes.module.sass.js.map +1 -0
  285. package/dist/units/colors.cjs +52 -0
  286. package/dist/units/colors.cjs.map +1 -0
  287. package/dist/units/colors.d.ts +7 -0
  288. package/dist/units/colors.js +52 -0
  289. package/dist/units/colors.js.map +1 -0
  290. package/dist/units/composite.cjs +157 -0
  291. package/dist/units/composite.cjs.map +1 -0
  292. package/dist/units/composite.d.ts +39 -0
  293. package/dist/units/composite.js +157 -0
  294. package/dist/units/composite.js.map +1 -0
  295. package/dist/units/composite.module.sass.cjs +7 -0
  296. package/dist/units/composite.module.sass.cjs.map +1 -0
  297. package/dist/units/composite.module.sass.js +7 -0
  298. package/dist/units/composite.module.sass.js.map +1 -0
  299. package/dist/units/index.cjs +117 -0
  300. package/dist/units/index.cjs.map +1 -0
  301. package/dist/units/index.d.ts +40 -0
  302. package/dist/units/index.js +118 -0
  303. package/dist/units/index.js.map +1 -0
  304. package/dist/units/names.cjs +72 -0
  305. package/dist/units/names.cjs.map +1 -0
  306. package/dist/units/names.d.ts +33 -0
  307. package/dist/units/names.js +72 -0
  308. package/dist/units/names.js.map +1 -0
  309. package/dist/units/resolvers.cjs +114 -0
  310. package/dist/units/resolvers.cjs.map +1 -0
  311. package/dist/units/resolvers.d.ts +3 -0
  312. package/dist/units/resolvers.js +114 -0
  313. package/dist/units/resolvers.js.map +1 -0
  314. package/dist/units/types.d.ts +16 -0
  315. package/package.json +52 -55
  316. package/src/facets/measurements/sgp.ts +10 -3
  317. package/src/unit-details/popover.module.sass +3 -3
  318. package/dist/esm/column-views.006d5180.js +0 -97
  319. package/dist/esm/column-views.006d5180.js.map +0 -1
  320. package/dist/esm/column-views.052498a6.js +0 -93
  321. package/dist/esm/column-views.052498a6.js.map +0 -1
  322. package/dist/esm/column-views.079119f4.js +0 -17
  323. package/dist/esm/column-views.079119f4.js.map +0 -1
  324. package/dist/esm/column-views.0b3c0d18.js +0 -322
  325. package/dist/esm/column-views.0b3c0d18.js.map +0 -1
  326. package/dist/esm/column-views.0ed9da35.js +0 -141
  327. package/dist/esm/column-views.0ed9da35.js.map +0 -1
  328. package/dist/esm/column-views.0faf79a9.js +0 -142
  329. package/dist/esm/column-views.0faf79a9.js.map +0 -1
  330. package/dist/esm/column-views.16cc7a58.css +0 -37
  331. package/dist/esm/column-views.16cc7a58.css.map +0 -1
  332. package/dist/esm/column-views.17a70358.js +0 -16
  333. package/dist/esm/column-views.17a70358.js.map +0 -1
  334. package/dist/esm/column-views.19539293.js +0 -86
  335. package/dist/esm/column-views.19539293.js.map +0 -1
  336. package/dist/esm/column-views.1af3ec1f.js +0 -139
  337. package/dist/esm/column-views.1af3ec1f.js.map +0 -1
  338. package/dist/esm/column-views.1cd55918.js +0 -206
  339. package/dist/esm/column-views.1cd55918.js.map +0 -1
  340. package/dist/esm/column-views.22ec902b.js +0 -34
  341. package/dist/esm/column-views.22ec902b.js.map +0 -1
  342. package/dist/esm/column-views.2a0010a3.js +0 -15
  343. package/dist/esm/column-views.2a0010a3.js.map +0 -1
  344. package/dist/esm/column-views.2c45a7b5.js +0 -25
  345. package/dist/esm/column-views.2c45a7b5.js.map +0 -1
  346. package/dist/esm/column-views.321af3ae.css +0 -59
  347. package/dist/esm/column-views.321af3ae.css.map +0 -1
  348. package/dist/esm/column-views.334c3947.js +0 -75
  349. package/dist/esm/column-views.334c3947.js.map +0 -1
  350. package/dist/esm/column-views.33796541.js +0 -88
  351. package/dist/esm/column-views.33796541.js.map +0 -1
  352. package/dist/esm/column-views.337b40a2.js +0 -199
  353. package/dist/esm/column-views.337b40a2.js.map +0 -1
  354. package/dist/esm/column-views.338a7a83.css +0 -134
  355. package/dist/esm/column-views.338a7a83.css.map +0 -1
  356. package/dist/esm/column-views.33d35a44.js +0 -118
  357. package/dist/esm/column-views.33d35a44.js.map +0 -1
  358. package/dist/esm/column-views.3465c8ad.js +0 -16
  359. package/dist/esm/column-views.3465c8ad.js.map +0 -1
  360. package/dist/esm/column-views.362aae9a.js +0 -113
  361. package/dist/esm/column-views.362aae9a.js.map +0 -1
  362. package/dist/esm/column-views.3b972a9b.css +0 -4
  363. package/dist/esm/column-views.3b972a9b.css.map +0 -1
  364. package/dist/esm/column-views.3de4dc43.js +0 -66
  365. package/dist/esm/column-views.3de4dc43.js.map +0 -1
  366. package/dist/esm/column-views.40cd59b5.js +0 -13
  367. package/dist/esm/column-views.40cd59b5.js.map +0 -1
  368. package/dist/esm/column-views.4252a555.js +0 -248
  369. package/dist/esm/column-views.4252a555.js.map +0 -1
  370. package/dist/esm/column-views.45c70ba4.js +0 -38
  371. package/dist/esm/column-views.45c70ba4.js.map +0 -1
  372. package/dist/esm/column-views.47b7d9ca.js +0 -206
  373. package/dist/esm/column-views.47b7d9ca.js.map +0 -1
  374. package/dist/esm/column-views.47ca059d.js +0 -225
  375. package/dist/esm/column-views.47ca059d.js.map +0 -1
  376. package/dist/esm/column-views.4d374a35.js +0 -19
  377. package/dist/esm/column-views.4d374a35.js.map +0 -1
  378. package/dist/esm/column-views.54c1f382.css +0 -23
  379. package/dist/esm/column-views.54c1f382.css.map +0 -1
  380. package/dist/esm/column-views.562db43a.css +0 -148
  381. package/dist/esm/column-views.562db43a.css.map +0 -1
  382. package/dist/esm/column-views.5e1c216f.js +0 -180
  383. package/dist/esm/column-views.5e1c216f.js.map +0 -1
  384. package/dist/esm/column-views.60e97132.js +0 -20
  385. package/dist/esm/column-views.60e97132.js.map +0 -1
  386. package/dist/esm/column-views.636d6553.js +0 -343
  387. package/dist/esm/column-views.636d6553.js.map +0 -1
  388. package/dist/esm/column-views.64f6ddd3.js +0 -9
  389. package/dist/esm/column-views.64f6ddd3.js.map +0 -1
  390. package/dist/esm/column-views.6519a353.js +0 -9
  391. package/dist/esm/column-views.6519a353.js.map +0 -1
  392. package/dist/esm/column-views.67804ce5.js +0 -68
  393. package/dist/esm/column-views.6992ca88.js +0 -25
  394. package/dist/esm/column-views.6992ca88.js.map +0 -1
  395. package/dist/esm/column-views.6a954628.js +0 -70
  396. package/dist/esm/column-views.6a954628.js.map +0 -1
  397. package/dist/esm/column-views.6c670c13.css +0 -26
  398. package/dist/esm/column-views.6c670c13.css.map +0 -1
  399. package/dist/esm/column-views.6cff6659.js +0 -11
  400. package/dist/esm/column-views.6cff6659.js.map +0 -1
  401. package/dist/esm/column-views.6d6b73b4.js +0 -55
  402. package/dist/esm/column-views.6d6b73b4.js.map +0 -1
  403. package/dist/esm/column-views.6f9511d1.css +0 -25
  404. package/dist/esm/column-views.6f9511d1.css.map +0 -1
  405. package/dist/esm/column-views.6fff7602.js +0 -94
  406. package/dist/esm/column-views.6fff7602.js.map +0 -1
  407. package/dist/esm/column-views.70387120.js +0 -9
  408. package/dist/esm/column-views.70387120.js.map +0 -1
  409. package/dist/esm/column-views.708140ab.css +0 -36
  410. package/dist/esm/column-views.708140ab.css.map +0 -1
  411. package/dist/esm/column-views.74837922.js +0 -112
  412. package/dist/esm/column-views.74837922.js.map +0 -1
  413. package/dist/esm/column-views.76fb9948.js +0 -169
  414. package/dist/esm/column-views.76fb9948.js.map +0 -1
  415. package/dist/esm/column-views.7bfb4318.js +0 -161
  416. package/dist/esm/column-views.7bfb4318.js.map +0 -1
  417. package/dist/esm/column-views.7dc53f1b.js +0 -168
  418. package/dist/esm/column-views.7dc53f1b.js.map +0 -1
  419. package/dist/esm/column-views.85df21ec.js +0 -567
  420. package/dist/esm/column-views.85df21ec.js.map +0 -1
  421. package/dist/esm/column-views.87c589b7.js +0 -72
  422. package/dist/esm/column-views.87c589b7.js.map +0 -1
  423. package/dist/esm/column-views.8da2b857.js +0 -81
  424. package/dist/esm/column-views.8da2b857.js.map +0 -1
  425. package/dist/esm/column-views.8fb37de7.js +0 -9
  426. package/dist/esm/column-views.8fb37de7.js.map +0 -1
  427. package/dist/esm/column-views.905ddea0.js +0 -9
  428. package/dist/esm/column-views.905ddea0.js.map +0 -1
  429. package/dist/esm/column-views.9512c5d5.js +0 -240
  430. package/dist/esm/column-views.9512c5d5.js.map +0 -1
  431. package/dist/esm/column-views.9905b91c.js +0 -11
  432. package/dist/esm/column-views.9905b91c.js.map +0 -1
  433. package/dist/esm/column-views.9b77388d.js +0 -41
  434. package/dist/esm/column-views.9b77388d.js.map +0 -1
  435. package/dist/esm/column-views.a4f394fe.js +0 -127
  436. package/dist/esm/column-views.a4f394fe.js.map +0 -1
  437. package/dist/esm/column-views.a7c5ae16.js +0 -25
  438. package/dist/esm/column-views.a7c5ae16.js.map +0 -1
  439. package/dist/esm/column-views.aa9ede4d.js +0 -206
  440. package/dist/esm/column-views.aa9ede4d.js.map +0 -1
  441. package/dist/esm/column-views.b2142cd8.js +0 -13
  442. package/dist/esm/column-views.b2142cd8.js.map +0 -1
  443. package/dist/esm/column-views.b7cf0da2.js +0 -60
  444. package/dist/esm/column-views.b7cf0da2.js.map +0 -1
  445. package/dist/esm/column-views.b88d4bbe.js +0 -61
  446. package/dist/esm/column-views.b88d4bbe.js.map +0 -1
  447. package/dist/esm/column-views.beb54e95.js +0 -39
  448. package/dist/esm/column-views.beb54e95.js.map +0 -1
  449. package/dist/esm/column-views.c750a6df.js +0 -9
  450. package/dist/esm/column-views.c750a6df.js.map +0 -1
  451. package/dist/esm/column-views.cb1cc9f2.js +0 -134
  452. package/dist/esm/column-views.cb1cc9f2.js.map +0 -1
  453. package/dist/esm/column-views.cb6fc808.css +0 -54
  454. package/dist/esm/column-views.cb6fc808.css.map +0 -1
  455. package/dist/esm/column-views.cc733361.js +0 -55
  456. package/dist/esm/column-views.cc733361.js.map +0 -1
  457. package/dist/esm/column-views.ce000969.js +0 -187
  458. package/dist/esm/column-views.ce000969.js.map +0 -1
  459. package/dist/esm/column-views.d5e788e8.js +0 -31
  460. package/dist/esm/column-views.d5e788e8.js.map +0 -1
  461. package/dist/esm/column-views.d7740949.js +0 -152
  462. package/dist/esm/column-views.d7740949.js.map +0 -1
  463. package/dist/esm/column-views.d7e6bf67.js +0 -70
  464. package/dist/esm/column-views.d7e6bf67.js.map +0 -1
  465. package/dist/esm/column-views.dac0a3bb.js +0 -149
  466. package/dist/esm/column-views.dac0a3bb.js.map +0 -1
  467. package/dist/esm/column-views.dc42f5d0.js +0 -48
  468. package/dist/esm/column-views.dc42f5d0.js.map +0 -1
  469. package/dist/esm/column-views.e13a0a76.js +0 -138
  470. package/dist/esm/column-views.e13a0a76.js.map +0 -1
  471. package/dist/esm/column-views.e40b8bfb.css +0 -14
  472. package/dist/esm/column-views.e40b8bfb.css.map +0 -1
  473. package/dist/esm/column-views.e93478c3.css +0 -194
  474. package/dist/esm/column-views.e93478c3.css.map +0 -1
  475. package/dist/esm/column-views.ea08f667.js +0 -218
  476. package/dist/esm/column-views.ea08f667.js.map +0 -1
  477. package/dist/esm/column-views.edf77621.js +0 -22
  478. package/dist/esm/column-views.edf77621.js.map +0 -1
  479. package/dist/esm/column-views.f9dab157.js +0 -3
  480. package/dist/esm/column-views.f9dab157.js.map +0 -1
  481. package/dist/esm/column-views.fcf25ec6.js +0 -76
  482. package/dist/esm/column-views.fcf25ec6.js.map +0 -1
  483. package/dist/esm/column-views.fe42d2fc.js +0 -134
  484. package/dist/esm/column-views.fe42d2fc.js.map +0 -1
  485. package/dist/esm/index.d.ts +0 -1008
  486. package/dist/esm/index.d.ts.map +0 -1
  487. package/dist/esm/index.js +0 -27
  488. package/dist/esm/index.js.map +0 -1
  489. package/dist/node/column-views.012fa10c.js +0 -2
  490. package/dist/node/column-views.012fa10c.js.map +0 -1
  491. package/dist/node/column-views.048fdcaf.js +0 -2
  492. package/dist/node/column-views.048fdcaf.js.map +0 -1
  493. package/dist/node/column-views.04a72b35.js +0 -2
  494. package/dist/node/column-views.04a72b35.js.map +0 -1
  495. package/dist/node/column-views.0619e2da.js +0 -2
  496. package/dist/node/column-views.0619e2da.js.map +0 -1
  497. package/dist/node/column-views.0840b115.css +0 -2
  498. package/dist/node/column-views.0840b115.css.map +0 -1
  499. package/dist/node/column-views.0af5912d.js +0 -2
  500. package/dist/node/column-views.0af5912d.js.map +0 -1
  501. package/dist/node/column-views.0bd15ee4.js +0 -2
  502. package/dist/node/column-views.0bd15ee4.js.map +0 -1
  503. package/dist/node/column-views.0d254fd3.js +0 -2
  504. package/dist/node/column-views.0d254fd3.js.map +0 -1
  505. package/dist/node/column-views.109cb0c8.js +0 -2
  506. package/dist/node/column-views.109cb0c8.js.map +0 -1
  507. package/dist/node/column-views.1261be59.js +0 -2
  508. package/dist/node/column-views.1261be59.js.map +0 -1
  509. package/dist/node/column-views.15b5cecc.js +0 -2
  510. package/dist/node/column-views.15b5cecc.js.map +0 -1
  511. package/dist/node/column-views.183745c0.js +0 -2
  512. package/dist/node/column-views.183745c0.js.map +0 -1
  513. package/dist/node/column-views.2e2158f5.js +0 -2
  514. package/dist/node/column-views.2e2158f5.js.map +0 -1
  515. package/dist/node/column-views.306acd3f.js +0 -2
  516. package/dist/node/column-views.306acd3f.js.map +0 -1
  517. package/dist/node/column-views.31153f29.js +0 -2
  518. package/dist/node/column-views.31153f29.js.map +0 -1
  519. package/dist/node/column-views.31da008b.js +0 -2
  520. package/dist/node/column-views.31da008b.js.map +0 -1
  521. package/dist/node/column-views.3a079e34.css +0 -2
  522. package/dist/node/column-views.3a079e34.css.map +0 -1
  523. package/dist/node/column-views.40e758b3.js +0 -2
  524. package/dist/node/column-views.40e758b3.js.map +0 -1
  525. package/dist/node/column-views.41876859.js +0 -2
  526. package/dist/node/column-views.41876859.js.map +0 -1
  527. package/dist/node/column-views.4a28d695.js +0 -2
  528. package/dist/node/column-views.4a28d695.js.map +0 -1
  529. package/dist/node/column-views.4ec769a6.js +0 -2
  530. package/dist/node/column-views.4ec769a6.js.map +0 -1
  531. package/dist/node/column-views.50a992d3.css +0 -2
  532. package/dist/node/column-views.50a992d3.css.map +0 -1
  533. package/dist/node/column-views.51fbed89.js +0 -2
  534. package/dist/node/column-views.51fbed89.js.map +0 -1
  535. package/dist/node/column-views.5987bc26.js +0 -2
  536. package/dist/node/column-views.5987bc26.js.map +0 -1
  537. package/dist/node/column-views.5a9331a9.js +0 -2
  538. package/dist/node/column-views.5a9331a9.js.map +0 -1
  539. package/dist/node/column-views.5bb858c9.js +0 -2
  540. package/dist/node/column-views.5bb858c9.js.map +0 -1
  541. package/dist/node/column-views.5c1b0eeb.css +0 -2
  542. package/dist/node/column-views.5c1b0eeb.css.map +0 -1
  543. package/dist/node/column-views.5cbada24.js +0 -2
  544. package/dist/node/column-views.5cbada24.js.map +0 -1
  545. package/dist/node/column-views.5fcd2be6.js +0 -2
  546. package/dist/node/column-views.5fcd2be6.js.map +0 -1
  547. package/dist/node/column-views.672b683c.js +0 -2
  548. package/dist/node/column-views.672b683c.js.map +0 -1
  549. package/dist/node/column-views.6a0a35e7.js +0 -2
  550. package/dist/node/column-views.6a0a35e7.js.map +0 -1
  551. package/dist/node/column-views.6a4c2100.css +0 -2
  552. package/dist/node/column-views.6a4c2100.css.map +0 -1
  553. package/dist/node/column-views.6a9da051.js +0 -2
  554. package/dist/node/column-views.6a9da051.js.map +0 -1
  555. package/dist/node/column-views.6bba8c57.js +0 -2
  556. package/dist/node/column-views.6bba8c57.js.map +0 -1
  557. package/dist/node/column-views.75ba0464.css +0 -2
  558. package/dist/node/column-views.75ba0464.css.map +0 -1
  559. package/dist/node/column-views.78b2d234.js +0 -2
  560. package/dist/node/column-views.78b2d234.js.map +0 -1
  561. package/dist/node/column-views.7b6e7d82.js +0 -2
  562. package/dist/node/column-views.7b6e7d82.js.map +0 -1
  563. package/dist/node/column-views.7b9bd06e.css +0 -2
  564. package/dist/node/column-views.7b9bd06e.css.map +0 -1
  565. package/dist/node/column-views.7d45bbeb.js +0 -2
  566. package/dist/node/column-views.7d45bbeb.js.map +0 -1
  567. package/dist/node/column-views.7f9c7448.js +0 -2
  568. package/dist/node/column-views.7f9c7448.js.map +0 -1
  569. package/dist/node/column-views.82cf7c0d.js +0 -2
  570. package/dist/node/column-views.82cf7c0d.js.map +0 -1
  571. package/dist/node/column-views.869c7199.js +0 -2
  572. package/dist/node/column-views.869c7199.js.map +0 -1
  573. package/dist/node/column-views.8bee789c.js +0 -2
  574. package/dist/node/column-views.8bee789c.js.map +0 -1
  575. package/dist/node/column-views.90c36c0b.js +0 -2
  576. package/dist/node/column-views.90c36c0b.js.map +0 -1
  577. package/dist/node/column-views.951e3e9a.js +0 -2
  578. package/dist/node/column-views.951e3e9a.js.map +0 -1
  579. package/dist/node/column-views.95411f1b.js +0 -2
  580. package/dist/node/column-views.95411f1b.js.map +0 -1
  581. package/dist/node/column-views.9cb13e51.css +0 -2
  582. package/dist/node/column-views.9cb13e51.css.map +0 -1
  583. package/dist/node/column-views.a0969fc8.js +0 -2
  584. package/dist/node/column-views.a0969fc8.js.map +0 -1
  585. package/dist/node/column-views.a2476e39.js +0 -2
  586. package/dist/node/column-views.a2476e39.js.map +0 -1
  587. package/dist/node/column-views.a8f5ee28.js +0 -2
  588. package/dist/node/column-views.a8f5ee28.js.map +0 -1
  589. package/dist/node/column-views.ad60c02f.js +0 -2
  590. package/dist/node/column-views.ad60c02f.js.map +0 -1
  591. package/dist/node/column-views.add5e42b.js +0 -2
  592. package/dist/node/column-views.add5e42b.js.map +0 -1
  593. package/dist/node/column-views.aff55599.js +0 -2
  594. package/dist/node/column-views.aff55599.js.map +0 -1
  595. package/dist/node/column-views.b169b4b5.css +0 -2
  596. package/dist/node/column-views.b169b4b5.css.map +0 -1
  597. package/dist/node/column-views.b2e5f823.js +0 -2
  598. package/dist/node/column-views.b2e5f823.js.map +0 -1
  599. package/dist/node/column-views.b57e5e6e.js +0 -2
  600. package/dist/node/column-views.b57e5e6e.js.map +0 -1
  601. package/dist/node/column-views.b762c9a8.js +0 -2
  602. package/dist/node/column-views.b762c9a8.js.map +0 -1
  603. package/dist/node/column-views.ba9108fe.js +0 -2
  604. package/dist/node/column-views.ba9108fe.js.map +0 -1
  605. package/dist/node/column-views.c16a19fb.js +0 -2
  606. package/dist/node/column-views.c16a19fb.js.map +0 -1
  607. package/dist/node/column-views.c3097d9a.js +0 -2
  608. package/dist/node/column-views.c3097d9a.js.map +0 -1
  609. package/dist/node/column-views.c4c15e2b.js +0 -2
  610. package/dist/node/column-views.c4c15e2b.js.map +0 -1
  611. package/dist/node/column-views.c651b684.js +0 -2
  612. package/dist/node/column-views.c651b684.js.map +0 -1
  613. package/dist/node/column-views.c968a185.css +0 -2
  614. package/dist/node/column-views.c968a185.css.map +0 -1
  615. package/dist/node/column-views.ccfb9afb.css +0 -2
  616. package/dist/node/column-views.ccfb9afb.css.map +0 -1
  617. package/dist/node/column-views.cdcce702.js +0 -2
  618. package/dist/node/column-views.cdcce702.js.map +0 -1
  619. package/dist/node/column-views.cf41a6d7.js +0 -2
  620. package/dist/node/column-views.cf41a6d7.js.map +0 -1
  621. package/dist/node/column-views.d22bf15c.js +0 -2
  622. package/dist/node/column-views.d22bf15c.js.map +0 -1
  623. package/dist/node/column-views.d737de1e.js +0 -2
  624. package/dist/node/column-views.d737de1e.js.map +0 -1
  625. package/dist/node/column-views.da902c44.js +0 -2
  626. package/dist/node/column-views.da902c44.js.map +0 -1
  627. package/dist/node/column-views.db3377d8.js +0 -2
  628. package/dist/node/column-views.db3377d8.js.map +0 -1
  629. package/dist/node/column-views.dbb4a46b.js +0 -2
  630. package/dist/node/column-views.dbb4a46b.js.map +0 -1
  631. package/dist/node/column-views.ddc6184e.css +0 -2
  632. package/dist/node/column-views.ddc6184e.css.map +0 -1
  633. package/dist/node/column-views.e0e20136.js +0 -2
  634. package/dist/node/column-views.e0e20136.js.map +0 -1
  635. package/dist/node/column-views.e2562224.js +0 -2
  636. package/dist/node/column-views.e2562224.js.map +0 -1
  637. package/dist/node/column-views.e6720522.js +0 -2
  638. package/dist/node/column-views.e6720522.js.map +0 -1
  639. package/dist/node/column-views.e7e26765.js +0 -2
  640. package/dist/node/column-views.e7e26765.js.map +0 -1
  641. package/dist/node/column-views.e93b3bdb.js +0 -2
  642. package/dist/node/column-views.e93b3bdb.js.map +0 -1
  643. package/dist/node/column-views.ebb44b7d.js +0 -2
  644. package/dist/node/column-views.ebb44b7d.js.map +0 -1
  645. package/dist/node/column-views.ec0087a2.js +0 -2
  646. package/dist/node/column-views.ec0087a2.js.map +0 -1
  647. package/dist/node/column-views.eea80478.js +0 -2
  648. package/dist/node/column-views.eea80478.js.map +0 -1
  649. package/dist/node/column-views.f2e82230.js +0 -2
  650. package/dist/node/column-views.f2e82230.js.map +0 -1
  651. package/dist/node/column-views.fb3ed7cc.js +0 -2
  652. package/dist/node/column-views.fb3ed7cc.js.map +0 -1
  653. package/dist/node/column-views.fcb243a2.js +0 -2
  654. package/dist/node/column-views.fcb243a2.js.map +0 -1
  655. package/dist/node/column-views.fea32686.js +0 -2
  656. package/dist/node/column-views.fea32686.js.map +0 -1
  657. package/dist/node/index.js +0 -2
  658. package/dist/node/index.js.map +0 -1
@@ -1,93 +0,0 @@
1
- import {compareAgeRanges as $1qVxh$compareAgeRanges, AgeRangeRelationship as $1qVxh$AgeRangeRelationship} from "@macrostrat/stratigraphy-utils";
2
- import {ColumnAxisType as $1qVxh$ColumnAxisType} from "@macrostrat/column-components";
3
-
4
-
5
-
6
- const $b6657fba8924a702$var$dt = 0.001;
7
- var $b6657fba8924a702$export$e1644389ce074058 = /*#__PURE__*/ function(MergeSectionsMode) {
8
- MergeSectionsMode["ALL"] = "all";
9
- MergeSectionsMode["OVERLAPPING"] = "overlapping";
10
- return MergeSectionsMode;
11
- }({});
12
- const $b6657fba8924a702$export$f1a15f539858307 = function(a, b, axisType = (0, $1qVxh$ColumnAxisType).AGE, tolerance = 0.001) {
13
- const rel = (0, $1qVxh$compareAgeRanges)($b6657fba8924a702$export$70e712e2ac0237a(a, axisType), $b6657fba8924a702$export$70e712e2ac0237a(b, axisType), tolerance);
14
- return rel != (0, $1qVxh$AgeRangeRelationship).Disjoint;
15
- };
16
- function $b6657fba8924a702$export$d92a67740c050efb(a, b, tolerance = $b6657fba8924a702$var$dt) {
17
- return $b6657fba8924a702$export$f1a15f539858307(a, b, (0, $1qVxh$ColumnAxisType).AGE, tolerance);
18
- }
19
- function $b6657fba8924a702$export$70e712e2ac0237a(unit, axisType, clipped = true) {
20
- if (clipped) switch(axisType){
21
- case (0, $1qVxh$ColumnAxisType).AGE:
22
- return [
23
- unit.b_clip_pos ?? unit.b_age,
24
- unit.t_clip_pos ?? unit.t_age
25
- ];
26
- case (0, $1qVxh$ColumnAxisType).DEPTH:
27
- case (0, $1qVxh$ColumnAxisType).ORDINAL:
28
- case (0, $1qVxh$ColumnAxisType).HEIGHT:
29
- return [
30
- unit.b_clip_pos ?? unit.b_pos,
31
- unit.t_clip_pos ?? unit.t_pos
32
- ];
33
- default:
34
- throw new Error(`Unknown axis type: ${axisType}`);
35
- }
36
- else switch(axisType){
37
- case (0, $1qVxh$ColumnAxisType).AGE:
38
- return [
39
- unit.b_age,
40
- unit.t_age
41
- ];
42
- case (0, $1qVxh$ColumnAxisType).DEPTH:
43
- case (0, $1qVxh$ColumnAxisType).ORDINAL:
44
- case (0, $1qVxh$ColumnAxisType).HEIGHT:
45
- return [
46
- unit.b_pos,
47
- unit.t_pos
48
- ];
49
- default:
50
- throw new Error(`Unknown axis type: ${axisType}`);
51
- }
52
- }
53
- function $b6657fba8924a702$export$441710fb21b4ae09(position, unit, axisType) {
54
- /** Translate a relative position (0-1) within a unit to an absolute position
55
- * within the unit's height range. If the unit is clipped, null values will be
56
- * returned for positions outside the clip range
57
- */ if (position < 0 || position > 1) throw new Error(`Position must be between 0 and 1: ${position}`);
58
- const [pos_bottom, pos_top] = $b6657fba8924a702$export$70e712e2ac0237a(unit, axisType, false);
59
- const abs_pos = pos_bottom + position * (pos_top - pos_bottom);
60
- // If clipped, check if abs_pos is within the clipped range
61
- const [clip_bottom, clip_top] = $b6657fba8924a702$export$70e712e2ac0237a(unit, axisType, true);
62
- if (axisType === (0, $1qVxh$ColumnAxisType).AGE || axisType === (0, $1qVxh$ColumnAxisType).DEPTH) {
63
- // Invert for age/depth axes
64
- if (abs_pos > clip_bottom || abs_pos < clip_top) return null;
65
- } else {
66
- if (abs_pos < clip_bottom || abs_pos > clip_top) return null;
67
- }
68
- return abs_pos;
69
- }
70
- const $b6657fba8924a702$export$ab14c04795685c55 = (axisType)=>{
71
- return (a, b)=>{
72
- const a_pos = $b6657fba8924a702$export$70e712e2ac0237a(a, axisType);
73
- const b_pos = $b6657fba8924a702$export$70e712e2ac0237a(b, axisType);
74
- const d_top = a_pos[1] - b_pos[1];
75
- if (d_top != 0) return d_top;
76
- return a_pos[0] - b_pos[0];
77
- };
78
- };
79
- function $b6657fba8924a702$export$d0c8ecbd4ed8940c(x) {
80
- if (Array.isArray(x)) return x;
81
- return [
82
- x
83
- ];
84
- }
85
- function $b6657fba8924a702$export$97de5b0a6b4e4dac(x) {
86
- if (typeof x == "string") x = parseFloat(x);
87
- if (isNaN(x)) return null;
88
- return x;
89
- }
90
-
91
-
92
- export {$b6657fba8924a702$export$e1644389ce074058 as MergeSectionsMode, $b6657fba8924a702$export$f1a15f539858307 as unitsOverlap, $b6657fba8924a702$export$70e712e2ac0237a as getUnitHeightRange, $b6657fba8924a702$export$d92a67740c050efb as agesOverlap, $b6657fba8924a702$export$441710fb21b4ae09 as getPositionWithinUnit, $b6657fba8924a702$export$ab14c04795685c55 as createUnitSorter, $b6657fba8924a702$export$d0c8ecbd4ed8940c as ensureArray, $b6657fba8924a702$export$97de5b0a6b4e4dac as ensureRealFloat};
93
- //# sourceMappingURL=column-views.052498a6.js.map
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/prepare-units/utils.ts"],"sourcesContent":["import type { BaseUnit } from \"@macrostrat/api-types\";\nimport {\n AgeRangeRelationship,\n compareAgeRanges,\n} from \"@macrostrat/stratigraphy-utils\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\nimport type {\n ColumnScaleOptions,\n CompositeColumnData,\n ExtUnit,\n PackageLayoutData,\n StratigraphicPackage,\n} from \"./types\";\n\nconst dt = 0.001;\n\nexport interface PrepareColumnOptions extends ColumnScaleOptions {\n axisType: ColumnAxisType;\n t_age?: number;\n b_age?: number;\n t_pos?: number;\n b_pos?: number;\n mergeSections?: MergeSectionsMode;\n collapseSmallUnconformities?: boolean | number;\n scale?: ScaleContinuousNumeric<any, any>;\n}\n\nexport enum MergeSectionsMode {\n ALL = \"all\",\n OVERLAPPING = \"overlapping\",\n}\n\nexport interface PreparedColumnData extends CompositeColumnData {\n sections: PackageLayoutData[];\n units: ExtUnit[];\n}\n\ninterface UnitsOverlap {\n (\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n axisType?: ColumnAxisType.AGE,\n tolerance?: number,\n ): boolean;\n (\n a: BaseUnit,\n b: BaseUnit,\n axisType: ColumnAxisType,\n tolerance?: number,\n ): boolean;\n}\n\nexport const unitsOverlap: UnitsOverlap = function (\n a,\n b,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n tolerance: number = 0.001,\n): boolean {\n const rel = compareAgeRanges(\n getUnitHeightRange(a, axisType),\n getUnitHeightRange(b, axisType),\n tolerance,\n );\n return rel != AgeRangeRelationship.Disjoint;\n};\n\n/** A more permissive overlap function in the age space */\nexport function agesOverlap(\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n tolerance: number = dt,\n): boolean {\n return unitsOverlap(a, b, ColumnAxisType.AGE, tolerance);\n}\n\nexport interface PossiblyClippedUnit extends BaseUnit {\n // Internally created clipped positions\n t_clip_pos?: number;\n b_clip_pos?: number;\n}\n\nexport function getUnitHeightRange(\n unit: PossiblyClippedUnit,\n axisType: ColumnAxisType,\n clipped: boolean = true,\n): [number, number] {\n if (clipped) {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return [unit.b_clip_pos ?? unit.b_age, unit.t_clip_pos ?? unit.t_age];\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.ORDINAL:\n case ColumnAxisType.HEIGHT:\n return [unit.b_clip_pos ?? unit.b_pos, unit.t_clip_pos ?? unit.t_pos];\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n } else {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return [unit.b_age, unit.t_age];\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.ORDINAL:\n case ColumnAxisType.HEIGHT:\n return [unit.b_pos, unit.t_pos];\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n }\n}\n\nexport function getPositionWithinUnit(\n position: number,\n unit: PossiblyClippedUnit,\n axisType: ColumnAxisType,\n): number | null {\n /** Translate a relative position (0-1) within a unit to an absolute position\n * within the unit's height range. If the unit is clipped, null values will be\n * returned for positions outside the clip range\n */\n if (position < 0 || position > 1) {\n throw new Error(`Position must be between 0 and 1: ${position}`);\n }\n\n const [pos_bottom, pos_top] = getUnitHeightRange(unit, axisType, false);\n const abs_pos = pos_bottom + position * (pos_top - pos_bottom);\n\n // If clipped, check if abs_pos is within the clipped range\n const [clip_bottom, clip_top] = getUnitHeightRange(unit, axisType, true);\n if (axisType === ColumnAxisType.AGE || axisType === ColumnAxisType.DEPTH) {\n // Invert for age/depth axes\n if (abs_pos > clip_bottom || abs_pos < clip_top) {\n return null;\n }\n } else {\n if (abs_pos < clip_bottom || abs_pos > clip_top) {\n return null;\n }\n }\n\n return abs_pos;\n}\n\nexport const createUnitSorter = (axisType: ColumnAxisType) => {\n return (a: BaseUnit, b: BaseUnit) => {\n const a_pos = getUnitHeightRange(a, axisType);\n const b_pos = getUnitHeightRange(b, axisType);\n const d_top = a_pos[1] - b_pos[1];\n if (d_top != 0) {\n return d_top;\n }\n return a_pos[0] - b_pos[0];\n };\n};\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n if (Array.isArray(x)) {\n return x;\n }\n return [x];\n}\n\nexport function ensureRealFloat(x: number | string | null): number | null {\n if (typeof x == \"string\") {\n x = parseFloat(x);\n }\n if (isNaN(x)) {\n return null;\n }\n return x;\n}\n"],"names":[],"version":3,"file":"column-views.052498a6.js.map"}
@@ -1,17 +0,0 @@
1
- var $1254c5929638d7f9$export$45e8e2d7a1794c23 = /*#__PURE__*/ function(HybridScaleType) {
2
- // An age-domain scale that puts equal vertical space between surfaces
3
- HybridScaleType["EquidistantSurfaces"] = "equidistant-surfaces";
4
- // A height-domain scale that is based on the average height of units between surfaces
5
- HybridScaleType["ApproximateHeight"] = "approximate-height";
6
- return HybridScaleType;
7
- }({});
8
- var $1254c5929638d7f9$export$e40aae6f0de9bb95 = /*#__PURE__*/ function(HeightMethod) {
9
- HeightMethod["Minimum"] = "minimum";
10
- HeightMethod["Average"] = "average";
11
- HeightMethod["Maximum"] = "maximum";
12
- return HeightMethod;
13
- }({});
14
-
15
-
16
- export {$1254c5929638d7f9$export$45e8e2d7a1794c23 as HybridScaleType, $1254c5929638d7f9$export$e40aae6f0de9bb95 as HeightMethod};
17
- //# sourceMappingURL=column-views.079119f4.js.map
@@ -1 +0,0 @@
1
- {"mappings":"AA8BO,IAAA,AAAK,mEAAA;IACV,sEAAsE;;IAEtE,sFAAsF;;WAH5E;;AAOL,IAAA,AAAK,mEAAA;;;;WAAA","sources":["packages/column-views/src/prepare-units/types.ts"],"sourcesContent":["import type { UnitLong } from \"@macrostrat/api-types\";\nimport type { ColumnAxisType } from \"@macrostrat/column-components\";\nimport type { ScaleContinuousNumeric } from \"d3-scale\";\n\nexport interface ColumnHeightScaleOptions {\n /** A fixed pixel scale to use for the section (pixels per Myr) */\n pixelScale?: number;\n /** The target height of a constituent unit in pixels, for dynamic\n * scale generation */\n targetUnitHeight?: number;\n /** Min height of a section in pixels. Will override minPixelScale in some cases. */\n minSectionHeight?: number;\n /** The minimum pixel scale to use for the section (pixels per Myr). This is mostly\n * needed because small sections (<1-2 units) don't necessarily have space to comfortably\n * render two axis labels */\n minPixelScale?: number;\n // Axis scale type\n axisType?: ColumnAxisType;\n // Unconformity height in pixels\n unconformityHeight?: number;\n // Whether to collapse unconformities that are less than a height threshold\n collapseSmallUnconformities?: boolean | number;\n // A continuous scale to use instead of generating one\n // TODO: discontinuous scales are not yet supported\n scale?: ScaleContinuousNumeric<number, number>;\n // Hybrid scale type.\n // This overrides parameters such as the axis type\n hybridScale?: HybridScaleDefinition;\n}\n\nexport enum HybridScaleType {\n // An age-domain scale that puts equal vertical space between surfaces\n EquidistantSurfaces = \"equidistant-surfaces\",\n // A height-domain scale that is based on the average height of units between surfaces\n ApproximateHeight = \"approximate-height\",\n}\n\nexport enum HeightMethod {\n Minimum = \"minimum\",\n Average = \"average\",\n Maximum = \"maximum\",\n}\n\nexport interface HybridScaleOptions {\n pixelOffset?: number;\n pixelScale?: number;\n}\n\nexport type ApproxHeightScaleOptions = {\n minHeight?: number;\n defaultHeight?: number;\n heightMethod?: HeightMethod;\n};\n\nexport type HybridScaleDefinition =\n | ({\n type: HybridScaleType.ApproximateHeight;\n } & ApproxHeightScaleOptions)\n | {\n type: HybridScaleType.EquidistantSurfaces;\n };\n\nexport interface SectionScaleOptions extends ColumnHeightScaleOptions {\n axisType: ColumnAxisType;\n domain: [number, number];\n}\n\n/** Output of a section scale. For now, this assumes that the\n * mapping is linear, but it could be extended to support arbitrary\n * scale functions.\n */\nexport interface PackageScaleInfo {\n domain: [number, number];\n pixelHeight: number;\n // TODO: add a function\n scale: ScaleContinuousNumeric<number, number>;\n pixelScale?: number; // if it's a linear scale, this could be defined\n // Subsidiary scale for height mapping (for hybrid scales)\n heightScale?: ScaleContinuousNumeric<number, number>;\n}\n\nexport type PackageScaleLayoutData = PackageScaleInfo & {\n // A unique key for the section to use in React\n key: string;\n offset: number;\n // How much to\n paddingTop: number;\n};\nexport interface StratigraphicPackage {\n /** A collection of stratigraphic information organized in time, corresponding\n * to single or multiple columns. */\n t_age: number;\n b_age: number;\n}\n\nexport interface SectionInfo<\n T extends UnitLong = ExtUnit,\n> extends StratigraphicPackage {\n /** A time-bounded part of a single stratigraphic column. */\n section_id: number | number[];\n units: T[];\n b_pos?: number;\n t_pos?: number;\n}\n\nexport interface ExtUnit extends UnitLong {\n bottomOverlap: boolean;\n overlappingUnits: number[];\n column?: number;\n /* Positions (ages or heights) where the unit is clipped to its containing section.\n * This is relevant if we are filtering by age/height/depth range.\n */\n t_clip_pos?: number;\n b_clip_pos?: number;\n}\n\nexport type PackageLayoutData<T extends UnitLong = ExtUnit> = SectionInfo<T> & {\n scaleInfo: PackageScaleLayoutData;\n // A unique key for the section to use in React\n key: string;\n};\n\nexport interface CompositeScaleData {\n totalHeight: number;\n sections: PackageScaleLayoutData[];\n}\n\nexport interface ColumnScaleOptions extends ColumnHeightScaleOptions {\n axisType: ColumnAxisType;\n unconformityHeight: number;\n}\n\nexport interface CompositeColumnData<T extends UnitLong = ExtUnit> extends Omit<\n CompositeScaleData,\n \"sections\"\n> {\n sections: PackageLayoutData<T>[];\n}\n"],"names":[],"version":3,"file":"column-views.079119f4.js.map"}
@@ -1,322 +0,0 @@
1
- import {ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.052498a6.js";
2
- import {buildHybridScale as $90d6b105908858a7$export$6b39f1b6356d94b6} from "./column-views.aa9ede4d.js";
3
- import {HybridScaleType as $1254c5929638d7f9$export$45e8e2d7a1794c23} from "./column-views.079119f4.js";
4
- import {ColumnAxisType as $egi9E$ColumnAxisType} from "@macrostrat/column-components";
5
- import {scaleLinear as $egi9E$scaleLinear} from "d3-scale";
6
-
7
-
8
-
9
-
10
-
11
-
12
- function $728f6cf6c12cd490$export$e7184dd8bb3302ed(inputScales, unconformityHeight) {
13
- /** Finalize the heights of sections, including the heights of unconformities
14
- * between them.
15
- */ let totalHeight = unconformityHeight / 2;
16
- let lastSectionTopHeight = 0;
17
- const packages2 = [];
18
- for (const group of inputScales){
19
- const { domain: domain, scale: scale } = group;
20
- const [b_age, t_age] = domain;
21
- const key = `package-${b_age}-${t_age}`;
22
- packages2.push({
23
- ...$728f6cf6c12cd490$export$d6235b492bceb8c5(group, totalHeight),
24
- key: key,
25
- offset: totalHeight,
26
- // Unconformity height above this particular section
27
- paddingTop: totalHeight - lastSectionTopHeight
28
- });
29
- const pixelHeight = Math.abs(scale(b_age) - scale(t_age));
30
- lastSectionTopHeight = totalHeight + pixelHeight;
31
- totalHeight = lastSectionTopHeight + unconformityHeight;
32
- }
33
- totalHeight += unconformityHeight / 2;
34
- return {
35
- totalHeight: totalHeight,
36
- sections: packages2
37
- };
38
- }
39
- function $728f6cf6c12cd490$export$67442a0f5bef147b(sections, unconformityHeight) {
40
- /** Finalize the heights of sections, including the heights of unconformities
41
- * between them.
42
- */ const sectionScales = sections.map((d)=>d.scaleInfo);
43
- const { totalHeight: totalHeight, sections: packages } = $728f6cf6c12cd490$export$e7184dd8bb3302ed(sectionScales, unconformityHeight);
44
- // This could perhaps be simplified.
45
- const sections1 = [];
46
- for(const i in sections){
47
- const group = sections[i];
48
- const scaleInfo = packages[i];
49
- sections1.push({
50
- ...group,
51
- key: scaleInfo.key,
52
- scaleInfo: scaleInfo
53
- });
54
- }
55
- return {
56
- totalHeight: totalHeight,
57
- sections: sections1
58
- };
59
- }
60
- function $728f6cf6c12cd490$export$7d3f3129a1a4b84e(sections, opts) {
61
- return sections.map((group)=>{
62
- return $728f6cf6c12cd490$var$addScaleToSection(group, opts);
63
- });
64
- }
65
- function $728f6cf6c12cd490$var$addScaleToSection(group, opts) {
66
- const { t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, units: units } = group;
67
- let _range = null;
68
- // if t_age and b_age are set for a group, use them to define the range...
69
- if (opts.axisType == (0, $egi9E$ColumnAxisType).AGE) _range = [
70
- b_age,
71
- t_age
72
- ];
73
- else _range = [
74
- b_pos,
75
- t_pos
76
- ];
77
- const scaleInfo = $728f6cf6c12cd490$var$buildSectionScale(units, {
78
- ...opts,
79
- domain: _range
80
- });
81
- return {
82
- ...group,
83
- scaleInfo: scaleInfo
84
- };
85
- }
86
- function $728f6cf6c12cd490$var$buildSectionScale(data, opts) {
87
- const { targetUnitHeight: targetUnitHeight = 20, minPixelScale: minPixelScale = 0.2, axisType: axisType, minSectionHeight: minSectionHeight, scale: scale, hybridScale: hybridScale } = opts;
88
- const domain = opts.domain ?? $728f6cf6c12cd490$var$findSectionHeightRange(data, axisType);
89
- const dAge = Math.abs(domain[0] - domain[1]);
90
- let _pixelScale = opts.pixelScale;
91
- let pixelHeight;
92
- if (hybridScale != null) {
93
- /** In an equidistant surfaces scale, we want to determine the heights of surfaces
94
- * and then distribute units evenly between them.
95
- * This is somewhat like an ordinal scale
96
- */ if (hybridScale.type === (0, $1254c5929638d7f9$export$45e8e2d7a1794c23).EquidistantSurfaces) _pixelScale ??= targetUnitHeight;
97
- return (0, $90d6b105908858a7$export$6b39f1b6356d94b6)(hybridScale, data, domain, {
98
- pixelOffset: 0,
99
- pixelScale: _pixelScale
100
- });
101
- }
102
- if (scale == null) {
103
- if (_pixelScale == null) {
104
- const avgAgeRange = $728f6cf6c12cd490$var$findAverageUnitHeight(data, axisType);
105
- // Get pixel height necessary to render average unit at target height
106
- _pixelScale = Math.max(targetUnitHeight / avgAgeRange, minPixelScale);
107
- // OLD METHOD that cares about overall section height vs. individual unit height
108
- // 0.2 pixel per myr is the floor scale
109
- //const targetHeight = targetUnitHeight * data.length;
110
- // 1 pixel per myr is the floor scale
111
- //_pixelScale = Math.max(targetHeight / dAge, minPixelScale);
112
- }
113
- let height = dAge * _pixelScale;
114
- // If height is less than minSectionHeight, set it to minSectionHeight
115
- const _minSectionHeight = minSectionHeight ?? targetUnitHeight ?? 0;
116
- pixelHeight = Math.max(height, _minSectionHeight);
117
- _pixelScale = pixelHeight / dAge;
118
- } else // If a scale is provided, use it to compute pixel height
119
- pixelHeight = Math.abs(scale(domain[0]) - scale(domain[1]));
120
- return $728f6cf6c12cd490$export$d6235b492bceb8c5({
121
- scale: scale,
122
- domain: domain,
123
- pixelHeight: pixelHeight,
124
- pixelScale: _pixelScale
125
- }, 0);
126
- }
127
- function $728f6cf6c12cd490$export$d6235b492bceb8c5(def, offset = 0) {
128
- /** Build a section scale */ // Domain should be oriented from bottom to top, but scale is oriented from top to bottom
129
- const { domain: domain, pixelScale: pixelScale, pixelHeight: pixelHeight, scale: scale, heightScale: heightScale } = def;
130
- if (scale == null && pixelScale == null) throw new Error("Either scale or pixelScale must be provided");
131
- let _scale;
132
- if (scale == null) _scale = (0, $egi9E$scaleLinear)().domain([
133
- domain[1],
134
- domain[0]
135
- ]).range([
136
- offset,
137
- pixelHeight + offset
138
- ]);
139
- else {
140
- const domain0 = scale.domain();
141
- const range0 = scale.range();
142
- _scale = scale.copy().domain(domain0).range(range0.map((d)=>d + offset));
143
- }
144
- _scale.clamp();
145
- let _heightScale = null;
146
- if (heightScale != null) {
147
- // Adjust height scale as well
148
- const range0 = scale.range();
149
- _heightScale = heightScale.copy().range(range0.map((d)=>d + offset));
150
- _heightScale.clamp();
151
- }
152
- return {
153
- domain: domain,
154
- pixelScale: pixelScale,
155
- pixelHeight: pixelHeight,
156
- scale: _scale,
157
- // Internal details for hybrid scales. TODO: improve this
158
- heightScale: _heightScale
159
- };
160
- }
161
- function $728f6cf6c12cd490$var$findSectionHeightRange(data, axisType) {
162
- if (axisType == null) throw new Error("Axis type is not set");
163
- if (axisType === (0, $egi9E$ColumnAxisType).AGE) {
164
- const t_age = Math.min(...data.map((d)=>d.t_age));
165
- const b_age = Math.max(...data.map((d)=>d.b_age));
166
- return [
167
- b_age,
168
- t_age
169
- ];
170
- } else if (axisType == (0, $egi9E$ColumnAxisType).DEPTH || axisType == (0, $egi9E$ColumnAxisType).ORDINAL) {
171
- const t_pos = Math.min(...data.map((d)=>d.t_pos));
172
- const b_pos = Math.max(...data.map((d)=>d.b_pos));
173
- return [
174
- b_pos,
175
- t_pos
176
- ];
177
- } else if (axisType == (0, $egi9E$ColumnAxisType).HEIGHT) {
178
- const t_pos = Math.max(...data.map((d)=>d.t_pos));
179
- const b_pos = Math.min(...data.map((d)=>d.b_pos));
180
- return [
181
- b_pos,
182
- t_pos
183
- ];
184
- }
185
- }
186
- function $728f6cf6c12cd490$var$findAverageUnitHeight(data, axisType) {
187
- const unitHeights = data.map((d)=>{
188
- const [b_pos, t_pos] = (0, $b6657fba8924a702$export$70e712e2ac0237a)(d, axisType);
189
- return Math.abs(b_pos - t_pos);
190
- });
191
- return unitHeights.reduce((a, b)=>a + b, 0) / unitHeights.length;
192
- }
193
- function $728f6cf6c12cd490$export$3ada7641926a616d(sections, interpolateUnconformities = false) {
194
- /** Create a scale that works across multiple packages */ const scales = [];
195
- let lastScale = null;
196
- for (const section of sections){
197
- const _scale = section.scaleInfo.scale.copy().clamp(true);
198
- scales.push(_scale);
199
- if (lastScale != null && interpolateUnconformities) {
200
- // Add a new scale that interpolates between lastScale and _scale
201
- const lastDomain = lastScale.domain();
202
- const lastRange = lastScale.range();
203
- const currentDomain = _scale.domain();
204
- const currentRange = _scale.range();
205
- const interpScale = (0, $egi9E$scaleLinear)().domain([
206
- lastDomain[lastDomain.length - 1],
207
- currentDomain[0]
208
- ]).range([
209
- lastRange[lastRange.length - 1],
210
- currentRange[0]
211
- ]).clamp(true);
212
- scales.push(interpScale);
213
- }
214
- lastScale = _scale;
215
- }
216
- const scale = (age)=>{
217
- for (const s of scales){
218
- const domain = s.domain();
219
- if (domain[0] < domain[domain.length - 1] && age >= domain[0] && age <= domain[domain.length - 1]) // Age axes
220
- return s(age);
221
- else if (age <= domain[0] && age >= domain[domain.length - 1]) // Normal axes like height
222
- return s(age);
223
- }
224
- return null;
225
- };
226
- scale.copy = ()=>{
227
- return $728f6cf6c12cd490$export$3ada7641926a616d(sections, interpolateUnconformities);
228
- };
229
- scale.domain = ()=>{
230
- /** Return the domain of the scale */ const vals = sections.flatMap((d)=>d.scaleInfo.domain);
231
- if (vals[0] < vals[vals.length - 1]) // age axes
232
- return [
233
- Math.min(...vals),
234
- Math.max(...vals)
235
- ];
236
- // Normal axes like height
237
- return [
238
- Math.max(...vals),
239
- Math.min(...vals)
240
- ];
241
- };
242
- scale.invert = (pixelHeight)=>{
243
- /** Invert the scale to get the age at a given pixel height */ // Iterate through the sections to find the correct one
244
- for (const scale of scales){
245
- const range = scale.range();
246
- if (pixelHeight > Math.min(...range) && pixelHeight <= Math.max(...range)) {
247
- console.log("Inverting scale at pixel height", pixelHeight);
248
- return scale.invert(pixelHeight);
249
- }
250
- }
251
- return null;
252
- };
253
- scale.clamp = (clamp)=>{
254
- /** Clamp all constituent scales */ for (const s of scales)s.clamp(clamp);
255
- };
256
- return scale;
257
- }
258
- function $728f6cf6c12cd490$export$edbf01b435c75274(sections, threshold, opts) {
259
- const newSections = [];
260
- let currentSection = null;
261
- for (const nextSection of sections){
262
- if (currentSection == null) {
263
- currentSection = nextSection;
264
- continue;
265
- }
266
- let heights;
267
- let pxHeights;
268
- if (opts.axisType !== (0, $egi9E$ColumnAxisType).AGE) heights = [
269
- nextSection.t_pos,
270
- currentSection.b_pos
271
- ];
272
- else heights = [
273
- nextSection.t_age,
274
- currentSection.b_age
275
- ];
276
- const _diff = (vals)=>{
277
- return Math.abs(vals[0] - vals[1]);
278
- };
279
- pxHeights = [
280
- _diff(heights.map(nextSection.scaleInfo.scale)),
281
- _diff(heights.map(currentSection.scaleInfo.scale))
282
- ];
283
- const pxHeight = Math.min(...pxHeights);
284
- if (pxHeight < threshold) {
285
- let t_pos;
286
- let b_pos;
287
- if (opts.axisType == (0, $egi9E$ColumnAxisType).AGE || opts.axisType == (0, $egi9E$ColumnAxisType).DEPTH) {
288
- t_pos = Math.min(currentSection.t_pos, nextSection.t_pos);
289
- b_pos = Math.max(currentSection.b_pos, nextSection.b_pos);
290
- } else {
291
- t_pos = Math.max(currentSection.t_pos, nextSection.t_pos);
292
- b_pos = Math.min(currentSection.b_pos, nextSection.b_pos);
293
- }
294
- // We need to merge the sections
295
- const compositeSection0 = {
296
- units: [
297
- ...currentSection.units,
298
- ...nextSection.units
299
- ],
300
- section_id: [
301
- ...(0, $b6657fba8924a702$export$d0c8ecbd4ed8940c)(currentSection.section_id),
302
- ...(0, $b6657fba8924a702$export$d0c8ecbd4ed8940c)(nextSection.section_id)
303
- ],
304
- t_age: Math.min(currentSection.t_age, nextSection.t_age),
305
- b_age: Math.max(currentSection.b_age, nextSection.b_age),
306
- t_pos: t_pos,
307
- b_pos: b_pos
308
- };
309
- currentSection = $728f6cf6c12cd490$var$addScaleToSection(compositeSection0, opts);
310
- } else {
311
- // We need to keep the section
312
- newSections.push(currentSection);
313
- currentSection = nextSection;
314
- }
315
- }
316
- if (currentSection != null) newSections.push(currentSection);
317
- return newSections;
318
- }
319
-
320
-
321
- export {$728f6cf6c12cd490$export$e7184dd8bb3302ed as buildCompositeScaleInfo, $728f6cf6c12cd490$export$d6235b492bceb8c5 as createPackageScale, $728f6cf6c12cd490$export$67442a0f5bef147b as finalizeSectionHeights, $728f6cf6c12cd490$export$7d3f3129a1a4b84e as computeSectionHeights, $728f6cf6c12cd490$export$3ada7641926a616d as createCompositeScale, $728f6cf6c12cd490$export$edbf01b435c75274 as collapseUnconformitiesByPixelHeight};
322
- //# sourceMappingURL=column-views.0b3c0d18.js.map
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/prepare-units/composite-scale.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { ensureArray, getUnitHeightRange } from \"./utils\";\nimport { ScaleContinuousNumeric, scaleLinear } from \"d3-scale\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { buildHybridScale } from \"./dynamic-scales\";\nimport { ExtUnit, HybridScaleType, SectionInfo } from \"./types\";\nimport type {\n ColumnScaleOptions,\n CompositeColumnData,\n CompositeScaleData,\n PackageLayoutData,\n PackageScaleInfo,\n PackageScaleLayoutData,\n SectionScaleOptions,\n} from \"./types\";\n\n// Composite scale information augmented with units in each package\n\nexport function buildCompositeScaleInfo(\n inputScales: PackageScaleInfo[],\n unconformityHeight: number,\n): CompositeScaleData {\n /** Finalize the heights of sections, including the heights of unconformities\n * between them.\n */\n\n let totalHeight = unconformityHeight / 2;\n let lastSectionTopHeight = 0;\n\n const packages2: PackageScaleLayoutData[] = [];\n for (const group of inputScales) {\n const { domain, scale } = group;\n const [b_age, t_age] = domain;\n const key = `package-${b_age}-${t_age}`;\n\n packages2.push({\n ...createPackageScale(group, totalHeight),\n key,\n offset: totalHeight,\n // Unconformity height above this particular section\n paddingTop: totalHeight - lastSectionTopHeight,\n });\n\n const pixelHeight = Math.abs(scale(b_age) - scale(t_age));\n lastSectionTopHeight = totalHeight + pixelHeight;\n totalHeight = lastSectionTopHeight + unconformityHeight;\n }\n totalHeight += unconformityHeight / 2;\n return {\n totalHeight,\n sections: packages2,\n };\n}\n\nexport function finalizeSectionHeights<T extends UnitLong>(\n sections: SectionInfoWithScale<T>[],\n unconformityHeight: number,\n): CompositeColumnData<T> {\n /** Finalize the heights of sections, including the heights of unconformities\n * between them.\n */\n\n const sectionScales = sections.map((d) => d.scaleInfo);\n\n const { totalHeight, sections: packages } = buildCompositeScaleInfo(\n sectionScales,\n unconformityHeight,\n );\n\n // This could perhaps be simplified.\n const sections1: PackageLayoutData<T>[] = [];\n for (const i in sections) {\n const group = sections[i];\n const scaleInfo = packages[i];\n sections1.push({\n ...group,\n key: scaleInfo.key,\n scaleInfo,\n });\n }\n return {\n totalHeight,\n sections: sections1,\n };\n}\n\nexport interface SectionInfoWithScale<\n T extends UnitLong = ExtUnit,\n> extends SectionInfo<T> {\n scaleInfo: PackageScaleInfo;\n}\n\nexport function computeSectionHeights<T extends UnitLong>(\n sections: SectionInfo<T>[],\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T>[] {\n return sections.map((group) => {\n return addScaleToSection<T>(group, opts);\n });\n}\n\nfunction addScaleToSection<T extends UnitLong = ExtUnit>(\n group: SectionInfo<T>,\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T> {\n const { t_age, b_age, t_pos, b_pos, units } = group;\n let _range = null;\n // if t_age and b_age are set for a group, use them to define the range...\n if (opts.axisType == ColumnAxisType.AGE) {\n _range = [b_age, t_age];\n } else {\n _range = [b_pos, t_pos];\n }\n\n const scaleInfo = buildSectionScale<T>(units, {\n ...opts,\n domain: _range,\n });\n\n return {\n ...group,\n scaleInfo,\n };\n}\n\nfunction buildSectionScale<T extends UnitLong>(\n data: T[],\n opts: SectionScaleOptions,\n): PackageScaleInfo {\n const {\n targetUnitHeight = 20,\n minPixelScale = 0.2,\n axisType,\n minSectionHeight,\n scale,\n hybridScale,\n } = opts;\n const domain = opts.domain ?? findSectionHeightRange(data, axisType);\n\n const dAge = Math.abs(domain[0] - domain[1]);\n\n let _pixelScale = opts.pixelScale;\n let pixelHeight: number;\n\n if (hybridScale != null) {\n /** In an equidistant surfaces scale, we want to determine the heights of surfaces\n * and then distribute units evenly between them.\n * This is somewhat like an ordinal scale\n */\n if (hybridScale.type === HybridScaleType.EquidistantSurfaces) {\n _pixelScale ??= targetUnitHeight;\n }\n\n return buildHybridScale(hybridScale, data, domain, {\n pixelOffset: 0,\n pixelScale: _pixelScale,\n });\n }\n\n if (scale == null) {\n if (_pixelScale == null) {\n const avgAgeRange = findAverageUnitHeight(data, axisType);\n // Get pixel height necessary to render average unit at target height\n _pixelScale = Math.max(targetUnitHeight / avgAgeRange, minPixelScale);\n\n // OLD METHOD that cares about overall section height vs. individual unit height\n // 0.2 pixel per myr is the floor scale\n //const targetHeight = targetUnitHeight * data.length;\n // 1 pixel per myr is the floor scale\n //_pixelScale = Math.max(targetHeight / dAge, minPixelScale);\n }\n\n let height = dAge * _pixelScale;\n // If height is less than minSectionHeight, set it to minSectionHeight\n const _minSectionHeight = minSectionHeight ?? targetUnitHeight ?? 0;\n pixelHeight = Math.max(height, _minSectionHeight);\n _pixelScale = pixelHeight / dAge;\n } else {\n // If a scale is provided, use it to compute pixel height\n pixelHeight = Math.abs(scale(domain[0]) - scale(domain[1]));\n }\n\n return createPackageScale(\n { scale, domain, pixelHeight, pixelScale: _pixelScale },\n 0,\n );\n}\n\nexport function createPackageScale(\n def: PackageScaleInfo,\n offset: number = 0,\n): PackageScaleInfo {\n /** Build a section scale */\n // Domain should be oriented from bottom to top, but scale is oriented from top to bottom\n const { domain, pixelScale, pixelHeight, scale, heightScale } = def;\n\n if (scale == null && pixelScale == null) {\n throw new Error(\"Either scale or pixelScale must be provided\");\n }\n\n let _scale: ScaleContinuousNumeric<number, number>;\n if (scale == null) {\n _scale = scaleLinear()\n .domain([domain[1], domain[0]])\n .range([offset, pixelHeight + offset]);\n } else {\n const domain0 = scale.domain();\n const range0 = scale.range();\n _scale = scale\n .copy()\n .domain(domain0)\n .range(range0.map((d) => d + offset));\n }\n\n _scale.clamp();\n\n let _heightScale = null;\n if (heightScale != null) {\n // Adjust height scale as well\n const range0 = scale.range();\n _heightScale = heightScale.copy().range(range0.map((d) => d + offset));\n _heightScale.clamp();\n }\n\n return {\n domain,\n pixelScale,\n pixelHeight,\n scale: _scale,\n // Internal details for hybrid scales. TODO: improve this\n heightScale: _heightScale,\n };\n}\n\nfunction findSectionHeightRange(\n data: UnitLong[],\n axisType: ColumnAxisType,\n): [number, number] {\n if (axisType == null) {\n throw new Error(\"Axis type is not set\");\n }\n if (axisType === ColumnAxisType.AGE) {\n const t_age = Math.min(...data.map((d) => d.t_age));\n const b_age = Math.max(...data.map((d) => d.b_age));\n return [b_age, t_age];\n } else if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.ORDINAL\n ) {\n const t_pos = Math.min(...data.map((d) => d.t_pos));\n const b_pos = Math.max(...data.map((d) => d.b_pos));\n return [b_pos, t_pos];\n } else if (axisType == ColumnAxisType.HEIGHT) {\n const t_pos = Math.max(...data.map((d) => d.t_pos));\n const b_pos = Math.min(...data.map((d) => d.b_pos));\n return [b_pos, t_pos];\n }\n}\n\nfunction findAverageUnitHeight(\n data: UnitLong[],\n axisType: ColumnAxisType,\n): number {\n const unitHeights = data.map((d) => {\n const [b_pos, t_pos] = getUnitHeightRange(d, axisType);\n return Math.abs(b_pos - t_pos);\n });\n return unitHeights.reduce((a, b) => a + b, 0) / unitHeights.length;\n}\n\nexport interface CompositeColumnScale {\n (age: number): number | null;\n copy(): CompositeColumnScale;\n domain(): [number, number];\n invert(pixelHeight: number): number | null;\n clamp(clamp: boolean): void;\n}\n\nexport function createCompositeScale(\n sections: PackageLayoutData[],\n interpolateUnconformities: boolean = false,\n): CompositeColumnScale {\n /** Create a scale that works across multiple packages */\n\n const scales: ScaleContinuousNumeric<number, number>[] = [];\n\n let lastScale: ScaleContinuousNumeric<number, number> | null = null;\n for (const section of sections) {\n const _scale = section.scaleInfo.scale.copy().clamp(true);\n scales.push(_scale);\n if (lastScale != null && interpolateUnconformities) {\n // Add a new scale that interpolates between lastScale and _scale\n const lastDomain = lastScale.domain();\n const lastRange = lastScale.range();\n const currentDomain = _scale.domain();\n const currentRange = _scale.range();\n\n const interpScale = scaleLinear()\n .domain([lastDomain[lastDomain.length - 1], currentDomain[0]])\n .range([lastRange[lastRange.length - 1], currentRange[0]])\n .clamp(true);\n scales.push(interpScale);\n }\n lastScale = _scale;\n }\n\n const scale: CompositeColumnScale = (age) => {\n for (const s of scales) {\n const domain = s.domain();\n if (\n domain[0] < domain[domain.length - 1] &&\n age >= domain[0] &&\n age <= domain[domain.length - 1]\n ) {\n // Age axes\n return s(age);\n } else if (age <= domain[0] && age >= domain[domain.length - 1]) {\n // Normal axes like height\n return s(age);\n }\n }\n return null;\n };\n\n scale.copy = () => {\n return createCompositeScale(sections, interpolateUnconformities);\n };\n\n scale.domain = () => {\n /** Return the domain of the scale */\n const vals = sections.flatMap((d) => d.scaleInfo.domain);\n if (vals[0] < vals[vals.length - 1]) {\n // age axes\n return [Math.min(...vals), Math.max(...vals)];\n }\n // Normal axes like height\n return [Math.max(...vals), Math.min(...vals)];\n };\n\n scale.invert = (pixelHeight) => {\n /** Invert the scale to get the age at a given pixel height */\n // Iterate through the sections to find the correct one\n for (const scale of scales) {\n const range = scale.range();\n if (\n pixelHeight > Math.min(...range) &&\n pixelHeight <= Math.max(...range)\n ) {\n console.log(\"Inverting scale at pixel height\", pixelHeight);\n return scale.invert(pixelHeight);\n }\n }\n return null;\n };\n\n scale.clamp = (clamp: boolean) => {\n /** Clamp all constituent scales */\n for (const s of scales) {\n s.clamp(clamp);\n }\n };\n\n return scale;\n}\n\n/** Collapse sections separated by unconformities that are smaller than a given pixel height. */\nexport function collapseUnconformitiesByPixelHeight<T extends UnitLong>(\n sections: SectionInfoWithScale<T>[],\n threshold: number,\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T>[] {\n const newSections = [];\n let currentSection: SectionInfoWithScale<T> | null = null;\n for (const nextSection of sections) {\n if (currentSection == null) {\n currentSection = nextSection;\n continue;\n }\n let heights: [number, number];\n let pxHeights: [number, number];\n if (opts.axisType !== ColumnAxisType.AGE) {\n heights = [nextSection.t_pos, currentSection.b_pos];\n } else {\n heights = [nextSection.t_age, currentSection.b_age];\n }\n\n const _diff = (vals: number[]) => {\n return Math.abs(vals[0] - vals[1]);\n };\n\n pxHeights = [\n _diff(heights.map(nextSection.scaleInfo.scale)),\n _diff(heights.map(currentSection.scaleInfo.scale)),\n ];\n\n const pxHeight = Math.min(...pxHeights);\n\n if (pxHeight < threshold) {\n let t_pos: number;\n let b_pos: number;\n if (\n opts.axisType == ColumnAxisType.AGE ||\n opts.axisType == ColumnAxisType.DEPTH\n ) {\n t_pos = Math.min(currentSection.t_pos, nextSection.t_pos);\n b_pos = Math.max(currentSection.b_pos, nextSection.b_pos);\n } else {\n t_pos = Math.max(currentSection.t_pos, nextSection.t_pos);\n b_pos = Math.min(currentSection.b_pos, nextSection.b_pos);\n }\n\n // We need to merge the sections\n const compositeSection0: SectionInfo<T> = {\n units: [...currentSection.units, ...nextSection.units],\n section_id: [\n ...ensureArray(currentSection.section_id),\n ...ensureArray(nextSection.section_id),\n ],\n t_age: Math.min(currentSection.t_age, nextSection.t_age),\n b_age: Math.max(currentSection.b_age, nextSection.b_age),\n t_pos,\n b_pos,\n };\n\n currentSection = addScaleToSection(compositeSection0, opts);\n } else {\n // We need to keep the section\n newSections.push(currentSection);\n currentSection = nextSection;\n }\n }\n if (currentSection != null) {\n newSections.push(currentSection);\n }\n\n return newSections;\n}\n"],"names":[],"version":3,"file":"column-views.0b3c0d18.js.map"}
@@ -1,141 +0,0 @@
1
- import "./column-views.321af3ae.css";
2
- import $lfxOo$columnviews22ec902bjs from "./column-views.22ec902b.js";
3
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.362aae9a.js";
4
- import {AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.85df21ec.js";
5
- import $lfxOo$macrostrathyper from "@macrostrat/hyper";
6
- import {ColumnContext as $lfxOo$ColumnContext, ColumnAxis as $lfxOo$ColumnAxis, ColumnAxisType as $lfxOo$ColumnAxisType, SVG as $lfxOo$SVG, AgeAxis as $lfxOo$AgeAxis} from "@macrostrat/column-components";
7
- import {useContext as $lfxOo$useContext} from "react";
8
- import {Parenthetical as $lfxOo$Parenthetical} from "@macrostrat/data-components";
9
-
10
-
11
- function $parcel$interopDefault(a) {
12
- return a && a.__esModule ? a.default : a;
13
- }
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
- const $43794af7643cdf40$var$h = (0, $lfxOo$macrostrathyper).styled((0, ($parcel$interopDefault($lfxOo$columnviews22ec902bjs))));
22
- const $43794af7643cdf40$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{
23
- const { pixelHeight: pixelHeight } = (0, $lfxOo$useContext)((0, $lfxOo$ColumnContext));
24
- // A tick roughly every 40 pixels
25
- let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);
26
- return $43794af7643cdf40$var$h("g.axis", {
27
- transform: "translate(20 0)"
28
- }, [
29
- $43794af7643cdf40$var$h((0, $lfxOo$ColumnAxis), {
30
- ticks: v,
31
- showDomain: showDomain
32
- })
33
- ]);
34
- };
35
- function $43794af7643cdf40$export$64204d5cbb3e8227(props) {
36
- const { label: label = "Age", unit: unit = "Ma", className: className, height: height } = props;
37
- return $43794af7643cdf40$var$h("div.column-axis-label.age-axis-label", {
38
- className: className,
39
- style: {
40
- height: height
41
- }
42
- }, [
43
- label,
44
- " ",
45
- $43794af7643cdf40$var$h.if(unit)((0, $lfxOo$Parenthetical), {
46
- className: "age-axis-unit"
47
- }, unit)
48
- ]);
49
- }
50
- function $43794af7643cdf40$export$40b6b0e4520eeb34(rest) {
51
- const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
52
- const packages = sections.map((section)=>{
53
- return {
54
- key: `section-${section.section_id}`,
55
- ...section.scaleInfo
56
- };
57
- });
58
- return $43794af7643cdf40$var$h($43794af7643cdf40$export$ac30ca3cf5df959d, {
59
- axisType: axisType,
60
- packages: packages,
61
- totalHeight: totalHeight,
62
- ...rest
63
- });
64
- }
65
- function $43794af7643cdf40$export$82731b9607850ca6(rest) {
66
- /** Axis to show approximate height based on dynamic column scales */ const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
67
- const packages = sections.map((section)=>{
68
- const { scaleInfo: scaleInfo } = section;
69
- if (scaleInfo.heightScale == null) throw new Error("No height scale available for section");
70
- return {
71
- key: `section-${section.section_id}`,
72
- ...scaleInfo,
73
- scale: scaleInfo.heightScale
74
- };
75
- });
76
- return $43794af7643cdf40$var$h($43794af7643cdf40$export$ac30ca3cf5df959d, {
77
- axisType: axisType,
78
- axisLabel: "Approx. height",
79
- axisUnit: "m",
80
- packages: packages,
81
- totalHeight: totalHeight,
82
- ...rest
83
- });
84
- }
85
- function $43794af7643cdf40$export$ac30ca3cf5df959d(props) {
86
- const { axisType: axisType, axisLabel: axisLabel, axisUnit: axisUnit, totalHeight: totalHeight, packages: packages, ...rest } = props;
87
- if (axisType == (0, $lfxOo$ColumnAxisType).ORDINAL) return null;
88
- let _axisLabel = axisLabel ?? "Age";
89
- let _axisUnit = axisUnit ?? "Ma";
90
- if (axisType == (0, $lfxOo$ColumnAxisType).DEPTH) {
91
- _axisLabel = "Depth";
92
- _axisUnit = "m";
93
- } else if (axisType == (0, $lfxOo$ColumnAxisType).HEIGHT) {
94
- _axisLabel = "Height";
95
- _axisUnit = "m";
96
- }
97
- return $43794af7643cdf40$var$h("div.composite-age-axis", rest, [
98
- $43794af7643cdf40$var$h($43794af7643cdf40$export$64204d5cbb3e8227, {
99
- label: _axisLabel,
100
- unit: _axisUnit,
101
- height: totalHeight
102
- }),
103
- $43794af7643cdf40$var$h((0, $lfxOo$SVG), {
104
- className: "age-axis-column",
105
- style: {
106
- width: `22px`,
107
- height: `${totalHeight}px`
108
- },
109
- width: 22,
110
- height: totalHeight
111
- }, packages.map((group, i)=>{
112
- const { key: key, scale: scale } = group;
113
- return $43794af7643cdf40$var$h((0, $lfxOo$AgeAxis), {
114
- key: key,
115
- className: "age-axis",
116
- scale: scale,
117
- tickSizeOuter: 3
118
- });
119
- }))
120
- ]);
121
- }
122
- function $43794af7643cdf40$export$20d84abfcfa68dfa({ age: age }) {
123
- /** A cursor that shows the age at a specific point on the age axis. */ const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
124
- const heightPx = scale(age);
125
- if (age == null || heightPx == null) return null;
126
- return $43794af7643cdf40$var$h("div.age-cursor", {
127
- style: {
128
- top: heightPx
129
- }
130
- }, [
131
- $43794af7643cdf40$var$h("div.line"),
132
- $43794af7643cdf40$var$h((0, $448b24baeef3b229$export$37ebfd237811b1eb), {
133
- age: age,
134
- className: "label"
135
- })
136
- ]);
137
- }
138
-
139
-
140
- export {$43794af7643cdf40$export$64204d5cbb3e8227 as VerticalAxisLabel, $43794af7643cdf40$export$40b6b0e4520eeb34 as CompositeAgeAxis, $43794af7643cdf40$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $43794af7643cdf40$export$82731b9607850ca6 as ApproximateHeightAxis, $43794af7643cdf40$export$20d84abfcfa68dfa as AgeCursor};
141
- //# sourceMappingURL=column-views.0ed9da35.js.map