@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.
- package/CHANGELOG.md +14 -0
- package/dist/esm/{column-views.986e7566.js → column-views.058c0083.js} +6 -8
- package/dist/esm/column-views.058c0083.js.map +1 -0
- package/dist/esm/{column-views.8d24b179.js → column-views.11ae78f7.js} +3 -3
- package/dist/esm/{column-views.8d24b179.js.map → column-views.11ae78f7.js.map} +1 -1
- package/dist/esm/{column-views.e84bd756.js → column-views.1e579112.js} +3 -3
- package/dist/esm/{column-views.e84bd756.js.map → column-views.1e579112.js.map} +1 -1
- package/dist/esm/{column-views.77561197.js → column-views.218e8f5d.js} +6 -6
- package/dist/esm/column-views.218e8f5d.js.map +1 -0
- package/dist/esm/{column-views.0f7f6ee6.js → column-views.30950997.js} +2 -2
- package/dist/esm/{column-views.0f7f6ee6.js.map → column-views.30950997.js.map} +1 -1
- package/dist/esm/{column-views.3e1b8c7d.js → column-views.35efe006.js} +2 -2
- package/dist/esm/{column-views.3e1b8c7d.js.map → column-views.35efe006.js.map} +1 -1
- package/dist/esm/{column-views.e3bf5384.js → column-views.43beafa3.js} +6 -6
- package/dist/esm/{column-views.e3bf5384.js.map → column-views.43beafa3.js.map} +1 -1
- package/dist/esm/{column-views.53186d53.js → column-views.44d3797a.js} +2 -2
- package/dist/esm/{column-views.53186d53.js.map → column-views.44d3797a.js.map} +1 -1
- package/dist/esm/{column-views.3f528c5c.js → column-views.52ad973a.js} +35 -24
- package/dist/esm/column-views.52ad973a.js.map +1 -0
- package/dist/esm/{column-views.9ddbe7df.js → column-views.5456a1ee.js} +2 -2
- package/dist/esm/{column-views.9ddbe7df.js.map → column-views.5456a1ee.js.map} +1 -1
- package/dist/esm/{column-views.5d969bc5.js → column-views.66ccfc44.js} +5 -6
- package/dist/esm/column-views.66ccfc44.js.map +1 -0
- package/dist/esm/{column-views.1b644998.js → column-views.6ce8cb61.js} +3 -3
- package/dist/esm/{column-views.1b644998.js.map → column-views.6ce8cb61.js.map} +1 -1
- package/dist/esm/{column-views.86a51ce7.js → column-views.6d63971b.js} +2 -2
- package/dist/esm/column-views.6d63971b.js.map +1 -0
- package/dist/esm/{column-views.2d602a57.js → column-views.7243e77d.js} +2 -2
- package/dist/esm/{column-views.2d602a57.js.map → column-views.7243e77d.js.map} +1 -1
- package/dist/esm/{column-views.c518ef14.js → column-views.729a6728.js} +6 -6
- package/dist/esm/column-views.729a6728.js.map +1 -0
- package/dist/esm/{column-views.5a49cd68.js → column-views.75e5aebe.js} +6 -7
- package/dist/esm/column-views.75e5aebe.js.map +1 -0
- package/dist/esm/{column-views.ae7c0a2b.js → column-views.76a220c4.js} +2 -2
- package/dist/esm/{column-views.ae7c0a2b.js.map → column-views.76a220c4.js.map} +1 -1
- package/dist/esm/{column-views.0a8a07f4.js → column-views.77e22590.js} +2 -2
- package/dist/esm/{column-views.0a8a07f4.js.map → column-views.77e22590.js.map} +1 -1
- package/dist/esm/{column-views.0859feb3.js → column-views.7b4a1f15.js} +15 -10
- package/dist/esm/column-views.7b4a1f15.js.map +1 -0
- package/dist/esm/{column-views.ba0381cc.js → column-views.7c95c3d7.js} +2 -2
- package/dist/esm/{column-views.ba0381cc.js.map → column-views.7c95c3d7.js.map} +1 -1
- package/dist/esm/{column-views.d69c4a9f.js → column-views.7d69838d.js} +2 -2
- package/dist/esm/{column-views.d69c4a9f.js.map → column-views.7d69838d.js.map} +1 -1
- package/dist/esm/{column-views.63b7e5aa.js → column-views.7faf00ed.js} +3 -3
- package/dist/esm/{column-views.63b7e5aa.js.map → column-views.7faf00ed.js.map} +1 -1
- package/dist/esm/{column-views.d261b02d.js → column-views.817752b6.js} +3 -3
- package/dist/esm/{column-views.d261b02d.js.map → column-views.817752b6.js.map} +1 -1
- package/dist/esm/{column-views.d15d8655.js → column-views.833c2b74.js} +2 -2
- package/dist/esm/{column-views.d15d8655.js.map → column-views.833c2b74.js.map} +1 -1
- package/dist/esm/{column-views.285cbb65.js → column-views.9dd25b5b.js} +3 -3
- package/dist/esm/{column-views.285cbb65.js.map → column-views.9dd25b5b.js.map} +1 -1
- package/dist/esm/column-views.abf6aedd.js +136 -0
- package/dist/esm/column-views.abf6aedd.js.map +1 -0
- package/dist/esm/{column-views.f46a0b36.js → column-views.ad080c0e.js} +2 -2
- package/dist/esm/{column-views.f46a0b36.js.map → column-views.ad080c0e.js.map} +1 -1
- package/dist/esm/{column-views.e4c26185.js → column-views.aeb61926.js} +2 -2
- package/dist/esm/{column-views.e4c26185.js.map → column-views.aeb61926.js.map} +1 -1
- package/dist/esm/{column-views.ed05e233.js → column-views.b0e6c0b3.js} +6 -4
- package/dist/esm/{column-views.ed05e233.js.map → column-views.b0e6c0b3.js.map} +1 -1
- package/dist/esm/{column-views.f2fd0e4a.js → column-views.c44febd0.js} +37 -34
- package/dist/esm/column-views.c44febd0.js.map +1 -0
- package/dist/esm/column-views.cc733361.js.map +1 -1
- package/dist/esm/{column-views.83395185.js → column-views.d2214a99.js} +3 -3
- package/dist/esm/{column-views.83395185.js.map → column-views.d2214a99.js.map} +1 -1
- package/dist/esm/{column-views.6c644353.js → column-views.d6d6df77.js} +3 -3
- package/dist/esm/{column-views.6c644353.js.map → column-views.d6d6df77.js.map} +1 -1
- package/dist/esm/{column-views.e33ac5c9.css → column-views.e93478c3.css} +7 -2
- package/dist/esm/column-views.e93478c3.css.map +1 -0
- package/dist/esm/{column-views.d9c6b527.js → column-views.ee525e88.js} +12 -11
- package/dist/esm/column-views.ee525e88.js.map +1 -0
- package/dist/esm/{column-views.73b8ff16.js → column-views.ef88c46c.js} +2 -2
- package/dist/esm/{column-views.73b8ff16.js.map → column-views.ef88c46c.js.map} +1 -1
- package/dist/esm/{column-views.d406665d.js → column-views.faa4e06d.js} +4 -4
- package/dist/esm/{column-views.d406665d.js.map → column-views.faa4e06d.js.map} +1 -1
- package/dist/esm/index.d.ts +53 -38
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/node/column-views.003348f6.js +2 -0
- package/dist/node/column-views.003348f6.js.map +1 -0
- package/dist/node/{column-views.a34732e7.js → column-views.05cfc627.js} +2 -2
- package/dist/node/{column-views.a34732e7.js.map → column-views.05cfc627.js.map} +1 -1
- package/dist/node/column-views.0beae29d.js +2 -0
- package/dist/node/column-views.0beae29d.js.map +1 -0
- package/dist/node/{column-views.a396d3ac.js → column-views.105c28fa.js} +2 -2
- package/dist/node/{column-views.a396d3ac.js.map → column-views.105c28fa.js.map} +1 -1
- package/dist/node/{column-views.ac1b58b7.js → column-views.1ac9e2ed.js} +2 -2
- package/dist/node/{column-views.ac1b58b7.js.map → column-views.1ac9e2ed.js.map} +1 -1
- package/dist/node/{column-views.105f6ad2.js → column-views.1c567bfd.js} +2 -2
- package/dist/node/{column-views.105f6ad2.js.map → column-views.1c567bfd.js.map} +1 -1
- package/dist/node/{column-views.dd972321.js → column-views.21a73236.js} +2 -2
- package/dist/node/{column-views.dd972321.js.map → column-views.21a73236.js.map} +1 -1
- package/dist/node/{column-views.e065152e.js → column-views.22c2d45b.js} +2 -2
- package/dist/node/{column-views.e065152e.js.map → column-views.22c2d45b.js.map} +1 -1
- package/dist/node/{column-views.9e155f20.js → column-views.2901b649.js} +2 -2
- package/dist/node/{column-views.9e155f20.js.map → column-views.2901b649.js.map} +1 -1
- package/dist/node/{column-views.827a9894.js → column-views.2d00d842.js} +2 -2
- package/dist/node/{column-views.827a9894.js.map → column-views.2d00d842.js.map} +1 -1
- package/dist/node/{column-views.7150ba18.js → column-views.38835c99.js} +2 -2
- package/dist/node/column-views.38835c99.js.map +1 -0
- package/dist/node/{column-views.9dda582d.js → column-views.3913cd0f.js} +2 -2
- package/dist/node/{column-views.9dda582d.js.map → column-views.3913cd0f.js.map} +1 -1
- package/dist/node/{column-views.1a7f8afd.js → column-views.39c21f22.js} +2 -2
- package/dist/node/{column-views.1a7f8afd.js.map → column-views.39c21f22.js.map} +1 -1
- package/dist/node/{column-views.75582658.js → column-views.420b60d2.js} +2 -2
- package/dist/node/{column-views.75582658.js.map → column-views.420b60d2.js.map} +1 -1
- package/dist/node/{column-views.81294fb7.js → column-views.4ce5f5e4.js} +2 -2
- package/dist/node/{column-views.81294fb7.js.map → column-views.4ce5f5e4.js.map} +1 -1
- package/dist/node/column-views.52cc4dd0.js +2 -0
- package/dist/node/column-views.52cc4dd0.js.map +1 -0
- package/dist/node/column-views.60b5663d.js +2 -0
- package/dist/node/column-views.60b5663d.js.map +1 -0
- package/dist/node/{column-views.01debc76.js → column-views.61dc64bc.js} +2 -2
- package/dist/node/{column-views.01debc76.js.map → column-views.61dc64bc.js.map} +1 -1
- package/dist/node/{column-views.492c2c72.js → column-views.67fed1f5.js} +2 -2
- package/dist/node/{column-views.492c2c72.js.map → column-views.67fed1f5.js.map} +1 -1
- package/dist/node/{column-views.07ff1fdf.js → column-views.7faaf6c8.js} +2 -2
- package/dist/node/{column-views.07ff1fdf.js.map → column-views.7faaf6c8.js.map} +1 -1
- package/dist/node/{column-views.87b1439e.js → column-views.a08b0c9f.js} +2 -2
- package/dist/node/column-views.a08b0c9f.js.map +1 -0
- package/dist/node/{column-views.2bd97c2e.js → column-views.a19be00f.js} +2 -2
- package/dist/node/{column-views.2bd97c2e.js.map → column-views.a19be00f.js.map} +1 -1
- package/dist/node/{column-views.cf2a78c1.js → column-views.a281d5bb.js} +2 -2
- package/dist/node/column-views.a281d5bb.js.map +1 -0
- package/dist/node/{column-views.c0be1157.js → column-views.a9576bac.js} +2 -2
- package/dist/node/{column-views.c0be1157.js.map → column-views.a9576bac.js.map} +1 -1
- package/dist/node/{column-views.13e69859.js → column-views.ae22e8b1.js} +2 -2
- package/dist/node/{column-views.13e69859.js.map → column-views.ae22e8b1.js.map} +1 -1
- package/dist/node/{column-views.cd77a1d8.js → column-views.ae54d3e1.js} +2 -2
- package/dist/node/{column-views.cd77a1d8.js.map → column-views.ae54d3e1.js.map} +1 -1
- package/dist/node/column-views.b12f8c81.js +2 -0
- package/dist/node/column-views.b12f8c81.js.map +1 -0
- package/dist/node/{column-views.b6cd4360.js → column-views.b6943236.js} +2 -2
- package/dist/node/column-views.b6943236.js.map +1 -0
- package/dist/node/{column-views.e08f8715.js → column-views.bde2dfa8.js} +2 -2
- package/dist/node/{column-views.e08f8715.js.map → column-views.bde2dfa8.js.map} +1 -1
- package/dist/node/{column-views.6fd5a922.js → column-views.c3c15cc2.js} +2 -2
- package/dist/node/{column-views.6fd5a922.js.map → column-views.c3c15cc2.js.map} +1 -1
- package/dist/node/column-views.d08e4328.js +2 -0
- package/dist/node/{column-views.c29e9eb8.js.map → column-views.d08e4328.js.map} +1 -1
- package/dist/node/{column-views.45296250.js → column-views.db47fe3c.js} +2 -2
- package/dist/node/{column-views.45296250.js.map → column-views.db47fe3c.js.map} +1 -1
- package/dist/node/{column-views.e803e4ae.css → column-views.ddc6184e.css} +2 -2
- package/dist/node/column-views.ddc6184e.css.map +1 -0
- package/dist/node/column-views.e1813308.js +2 -0
- package/dist/node/column-views.e1813308.js.map +1 -0
- package/dist/node/{column-views.040499c9.js → column-views.f2ee436e.js} +2 -2
- package/dist/node/{column-views.040499c9.js.map → column-views.f2ee436e.js.map} +1 -1
- package/dist/node/{column-views.576e3c5a.js → column-views.f6ac1161.js} +2 -2
- package/dist/node/{column-views.576e3c5a.js.map → column-views.f6ac1161.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -2
- package/src/column.module.sass +7 -5
- package/src/column.ts +42 -20
- package/src/correlation-chart/main.ts +1 -1
- package/src/data-provider/index.ts +1 -0
- package/src/data-provider/store.ts +111 -13
- package/src/{units/selection.ts → data-provider/unit-selection.ts} +2 -1
- package/src/maps/column-correlation/state.ts +0 -1
- package/src/section.ts +9 -4
- package/src/unit-details/panel.ts +3 -2
- package/src/unit-details/popover.ts +1 -1
- package/src/units/boxes.ts +1 -2
- package/src/units/composite.ts +5 -2
- package/src/units/index.ts +0 -1
- package/dist/esm/column-views.0859feb3.js.map +0 -1
- package/dist/esm/column-views.3f528c5c.js.map +0 -1
- package/dist/esm/column-views.4fd4ec92.js +0 -67
- package/dist/esm/column-views.4fd4ec92.js.map +0 -1
- package/dist/esm/column-views.5a49cd68.js.map +0 -1
- package/dist/esm/column-views.5d969bc5.js.map +0 -1
- package/dist/esm/column-views.77561197.js.map +0 -1
- package/dist/esm/column-views.86a51ce7.js.map +0 -1
- package/dist/esm/column-views.986e7566.js.map +0 -1
- package/dist/esm/column-views.c518ef14.js.map +0 -1
- package/dist/esm/column-views.d9c6b527.js.map +0 -1
- package/dist/esm/column-views.e33ac5c9.css.map +0 -1
- package/dist/esm/column-views.f2fd0e4a.js.map +0 -1
- package/dist/node/column-views.3b37363f.js +0 -2
- package/dist/node/column-views.3b37363f.js.map +0 -1
- package/dist/node/column-views.7150ba18.js.map +0 -1
- package/dist/node/column-views.728c8dfc.js +0 -2
- package/dist/node/column-views.728c8dfc.js.map +0 -1
- package/dist/node/column-views.87b1439e.js.map +0 -1
- package/dist/node/column-views.b64cd0ea.js +0 -2
- package/dist/node/column-views.b64cd0ea.js.map +0 -1
- package/dist/node/column-views.b6cd4360.js.map +0 -1
- package/dist/node/column-views.c29e9eb8.js +0 -2
- package/dist/node/column-views.c8df6435.js +0 -2
- package/dist/node/column-views.c8df6435.js.map +0 -1
- package/dist/node/column-views.cd2a5c85.js +0 -2
- package/dist/node/column-views.cd2a5c85.js.map +0 -1
- package/dist/node/column-views.cf2a78c1.js.map +0 -1
- package/dist/node/column-views.e0d9865e.js +0 -2
- package/dist/node/column-views.e0d9865e.js.map +0 -1
- 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.
|
|
3
|
-
import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.
|
|
9
|
-
import {ApproximateHeightAxis as $43794af7643cdf40$export$82731b9607850ca6, CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.
|
|
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,
|
|
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:
|
|
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, $
|
|
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, $
|
|
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:
|
|
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 =
|
|
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:
|
|
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, $
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 {
|
|
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, $
|
|
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, $
|
|
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.
|
|
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.
|
|
2
|
-
import {ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 $
|
|
4
|
-
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.
|
|
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, $
|
|
47
|
-
const selectUnit = (0, $
|
|
48
|
-
const position = (0, $
|
|
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.
|
|
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.
|
|
2
|
-
import {LabeledUnit as $d254716a820e9c85$export$b4f0ca233b98f9af, UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.
|
|
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.
|
|
6
|
-
import {useUnitSelectionDispatch as $
|
|
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, $
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4
|
-
import {MacrostratColumnProvider as $774a5efa27d1c77b$export$9e42f9b6e0d67c7d, useMacrostratBaseURL as $774a5efa27d1c77b$export$33b1392d23dde04} from "./column-views.
|
|
5
|
-
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.
|
|
6
|
-
import {Duration as $448b24baeef3b229$export$3b11bc38611c5941} from "./column-views.
|
|
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]?.
|
|
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)
|
|
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:
|
|
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.
|
|
248
|
+
//# sourceMappingURL=column-views.7b4a1f15.js.map
|