@macrostrat/column-views 1.0.3 → 2.0.1
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 +21 -0
- package/dist/esm/{data-area.daff8da0.js → column-views.062d164a.js} +1 -1
- package/dist/esm/{data-area.daff8da0.js.map → column-views.062d164a.js.map} +1 -1
- package/dist/esm/{data-provider.1506eb64.js → column-views.07521ce6.js} +1 -1
- package/dist/esm/column-views.07521ce6.js.map +1 -0
- package/dist/esm/column-views.134b2e2a.js +9 -0
- package/dist/esm/column-views.134b2e2a.js.map +1 -0
- package/dist/esm/{selection-popover.module.0a701258.css → column-views.16cc7a58.css} +11 -8
- package/dist/esm/column-views.16cc7a58.css.map +1 -0
- package/dist/esm/column-views.1c589cc4.js +141 -0
- package/dist/esm/column-views.1c589cc4.js.map +1 -0
- package/dist/esm/column-views.1ece326b.js +420 -0
- package/dist/esm/column-views.1ece326b.js.map +1 -0
- package/dist/esm/column-views.1edc7300.js +40 -0
- package/dist/esm/column-views.1edc7300.js.map +1 -0
- package/dist/esm/column-views.240ef158.css +159 -0
- package/dist/esm/column-views.240ef158.css.map +1 -0
- package/dist/esm/column-views.25471fe0.css +111 -0
- package/dist/esm/column-views.25471fe0.css.map +1 -0
- package/dist/esm/column-views.28ee5f43.js +288 -0
- package/dist/esm/column-views.28ee5f43.js.map +1 -0
- package/dist/esm/column-views.30646469.js +118 -0
- package/dist/esm/column-views.30646469.js.map +1 -0
- package/dist/esm/column-views.338a7a83.css +134 -0
- package/dist/esm/column-views.338a7a83.css.map +1 -0
- package/dist/esm/column-views.33dbc778.js +95 -0
- package/dist/esm/column-views.33dbc778.js.map +1 -0
- package/dist/esm/column-views.343b5aa2.js +98 -0
- package/dist/esm/column-views.343b5aa2.js.map +1 -0
- package/dist/esm/column-views.34636ec7.js +104 -0
- package/dist/esm/column-views.34636ec7.js.map +1 -0
- package/dist/esm/column-views.3465c8ad.js +16 -0
- package/dist/esm/column-views.3465c8ad.js.map +1 -0
- package/dist/esm/column-views.39657bbf.js +55 -0
- package/dist/esm/column-views.39657bbf.js.map +1 -0
- package/dist/esm/column-views.3b972a9b.css +4 -0
- package/dist/esm/{composite.module.69a38fd1.css.map → column-views.3b972a9b.css.map} +1 -1
- package/dist/esm/column-views.3bec70d6.js +167 -0
- package/dist/esm/column-views.3bec70d6.js.map +1 -0
- package/dist/esm/column-views.3de4dc43.js +66 -0
- package/dist/esm/column-views.3de4dc43.js.map +1 -0
- package/dist/esm/{column.db058031.js → column-views.3f4db8cb.js} +8 -8
- package/dist/esm/column-views.3f4db8cb.js.map +1 -0
- package/dist/esm/column-views.40c1f361.js +206 -0
- package/dist/esm/column-views.40c1f361.js.map +1 -0
- package/dist/esm/{composite.module.0638e7ee.js → column-views.40cd59b5.js} +1 -1
- package/dist/esm/{composite.module.0638e7ee.js.map → column-views.40cd59b5.js.map} +1 -1
- package/dist/esm/column-views.4637f4ce.js +46 -0
- package/dist/esm/column-views.4637f4ce.js.map +1 -0
- package/dist/esm/column-views.4c4c5bac.js +163 -0
- package/dist/esm/column-views.4c4c5bac.js.map +1 -0
- package/dist/esm/column-views.4d374a35.js +19 -0
- package/dist/esm/column-views.4d374a35.js.map +1 -0
- package/dist/esm/column-views.57c4ddf3.js +125 -0
- package/dist/esm/column-views.57c4ddf3.js.map +1 -0
- package/dist/esm/column-views.58b82432.js +58 -0
- package/dist/esm/column-views.58b82432.js.map +1 -0
- package/dist/esm/column-views.5b2635fd.js +13 -0
- package/dist/esm/column-views.5b2635fd.js.map +1 -0
- package/dist/esm/column-views.5c02fee2.js +258 -0
- package/dist/esm/column-views.5c02fee2.js.map +1 -0
- package/dist/esm/column-views.5cc09c1d.js +152 -0
- package/dist/esm/column-views.5cc09c1d.js.map +1 -0
- package/dist/esm/{names.f6a4e9a4.js → column-views.650bd9f5.js} +5 -5
- package/dist/esm/column-views.650bd9f5.js.map +1 -0
- package/dist/esm/column-views.68409161.js +89 -0
- package/dist/esm/column-views.68409161.js.map +1 -0
- package/dist/esm/column-views.6a954628.js +70 -0
- package/dist/esm/column-views.6a954628.js.map +1 -0
- package/dist/esm/column-views.6c670c13.css +26 -0
- package/dist/esm/column-views.6c670c13.css.map +1 -0
- package/dist/esm/column-views.6d6b73b4.js +55 -0
- package/dist/esm/column-views.6d6b73b4.js.map +1 -0
- package/dist/esm/column-views.86c4b36f.js +222 -0
- package/dist/esm/column-views.86c4b36f.js.map +1 -0
- package/dist/esm/column-views.88de2cee.js +9 -0
- package/dist/esm/column-views.88de2cee.js.map +1 -0
- package/dist/esm/{resolvers.b5c82b78.js → column-views.8dd877af.js} +16 -3
- package/dist/esm/column-views.8dd877af.js.map +1 -0
- package/dist/esm/column-views.8e51206e.js +143 -0
- package/dist/esm/column-views.8e51206e.js.map +1 -0
- package/dist/esm/{column.module.7f47d25a.js → column-views.94b5cca1.js} +1 -1
- package/dist/esm/{column.module.7f47d25a.js.map → column-views.94b5cca1.js.map} +1 -1
- package/dist/esm/column-views.9804efda.js +75 -0
- package/dist/esm/column-views.9804efda.js.map +1 -0
- package/dist/esm/column-views.9bdd477a.js +57 -0
- package/dist/esm/column-views.9bdd477a.js.map +1 -0
- package/dist/esm/column-views.9ced149e.js +98 -0
- package/dist/esm/column-views.9ced149e.js.map +1 -0
- package/dist/esm/{column.module.cbb072df.css → column-views.a7be0a4a.css} +1 -1
- package/dist/esm/{column.module.cbb072df.css.map → column-views.a7be0a4a.css.map} +1 -1
- package/dist/esm/column-views.a98214b2.js +9 -0
- package/dist/esm/column-views.a98214b2.js.map +1 -0
- package/dist/esm/column-views.aa9fcdba.js +221 -0
- package/dist/esm/column-views.aa9fcdba.js.map +1 -0
- package/dist/esm/{isotopes-column.7cb5cc45.js → column-views.ac9fb5e1.js} +3 -3
- package/dist/esm/{isotopes-column.7cb5cc45.js.map → column-views.ac9fb5e1.js.map} +1 -1
- package/dist/esm/column-views.b2e5f1d9.js +11 -0
- package/dist/esm/column-views.b2e5f1d9.js.map +1 -0
- package/dist/esm/column-views.b775c0a3.js +112 -0
- package/dist/esm/column-views.b775c0a3.js.map +1 -0
- package/dist/esm/column-views.beb54e95.js +39 -0
- package/dist/esm/column-views.beb54e95.js.map +1 -0
- package/dist/esm/{core.4db8e452.js → column-views.c58aad3f.js} +15 -16
- package/dist/esm/column-views.c58aad3f.js.map +1 -0
- package/dist/esm/{carbon-isotopes.3b502a9e.js → column-views.d1ad48eb.js} +4 -4
- package/dist/esm/{carbon-isotopes.3b502a9e.js.map → column-views.d1ad48eb.js.map} +1 -1
- package/dist/esm/column-views.dc42f5d0.js +48 -0
- package/dist/esm/column-views.dc42f5d0.js.map +1 -0
- package/dist/esm/column-views.dff52504.js +22 -0
- package/dist/esm/column-views.dff52504.js.map +1 -0
- package/dist/esm/column-views.e2b9c23c.css +33 -0
- package/dist/esm/column-views.e2b9c23c.css.map +1 -0
- package/dist/esm/column-views.e40b8bfb.css +14 -0
- package/dist/esm/column-views.e40b8bfb.css.map +1 -0
- package/dist/esm/column-views.e77b9d6b.js +170 -0
- package/dist/esm/column-views.e77b9d6b.js.map +1 -0
- package/dist/esm/column-views.ea237aa8.js +52 -0
- package/dist/esm/column-views.ea237aa8.js.map +1 -0
- package/dist/esm/column-views.edf77621.js +22 -0
- package/dist/esm/column-views.edf77621.js.map +1 -0
- package/dist/esm/column-views.f1efcc2c.js +9 -0
- package/dist/esm/column-views.f1efcc2c.js.map +1 -0
- package/dist/esm/column-views.f2e5a72f.js +66 -0
- package/dist/esm/column-views.f2e5a72f.js.map +1 -0
- package/dist/esm/column-views.f71ec4b4.js +127 -0
- package/dist/esm/column-views.f71ec4b4.js.map +1 -0
- package/dist/esm/column-views.f9dab157.js +3 -0
- package/dist/esm/column-views.f9dab157.js.map +1 -0
- package/dist/esm/column-views.fa6f3292.js +215 -0
- package/dist/esm/column-views.fa6f3292.js.map +1 -0
- package/dist/esm/column-views.fc2b4611.js +9 -0
- package/dist/esm/column-views.fc2b4611.js.map +1 -0
- package/dist/esm/index.d.ts +797 -130
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +13 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +29 -13
- package/src/age-axis.module.sass +27 -0
- package/src/age-axis.ts +82 -19
- package/src/age-model-overlay.module.sass +11 -0
- package/src/age-model-overlay.ts +73 -0
- package/src/carbon-isotopes/column.ts +4 -2
- package/src/carbon-isotopes/core.ts +9 -6
- package/src/carbon-isotopes/data-provider.ts +3 -3
- package/src/column.module.sass +58 -49
- package/src/column.ts +149 -135
- package/src/correlation-chart/hash-string.ts +57 -0
- package/src/correlation-chart/index.ts +2 -0
- package/src/correlation-chart/main.module.sass +122 -0
- package/src/correlation-chart/main.ts +305 -0
- package/src/correlation-chart/prepare-data.ts +217 -0
- package/src/correlation-chart/stories/correlation-chart.stories.ts +192 -0
- package/src/correlation-chart/stories/stories.module.sass +18 -0
- package/src/correlation-chart/unconformity-line.module.sass +8 -0
- package/src/correlation-chart/unconformity-line.ts +25 -0
- package/src/data-provider/base.ts +388 -0
- package/src/data-provider/column-nav.ts +53 -0
- package/src/data-provider/fetch.ts +231 -0
- package/src/data-provider/index.ts +4 -0
- package/src/data-provider/store.ts +72 -0
- package/src/index.ts +5 -3
- package/src/maps/_shared/index.ts +2 -0
- package/src/maps/_shared/inset-map.stories.ts +20 -0
- package/src/maps/_shared/inset-map.ts +87 -0
- package/src/maps/_shared/styles.ts +57 -0
- package/src/maps/column-correlation/column-correlation-map.stories.ts +96 -0
- package/src/maps/column-correlation/core.ts +225 -0
- package/src/maps/column-correlation/index.ts +2 -0
- package/src/maps/column-correlation/state.ts +192 -0
- package/src/maps/column-navigation/index.ts +2 -0
- package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +102 -0
- package/src/maps/column-navigation/mapbox/index.ts +219 -0
- package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +119 -0
- package/src/maps/column-navigation/mapbox/state.ts +109 -0
- package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +46 -0
- package/src/{map → maps/column-navigation/svg}/index.ts +18 -6
- package/src/{map → maps/column-navigation/svg}/layers.ts +28 -109
- package/src/maps/column-navigation/utils/keyboard-navigation.ts +58 -0
- package/src/maps/index.ts +3 -0
- package/src/prepare-units/composite-scale.ts +353 -0
- package/src/prepare-units/helpers.ts +226 -0
- package/src/prepare-units/index.ts +177 -0
- package/src/prepare-units/utils.ts +98 -0
- package/src/section.ts +264 -84
- package/src/unit-details/index.ts +2 -215
- package/src/unit-details/{index.module.sass → panel.module.sass} +39 -8
- package/src/unit-details/panel.ts +523 -0
- package/src/{selection-popover.module.sass → unit-details/popover.module.sass} +4 -2
- package/src/unit-details/popover.ts +82 -0
- package/src/units/boxes.module.sass +16 -0
- package/src/units/boxes.ts +243 -90
- package/src/units/colors.ts +64 -0
- package/src/units/composite.ts +157 -152
- package/src/units/index.ts +76 -9
- package/src/units/names.ts +8 -4
- package/src/units/resolvers.ts +12 -1
- package/src/units/selection.ts +115 -101
- package/src/units/types.ts +5 -16
- package/dist/esm/age-axis.64c509ee.js +0 -41
- package/dist/esm/age-axis.64c509ee.js.map +0 -1
- package/dist/esm/boxes.13968b76.js +0 -164
- package/dist/esm/boxes.13968b76.js.map +0 -1
- package/dist/esm/boxes.module.28873d08.css +0 -4
- package/dist/esm/boxes.module.28873d08.css.map +0 -1
- package/dist/esm/boxes.module.605bdcd6.js +0 -13
- package/dist/esm/boxes.module.605bdcd6.js.map +0 -1
- package/dist/esm/column.8dd26e1a.js +0 -149
- package/dist/esm/column.8dd26e1a.js.map +0 -1
- package/dist/esm/column.db058031.js.map +0 -1
- package/dist/esm/column.module.039d872c.css +0 -151
- package/dist/esm/column.module.039d872c.css.map +0 -1
- package/dist/esm/column.module.e632868a.js +0 -19
- package/dist/esm/column.module.e632868a.js.map +0 -1
- package/dist/esm/composite.608a4ca2.js +0 -153
- package/dist/esm/composite.608a4ca2.js.map +0 -1
- package/dist/esm/composite.module.69a38fd1.css +0 -4
- package/dist/esm/core.4db8e452.js.map +0 -1
- package/dist/esm/data-provider.1506eb64.js.map +0 -1
- package/dist/esm/helpers.8a03cfc7.js +0 -94
- package/dist/esm/helpers.8a03cfc7.js.map +0 -1
- package/dist/esm/index.module.0844afd8.css +0 -65
- package/dist/esm/index.module.0844afd8.css.map +0 -1
- package/dist/esm/index.module.24fe3a2e.js +0 -37
- package/dist/esm/index.module.24fe3a2e.js.map +0 -1
- package/dist/esm/layers.ad5fd25d.js +0 -231
- package/dist/esm/layers.ad5fd25d.js.map +0 -1
- package/dist/esm/map.7aa26f17.js +0 -82
- package/dist/esm/map.7aa26f17.js.map +0 -1
- package/dist/esm/names.f6a4e9a4.js.map +0 -1
- package/dist/esm/providers.cd1e652f.js +0 -25
- package/dist/esm/providers.cd1e652f.js.map +0 -1
- package/dist/esm/resolvers.b5c82b78.js.map +0 -1
- package/dist/esm/section.cc1b1100.js +0 -118
- package/dist/esm/section.cc1b1100.js.map +0 -1
- package/dist/esm/selection-popover.17d1bd55.js +0 -60
- package/dist/esm/selection-popover.17d1bd55.js.map +0 -1
- package/dist/esm/selection-popover.module.0a701258.css.map +0 -1
- package/dist/esm/selection-popover.module.e22f5183.js +0 -22
- package/dist/esm/selection-popover.module.e22f5183.js.map +0 -1
- package/dist/esm/selection.bbf26d0e.js +0 -117
- package/dist/esm/selection.bbf26d0e.js.map +0 -1
- package/dist/esm/store.25eaa168.js +0 -18
- package/dist/esm/store.25eaa168.js.map +0 -1
- package/dist/esm/types.f016e032.js +0 -18
- package/dist/esm/types.f016e032.js.map +0 -1
- package/dist/esm/unit-details.56ff8b70.js +0 -209
- package/dist/esm/unit-details.56ff8b70.js.map +0 -1
- package/dist/esm/units.361088d4.js +0 -42
- package/dist/esm/units.361088d4.js.map +0 -1
- package/src/helpers.ts +0 -133
- package/src/providers.ts +0 -34
- package/src/selection-popover.ts +0 -71
- package/src/store.ts +0 -12
- package/src/units/units.scss +0 -16
- /package/src/{map → maps/column-navigation/svg}/animated.ts +0 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import {UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.8e51206e.js";
|
|
2
|
+
import {ColoredUnitComponent as $4c8184c4a7317749$export$6012fd1584b5d0c0} from "./column-views.343b5aa2.js";
|
|
3
|
+
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.f2e5a72f.js";
|
|
4
|
+
import "./column-views.338a7a83.css";
|
|
5
|
+
import $2d5zd$columnviews6a954628js from "./column-views.6a954628.js";
|
|
6
|
+
import {CompositeTimescaleCore as $7d0f52717c0de7e1$export$463f46772c64d403} from "./column-views.fa6f3292.js";
|
|
7
|
+
import {buildCorrelationChartData as $2c6a8e6a98a077ae$export$7f21dc14b8199dc0, findLaterallyExtensiveUnits as $2c6a8e6a98a077ae$export$cc5d9b95e199a6de, splitStratIntoBoxes as $2c6a8e6a98a077ae$export$3e71a3125322d04b} from "./column-views.57c4ddf3.js";
|
|
8
|
+
import {CompositeAgeAxisCore as $43794af7643cdf40$export$ac30ca3cf5df959d} from "./column-views.9ced149e.js";
|
|
9
|
+
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5c02fee2.js";
|
|
10
|
+
import {ColumnContainer as $2118f0266dc7e955$export$2194471aa3d52446} from "./column-views.f71ec4b4.js";
|
|
11
|
+
import $2d5zd$macrostrathyper from "@macrostrat/hyper";
|
|
12
|
+
import {useMemo as $2d5zd$useMemo, useRef as $2d5zd$useRef} from "react";
|
|
13
|
+
import {useInDarkMode as $2d5zd$useInDarkMode} from "@macrostrat/ui-components";
|
|
14
|
+
import $2d5zd$classnames from "classnames";
|
|
15
|
+
import {SVG as $2d5zd$SVG, ColumnProvider as $2d5zd$ColumnProvider, ColumnAxisType as $2d5zd$ColumnAxisType} from "@macrostrat/column-components";
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
function $parcel$interopDefault(a) {
|
|
19
|
+
return a && a.__esModule ? a.default : a;
|
|
20
|
+
}
|
|
21
|
+
/** Correlation chart */
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
const $ed7dc56184962590$var$h = (0, $2d5zd$macrostrathyper).styled((0, ($parcel$interopDefault($2d5zd$columnviews6a954628js))));
|
|
35
|
+
function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, ...scaleProps }) {
|
|
36
|
+
const defaultScaleProps = {
|
|
37
|
+
targetUnitHeight: 10,
|
|
38
|
+
unconformityHeight: 60,
|
|
39
|
+
minSectionHeight: 60,
|
|
40
|
+
collapseSmallUnconformities: true
|
|
41
|
+
};
|
|
42
|
+
const chartData = (0, $2d5zd$useMemo)(()=>{
|
|
43
|
+
if (!data) return null;
|
|
44
|
+
return (0, $2c6a8e6a98a077ae$export$7f21dc14b8199dc0)(data, {
|
|
45
|
+
...defaultScaleProps,
|
|
46
|
+
...scaleProps
|
|
47
|
+
});
|
|
48
|
+
}, [
|
|
49
|
+
data,
|
|
50
|
+
...Object.values(scaleProps)
|
|
51
|
+
]);
|
|
52
|
+
const columnRef = (0, $2d5zd$useRef)(null);
|
|
53
|
+
// A flattened units array is used to support keyboard navigation
|
|
54
|
+
const units = (0, $2d5zd$useMemo)(()=>{
|
|
55
|
+
return data?.map((d0)=>d0.units).flat() ?? [];
|
|
56
|
+
}, [
|
|
57
|
+
data
|
|
58
|
+
]);
|
|
59
|
+
const inDarkMode = (0, $2d5zd$useInDarkMode)();
|
|
60
|
+
const className = (0, $2d5zd$classnames)({
|
|
61
|
+
"dark-mode": inDarkMode
|
|
62
|
+
});
|
|
63
|
+
if (chartData == null) return null;
|
|
64
|
+
const { packages: packages, scaleInfo: scaleInfo, nColumns: nColumns } = chartData;
|
|
65
|
+
const mainWidth = (columnWidth + columnSpacing) * nColumns;
|
|
66
|
+
return $ed7dc56184962590$var$h((0, $2118f0266dc7e955$export$2194471aa3d52446), {
|
|
67
|
+
className: "correlation-diagram"
|
|
68
|
+
}, $ed7dc56184962590$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
|
|
69
|
+
columnRef: columnRef,
|
|
70
|
+
selectedUnit: selectedUnit,
|
|
71
|
+
onUnitSelected: onUnitSelected,
|
|
72
|
+
units: units
|
|
73
|
+
}, $ed7dc56184962590$var$h($ed7dc56184962590$var$ChartArea, [
|
|
74
|
+
$ed7dc56184962590$var$h($ed7dc56184962590$var$TimescaleColumn, {
|
|
75
|
+
key: "timescale",
|
|
76
|
+
scaleInfo: scaleInfo,
|
|
77
|
+
unconformityLabels: unconformityLabels
|
|
78
|
+
}),
|
|
79
|
+
$ed7dc56184962590$var$h("div.main-chart", {
|
|
80
|
+
ref: columnRef
|
|
81
|
+
}, [
|
|
82
|
+
$ed7dc56184962590$var$h((0, $2d5zd$SVG), {
|
|
83
|
+
className: className,
|
|
84
|
+
innerWidth: mainWidth,
|
|
85
|
+
height: scaleInfo.totalHeight,
|
|
86
|
+
paddingH: 4
|
|
87
|
+
}, packages.map((pkg, i)=>{
|
|
88
|
+
const { offset: offset, domain: domain, pixelScale: pixelScale, key: key } = scaleInfo.packages[i];
|
|
89
|
+
return $ed7dc56184962590$var$h($ed7dc56184962590$var$Package, {
|
|
90
|
+
columnData: pkg.columnData,
|
|
91
|
+
key: key,
|
|
92
|
+
columnWidth: columnWidth,
|
|
93
|
+
columnSpacing: columnSpacing,
|
|
94
|
+
offset: offset,
|
|
95
|
+
domain: domain,
|
|
96
|
+
pixelScale: pixelScale
|
|
97
|
+
});
|
|
98
|
+
})),
|
|
99
|
+
$ed7dc56184962590$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
|
|
100
|
+
// Navigation only works within a column for now...
|
|
101
|
+
$ed7dc56184962590$var$h((0, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1), {
|
|
102
|
+
units: units
|
|
103
|
+
})
|
|
104
|
+
])
|
|
105
|
+
])));
|
|
106
|
+
}
|
|
107
|
+
function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, offset: offset, domain: domain, pixelScale: pixelScale }) {
|
|
108
|
+
return $ed7dc56184962590$var$h("g.package", {
|
|
109
|
+
transform: `translate(0 ${offset})`
|
|
110
|
+
}, [
|
|
111
|
+
// Disable the SVG overlay for now
|
|
112
|
+
//h(PackageSVGOverlay, { data, columnSpacing }),
|
|
113
|
+
$ed7dc56184962590$var$h("g.column-units", [
|
|
114
|
+
columnData.map((data, i)=>{
|
|
115
|
+
return $ed7dc56184962590$var$h($ed7dc56184962590$var$Column, {
|
|
116
|
+
units: data.units,
|
|
117
|
+
width: columnWidth,
|
|
118
|
+
key: i,
|
|
119
|
+
domain: domain,
|
|
120
|
+
pixelScale: pixelScale,
|
|
121
|
+
offsetLeft: i * (columnWidth + columnSpacing)
|
|
122
|
+
});
|
|
123
|
+
})
|
|
124
|
+
])
|
|
125
|
+
]);
|
|
126
|
+
}
|
|
127
|
+
function $ed7dc56184962590$var$Column(props) {
|
|
128
|
+
const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale } = props;
|
|
129
|
+
const columnWidth = width;
|
|
130
|
+
if (units.length == 0) return null;
|
|
131
|
+
return $ed7dc56184962590$var$h("g.section", {
|
|
132
|
+
transform: `translate(${offsetLeft} 0)`
|
|
133
|
+
}, $ed7dc56184962590$var$h((0, $2d5zd$ColumnProvider), {
|
|
134
|
+
// Need to tighten up types here...
|
|
135
|
+
divisions: units,
|
|
136
|
+
range: domain,
|
|
137
|
+
pixelsPerMeter: pixelScale,
|
|
138
|
+
axisType: (0, $2d5zd$ColumnAxisType).AGE
|
|
139
|
+
}, $ed7dc56184962590$var$h((0, $d254716a820e9c85$export$5d1cdfabe8dc8085), {
|
|
140
|
+
unitComponent: (0, $4c8184c4a7317749$export$6012fd1584b5d0c0),
|
|
141
|
+
unitComponentProps: {
|
|
142
|
+
nColumns: 2,
|
|
143
|
+
width: columnWidth
|
|
144
|
+
}
|
|
145
|
+
})));
|
|
146
|
+
}
|
|
147
|
+
function $ed7dc56184962590$var$PackageSVGOverlay({ data: data, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0 }) {
|
|
148
|
+
const { b_age: b_age, t_age: t_age, bestPixelScale: bestPixelScale, columnData: columnData } = data;
|
|
149
|
+
const width = (columnWidth + columnSpacing) * columnData.length;
|
|
150
|
+
const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;
|
|
151
|
+
const extensiveUnits = (0, $2c6a8e6a98a077ae$export$cc5d9b95e199a6de)(data);
|
|
152
|
+
const scale = (val)=>{
|
|
153
|
+
return (val - t_age) * bestPixelScale;
|
|
154
|
+
};
|
|
155
|
+
return $ed7dc56184962590$var$h("div.package-overlay", {
|
|
156
|
+
style: {
|
|
157
|
+
width: width,
|
|
158
|
+
height: height
|
|
159
|
+
}
|
|
160
|
+
}, extensiveUnits.map((d)=>{
|
|
161
|
+
return $ed7dc56184962590$var$h($ed7dc56184962590$var$LaterallyExtensiveUnit, {
|
|
162
|
+
data: d,
|
|
163
|
+
scale: scale,
|
|
164
|
+
pixelScale: bestPixelScale,
|
|
165
|
+
columnSpacing: columnSpacing
|
|
166
|
+
});
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
function $ed7dc56184962590$var$LaterallyExtensiveUnit({ data: data, scale: scale, pixelScale: pixelScale, columnSpacing: columnSpacing }) {
|
|
170
|
+
const { b_age: b_age, t_age: t_age, strat_name_long: strat_name_long, units: units } = data;
|
|
171
|
+
// Build boxes by column groups
|
|
172
|
+
const boxes = (0, $2c6a8e6a98a077ae$export$3e71a3125322d04b)(data);
|
|
173
|
+
return $ed7dc56184962590$var$h("div.laterally-extensive-unit", boxes.map((d, i)=>{
|
|
174
|
+
return $ed7dc56184962590$var$h($ed7dc56184962590$var$StratColSpan, {
|
|
175
|
+
scale: scale,
|
|
176
|
+
data: d,
|
|
177
|
+
pixelScale: pixelScale,
|
|
178
|
+
key: i,
|
|
179
|
+
columnSpacing: columnSpacing
|
|
180
|
+
});
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
183
|
+
function $ed7dc56184962590$var$StratColSpan({ data: data, scale: scale, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0, pixelScale: pixelScale = 1 }) {
|
|
184
|
+
const { startCol: startCol, endCol: endCol, strat_name_long: strat_name_long, t_age: t_age, b_age: b_age } = data;
|
|
185
|
+
const top = scale(t_age);
|
|
186
|
+
const left = startCol * (columnWidth + columnSpacing);
|
|
187
|
+
const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);
|
|
188
|
+
const height = (b_age - t_age) * pixelScale;
|
|
189
|
+
return $ed7dc56184962590$var$h("div.strat-col-span", {
|
|
190
|
+
style: {
|
|
191
|
+
top: top,
|
|
192
|
+
height: height,
|
|
193
|
+
width: width,
|
|
194
|
+
left: left
|
|
195
|
+
}
|
|
196
|
+
}, strat_name_long);
|
|
197
|
+
}
|
|
198
|
+
function $ed7dc56184962590$var$ChartArea({ children: children }) {
|
|
199
|
+
const setSelectedUnit = (0, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5)((state)=>state.setSelectedUnit);
|
|
200
|
+
return $ed7dc56184962590$var$h("div.correlation-chart-inner", {
|
|
201
|
+
onClick () {
|
|
202
|
+
setSelectedUnit(null);
|
|
203
|
+
}
|
|
204
|
+
}, children);
|
|
205
|
+
}
|
|
206
|
+
function $ed7dc56184962590$var$TimescaleColumn(props) {
|
|
207
|
+
const { scaleInfo: scaleInfo, unconformityLabels: unconformityLabels = true } = props;
|
|
208
|
+
return $ed7dc56184962590$var$h("div.column-container.age-axis-container", [
|
|
209
|
+
$ed7dc56184962590$var$h((0, $43794af7643cdf40$export$ac30ca3cf5df959d), {
|
|
210
|
+
...scaleInfo
|
|
211
|
+
}),
|
|
212
|
+
$ed7dc56184962590$var$h((0, $7d0f52717c0de7e1$export$463f46772c64d403), {
|
|
213
|
+
...scaleInfo,
|
|
214
|
+
unconformityLabels: unconformityLabels
|
|
215
|
+
})
|
|
216
|
+
]);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart};
|
|
221
|
+
//# sourceMappingURL=column-views.aa9fcdba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sBAAsB;;;;;;;;;;;;;AAoCtB,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAiB,QAC/B,IAAI,iBACJ,gBAAgB,gBAChB,cAAc,yBACd,qBAAqB,uBACrB,kBAAkB,oBAClB,YAAY,kBACZ,cAAc,EACd,GAAG,YACmB;IACtB,MAAM,oBAAoB;QACxB,kBAAkB;QAClB,oBAAoB;QACpB,kBAAkB;QAClB,6BAA6B;IAC/B;IAEA,MAAM,YAAY,CAAA,GAAA,cAAM,EAAE;QACxB,IAAI,CAAC,MAAM,OAAO;QAClB,OAAO,CAAA,GAAA,yCAAwB,EAAE,MAAM;YACrC,GAAG,iBAAiB;YACpB,GAAG,UAAU;QACf;IACF,GAAG;QAAC;WAAS,OAAO,MAAM,CAAC;KAAY;IAEvC,MAAM,YAAY,CAAA,GAAA,aAAK,EAAE;IAEzB,iEAAiE;IACjE,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,OAAO,MAAM,IAAI,CAAC,KAAO,GAAG,KAAK,EAAE,UAAU,EAAE;IACjD,GAAG;QAAC;KAAK;IAET,MAAM,aAAa,CAAA,GAAA,oBAAY;IAE/B,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE;QAC3B,aAAa;IACf;IAEA,IAAI,aAAa,MACf,OAAO;IAGT,MAAM,YAAE,QAAQ,aAAE,SAAS,YAAE,QAAQ,EAAE,GAAG;IAE1C,MAAM,YAAY,AAAC,CAAA,cAAc,aAAY,IAAK;IAElD,OAAO,wBACL,CAAA,GAAA,yCAAc,GACd;QAAE,WAAW;IAAsB,GACnC,wBACE,CAAA,GAAA,yCAAoB,GACpB;mBAAE;sBAAW;wBAAc;eAAgB;IAAM,GACjD,wBAAE,iCAAW;QACX,wBAAE,uCAAiB;YACjB,KAAK;uBACL;gCACA;QACF;QACA,wBAAE,kBAAkB;YAAE,KAAK;QAAU,GAAG;YACtC,wBACE,CAAA,GAAA,UAAE,GACF;2BACE;gBACA,YAAY;gBACZ,QAAQ,UAAU,WAAW;gBAC7B,UAAU;YACZ,GACA,SAAS,GAAG,CAAC,CAAC,KAAK;gBACjB,MAAM,UAAE,MAAM,UAAE,MAAM,cAAE,UAAU,OAAE,GAAG,EAAE,GAAG,UAAU,QAAQ,CAAC,EAAE;gBACjE,OAAO,wBAAE,+BAAS;oBAChB,YAAY,IAAI,UAAU;yBAC1B;iCACA;mCACA;4BACA;4BACA;gCACA;gBACF;YACF;YAEF,wBAAE,EAAE,CAAC,iBAAiB,CAAA,GAAA,yCAAmB;YACzC,mDAAmD;YACnD,wBAAE,CAAA,GAAA,yCAAqB,GAAG;uBAAE;YAAM;SACnC;KACF;AAGP;AAEA,SAAS,8BAAQ,cACf,UAAU,iBACV,aAAa,eACb,WAAW,UACX,MAAM,UACN,MAAM,cACN,UAAU,EACX;IACC,OAAO,wBAAE,aAAa;QAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAAC,GAAG;QAC7D,kCAAkC;QAClC,gDAAgD;QAChD,wBAAE,kBAAkB;YAClB,WAAW,GAAG,CAAC,CAAC,MAAM;gBACpB,OAAO,wBAAE,8BAAQ;oBACf,OAAO,KAAK,KAAK;oBACjB,OAAO;oBACP,KAAK;4BACL;gCACA;oBACA,YAAY,IAAK,CAAA,cAAc,aAAY;gBAC7C;YACF;SACD;KACF;AACH;AAgBA,SAAS,6BAAO,KAAkB;IAChC,MAAM,SAAE,KAAK,SAAE,QAAQ,iBAAK,UAAU,UAAE,MAAM,cAAE,UAAU,EAAE,GAAG;IAE/D,MAAM,cAAc;IAEpB,IAAI,MAAM,MAAM,IAAI,GAClB,OAAO;IAGT,OAAO,wBACL,aACA;QACE,WAAW,CAAC,UAAU,EAAE,WAAW,GAAG,CAAC;IACzC,GACA,wBACE,CAAA,GAAA,qBAAa,GACb;QACE,mCAAmC;QACnC,WAAW;QACX,OAAO;QACP,gBAAgB;QAChB,UAAU,CAAA,GAAA,qBAAa,EAAE,GAAG;IAC9B,GACA,wBAAE,CAAA,GAAA,yCAAQ,GAAG;QACX,eAAe,CAAA,GAAA,yCAAmB;QAClC,oBAAoB;YAClB,UAAU;YACV,OAAO;QACT;IACF;AAGN;AAEA,SAAS,wCAAkB,QAAE,IAAI,eAAE,cAAc,oBAAK,gBAAgB,GAAG;IACvE,MAAM,SAAE,KAAK,SAAE,KAAK,kBAAE,cAAc,cAAE,UAAU,EAAE,GAAG;IAErD,MAAM,QAAQ,AAAC,CAAA,cAAc,aAAY,IAAK,WAAW,MAAM;IAC/D,MAAM,SAAS,KAAK,IAAI,CAAC,AAAC,CAAA,QAAQ,KAAI,IAAK,kBAAkB;IAE7D,MAAM,iBAAiB,CAAA,GAAA,yCAA0B,EAAE;IAEnD,MAAM,QAAQ,CAAC;QACb,OAAO,AAAC,CAAA,MAAM,KAAI,IAAK;IACzB;IAEA,OAAO,wBACL,uBACA;QAAE,OAAO;mBAAE;oBAAO;QAAO;IAAE,GAC3B,eAAe,GAAG,CAAC,CAAC;QAClB,OAAO,wBAAE,8CAAwB;YAC/B,MAAM;mBACN;YACA,YAAY;2BACZ;QACF;IACF;AAEJ;AAEA,SAAS,6CAAuB,QAAE,IAAI,SAAE,KAAK,cAAE,UAAU,iBAAE,aAAa,EAAE;IACxE,MAAM,SAAE,KAAK,SAAE,KAAK,mBAAE,eAAe,SAAE,KAAK,EAAE,GAAG;IACjD,+BAA+B;IAC/B,MAAM,QAAwB,CAAA,GAAA,yCAAkB,EAAE;IAElD,OAAO,wBACL,gCACA,MAAM,GAAG,CAAC,CAAC,GAAG;QACZ,OAAO,wBAAE,oCAAc;mBACrB;YACA,MAAM;wBACN;YACA,KAAK;2BACL;QACF;IACF;AAEJ;AAEA,SAAS,mCAAa,QACpB,IAAI,SACJ,KAAK,eACL,cAAc,oBACd,gBAAgB,eAChB,aAAa,GACd;IACC,MAAM,YAAE,QAAQ,UAAE,MAAM,mBAAE,eAAe,SAAE,KAAK,SAAE,KAAK,EAAE,GAAG;IAC5D,MAAM,MAAM,MAAM;IAClB,MAAM,OAAO,WAAY,CAAA,cAAc,aAAY;IACnD,MAAM,QAAQ,AAAC,CAAA,SAAS,WAAW,CAAA,IAAM,CAAA,cAAc,aAAY;IACnE,MAAM,SAAS,AAAC,CAAA,QAAQ,KAAI,IAAK;IACjC,OAAO,wBACL,sBACA;QAAE,OAAO;iBAAE;oBAAK;mBAAQ;kBAAO;QAAK;IAAE,GACtC;AAEJ;AAEA,SAAS,gCAAU,YAAE,QAAQ,EAAE;IAC7B,MAAM,kBAAkB,CAAA,GAAA,yCAAoB,EAC1C,CAAC,QAAU,MAAM,eAAe;IAGlC,OAAO,wBACL,+BACA;QACE;YACE,gBAAgB;QAClB;IACF,GACA;AAEJ;AAQA,SAAS,sCAAgB,KAA2B;IAClD,MAAM,aAAE,SAAS,sBAAE,qBAAqB,MAAM,GAAG;IACjD,OAAO,wBAAE,2CAA2C;QAClD,wBAAE,CAAA,GAAA,yCAAmB,GAAG;YAAE,GAAG,SAAS;QAAC;QACvC,wBAAE,CAAA,GAAA,yCAAqB,GAAG;YAAE,GAAG,SAAS;gCAAE;QAAmB;KAC9D;AACH","sources":["packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\n} from \"../units\";\nimport { UnitSelectionPopover } from \"../unit-details\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMemo, useRef } from \"react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { CompositeTimescaleCore } from \"../section\";\nimport classNames from \"classnames\";\nimport {\n findLaterallyExtensiveUnits,\n splitStratIntoBoxes,\n UnitGroupBox,\n CorrelationChartSettings,\n buildCorrelationChartData,\n} from \"./prepare-data\";\nimport {\n CompositeAgeAxisCore,\n CompositeStratigraphicScaleInfo,\n} from \"../age-axis\";\nimport {\n ColumnAxisType,\n ColumnProvider,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { ColoredUnitComponent } from \"../units\";\nimport { UnitBoxes } from \"../units/boxes\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\n\nconst h = hyper.styled(styles);\n\nexport interface CorrelationChartProps extends CorrelationChartSettings {\n data: ColumnData[];\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n unconformityLabels?: boolean;\n selectedUnit?: number | null;\n showUnitPopover?: boolean;\n onUnitSelected?: (unitID: number | null, unit: BaseUnit | null) => void;\n}\n\nexport function CorrelationChart({\n data,\n columnSpacing = 0,\n columnWidth = 130,\n unconformityLabels = true,\n showUnitPopover = true,\n selectedUnit,\n onUnitSelected,\n ...scaleProps\n}: CorrelationChartProps) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true,\n };\n\n const chartData = useMemo(() => {\n if (!data) return null;\n return buildCorrelationChartData(data, {\n ...defaultScaleProps,\n ...scaleProps,\n });\n }, [data, ...Object.values(scaleProps)]);\n\n const columnRef = useRef(null);\n\n // A flattened units array is used to support keyboard navigation\n const units = useMemo(() => {\n return data?.map((d0) => d0.units).flat() ?? [];\n }, [data]);\n\n const inDarkMode = useInDarkMode();\n\n const className = classNames({\n \"dark-mode\": inDarkMode,\n });\n\n if (chartData == null) {\n return null;\n }\n\n const { packages, scaleInfo, nColumns } = chartData;\n\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n\n return h(\n ColumnContainer,\n { className: \"correlation-diagram\" },\n h(\n UnitSelectionProvider,\n { columnRef, selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(\"div.main-chart\", { ref: columnRef }, [\n h(\n SVG,\n {\n className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4,\n },\n packages.map((pkg, i) => {\n const { offset, domain, pixelScale, key } = scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\n });\n })\n ),\n h.if(showUnitPopover)(UnitSelectionPopover),\n // Navigation only works within a column for now...\n h(UnitKeyboardNavigation, { units }),\n ]),\n ])\n )\n );\n}\n\nfunction Package({\n columnData,\n columnSpacing,\n columnWidth,\n offset,\n domain,\n pixelScale,\n}) {\n return h(\"g.package\", { transform: `translate(0 ${offset})` }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n h(\"g.column-units\", [\n columnData.map((data, i) => {\n return h(Column, {\n units: data.units,\n width: columnWidth,\n key: i,\n domain,\n pixelScale,\n offsetLeft: i * (columnWidth + columnSpacing),\n });\n }),\n ]),\n ]);\n}\n\ninterface ColumnProps {\n units: ExtUnit[];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n offsetLeft?: number;\n domain: [number, number];\n pixelScale: number;\n}\n\nfunction Column(props: ColumnProps) {\n const { units, width = 150, offsetLeft, domain, pixelScale } = props;\n\n const columnWidth = width;\n\n if (units.length == 0) {\n return null;\n }\n\n return h(\n \"g.section\",\n {\n transform: `translate(${offsetLeft} 0)`,\n },\n h(\n ColumnProvider,\n {\n // Need to tighten up types here...\n divisions: units as any[],\n range: domain,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n axisType: ColumnAxisType.AGE,\n },\n h(UnitBoxes, {\n unitComponent: ColoredUnitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n },\n })\n )\n );\n}\n\nfunction PackageSVGOverlay({ data, columnWidth = 100, columnSpacing = 0 }) {\n const { b_age, t_age, bestPixelScale, columnData } = data;\n\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n\n const extensiveUnits = findLaterallyExtensiveUnits(data);\n\n const scale = (val: number) => {\n return (val - t_age) * bestPixelScale;\n };\n\n return h(\n \"div.package-overlay\",\n { style: { width, height } },\n extensiveUnits.map((d) => {\n return h(LaterallyExtensiveUnit, {\n data: d,\n scale,\n pixelScale: bestPixelScale,\n columnSpacing,\n });\n })\n );\n}\n\nfunction LaterallyExtensiveUnit({ data, scale, pixelScale, columnSpacing }) {\n const { b_age, t_age, strat_name_long, units } = data;\n // Build boxes by column groups\n const boxes: UnitGroupBox[] = splitStratIntoBoxes(data);\n\n return h(\n \"div.laterally-extensive-unit\",\n boxes.map((d, i) => {\n return h(StratColSpan, {\n scale,\n data: d,\n pixelScale,\n key: i,\n columnSpacing,\n });\n })\n );\n}\n\nfunction StratColSpan({\n data,\n scale,\n columnWidth = 100,\n columnSpacing = 0,\n pixelScale = 1,\n}) {\n const { startCol, endCol, strat_name_long, t_age, b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return h(\n \"div.strat-col-span\",\n { style: { top, height, width, left } },\n strat_name_long\n );\n}\n\nfunction ChartArea({ children }) {\n const setSelectedUnit = useUnitSelectionStore(\n (state) => state.setSelectedUnit\n );\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(null);\n },\n },\n children\n );\n}\n\ninterface TimescaleColumnProps {\n scaleInfo: CompositeStratigraphicScaleInfo;\n showLabels?: boolean;\n unconformityLabels?: boolean;\n}\n\nfunction TimescaleColumn(props: TimescaleColumnProps) {\n const { scaleInfo, unconformityLabels = true } = props;\n return h(\"div.column-container.age-axis-container\", [\n h(CompositeAgeAxisCore, { ...scaleInfo }),\n h(CompositeTimescaleCore, { ...scaleInfo, unconformityLabels }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.aa9fcdba.js.map"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {useMeasurementData as $8adf39b8c41fe3cc$export$8a0335fd9ff72150} from "./
|
|
2
|
-
import {useDataLocator as $1dbd903fb3e2f029$export$919dbb10b6b5b75, IsotopesDataArea as $1dbd903fb3e2f029$export$309ef8546e07d921, IsotopeDataPoint as $1dbd903fb3e2f029$export$4cb5d059db4e2bd} from "./
|
|
1
|
+
import {useMeasurementData as $8adf39b8c41fe3cc$export$8a0335fd9ff72150} from "./column-views.07521ce6.js";
|
|
2
|
+
import {useDataLocator as $1dbd903fb3e2f029$export$919dbb10b6b5b75, IsotopesDataArea as $1dbd903fb3e2f029$export$309ef8546e07d921, IsotopeDataPoint as $1dbd903fb3e2f029$export$4cb5d059db4e2bd} from "./column-views.062d164a.js";
|
|
3
3
|
import {format as $cjrRw$format} from "d3-format";
|
|
4
4
|
import {useContext as $cjrRw$useContext} from "react";
|
|
5
5
|
import $cjrRw$macrostrathyper from "@macrostrat/hyper";
|
|
@@ -160,4 +160,4 @@ function $d5a3eba6c540ff58$export$5d8aa8022c284748(props) {
|
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
export {$d5a3eba6c540ff58$export$c69bd0285aa5d775 as IsotopesDataset, $d5a3eba6c540ff58$export$5d8aa8022c284748 as IsotopesColumn};
|
|
163
|
-
//# sourceMappingURL=
|
|
163
|
+
//# sourceMappingURL=column-views.ac9fb5e1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { format } from \"d3-format\";\nimport { useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n CrossAxisLayoutProvider,\n ColumnLayoutContext,\n useColumnDivisions,\n} from \"@macrostrat/column-components\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { AxisProps } from \"@visx/axis/lib/axis/Axis\";\n\nconst fmt = format(\".1f\");\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text\n );\n}\n\nfunction ColumnScale(props) {\n const {\n label,\n showAxis = true,\n nTicks = 6,\n tickValues: _tickVals,\n ...rest\n } = props;\n const { xScale, pixelHeight, width } = useContext(ColumnLayoutContext);\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"g.scale.isotope-scale-axis\", [\n h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n const strokeDasharray = value == 0 ? null : \"2 6\";\n return h(ScaleLine, { value, stroke: \"#ddd\", strokeDasharray });\n })\n ),\n h.if(showAxis)([\n h(\"rect.underlay\", {\n x: 0,\n y: pixelHeight,\n width,\n height: 30,\n }),\n h(AxisBottom, {\n scale: xScale,\n tickLength: 3,\n tickValues,\n ...rest,\n top: pixelHeight,\n tickLabelProps(tickValue, i) {\n // Compensate for negative sign\n let dx;\n if (tickValue < 0) {\n dx = -2;\n }\n return {\n dy: \"-1px\",\n dx,\n fontSize: 10,\n textAnchor: \"middle\",\n fill: \"#aaa\",\n };\n },\n labelOffset: 0,\n label,\n }),\n ]),\n ]);\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n if (labelBottom == null) {\n labelBottom = false;\n }\n if (labelOffset == null) {\n labelOffset = 12;\n }\n const { xScale, pixelHeight } = useContext(ColumnLayoutContext);\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\"line\", { x0: 0, x1: 0, y0: 0, y1: pixelHeight, ...rest }),\n h.if(labelBottom)(\"text\", { y: pixelHeight + labelOffset }, `${value}`),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const divisions: BaseUnit[] = useColumnDivisions() as any;\n const measures = useMeasurementData() ?? [];\n const refMeasures = referenceMeasuresToColumn(divisions, measures).filter(\n (d) => d.measurement == parameter\n );\n const points = unnestPoints(refMeasures);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n })\n )\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode } & AxisProps<any>\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n ...rest\n } = props;\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n return h(\n CrossAxisLayoutProvider,\n { width, domain },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScale, { label: label ?? parameter, ...rest }),\n _children,\n ])\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { format } from \"d3-format\";\nimport { useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n CrossAxisLayoutProvider,\n ColumnLayoutContext,\n useColumnDivisions,\n} from \"@macrostrat/column-components\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { AxisProps } from \"@visx/axis/lib/axis/Axis\";\n\nconst fmt = format(\".1f\");\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text\n );\n}\n\nfunction ColumnScale(props) {\n const {\n label,\n showAxis = true,\n nTicks = 6,\n tickValues: _tickVals,\n ...rest\n } = props;\n const { xScale, pixelHeight, width } = useContext(ColumnLayoutContext);\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"g.scale.isotope-scale-axis\", [\n h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n const strokeDasharray = value == 0 ? null : \"2 6\";\n return h(ScaleLine, { value, stroke: \"#ddd\", strokeDasharray });\n })\n ),\n h.if(showAxis)([\n h(\"rect.underlay\", {\n x: 0,\n y: pixelHeight,\n width,\n height: 30,\n }),\n h(AxisBottom, {\n scale: xScale,\n tickLength: 3,\n tickValues,\n ...rest,\n top: pixelHeight,\n tickLabelProps(tickValue, i) {\n // Compensate for negative sign\n let dx;\n if (tickValue < 0) {\n dx = -2;\n }\n return {\n dy: \"-1px\",\n dx,\n fontSize: 10,\n textAnchor: \"middle\",\n fill: \"#aaa\",\n };\n },\n labelOffset: 0,\n label,\n }),\n ]),\n ]);\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n if (labelBottom == null) {\n labelBottom = false;\n }\n if (labelOffset == null) {\n labelOffset = 12;\n }\n const { xScale, pixelHeight } = useContext(ColumnLayoutContext);\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\"line\", { x0: 0, x1: 0, y0: 0, y1: pixelHeight, ...rest }),\n h.if(labelBottom)(\"text\", { y: pixelHeight + labelOffset }, `${value}`),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const divisions: BaseUnit[] = useColumnDivisions() as any;\n const measures = useMeasurementData() ?? [];\n const refMeasures = referenceMeasuresToColumn(divisions, measures).filter(\n (d) => d.measurement == parameter\n );\n const points = unnestPoints(refMeasures);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n })\n )\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode } & AxisProps<any>\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n ...rest\n } = props;\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n return h(\n CrossAxisLayoutProvider,\n { width, domain },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScale, { label: label ?? parameter, ...rest }),\n _children,\n ])\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"column-views.ac9fb5e1.js.map"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3, 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.f1efcc2c.js";
|
|
2
|
+
import {ColumnCorrelationMap as $dcd183b733f66144$export$8e7d97509e84cc49, ColumnCorrelationProvider as $74e211dc185c20b4$export$72ffe141ebf87ef1, useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.a98214b2.js";
|
|
3
|
+
import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0, buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.fc2b4611.js";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
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, $dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap, $74e211dc185c20b4$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $74e211dc185c20b4$export$21398703d3a9bb4d as useCorrelationMapStore, $5593f90ffec284da$export$1e8149fc0d15fed0 as InsetMap, $1dbfddc9637b572c$export$d2995719c3a4ae17 as buildColumnsStyle};
|
|
11
|
+
//# sourceMappingURL=column-views.b2e5f1d9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/maps/index.ts"],"sourcesContent":["export * from \"./column-navigation\";\nexport * from \"./column-correlation\";\nexport * from \"./_shared\";\n"],"names":[],"version":3,"file":"column-views.b2e5f1d9.js.map"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.9804efda.js";
|
|
2
|
+
import {buildTriangulation as $40b71acee908f16d$export$39cd73f2cb8dc4f7, buildKeyMapping as $40b71acee908f16d$export$b3975a0f05980d25} from "./column-views.dc42f5d0.js";
|
|
3
|
+
import {useMemo as $1DDgQ$useMemo, useCallback as $1DDgQ$useCallback, useEffect as $1DDgQ$useEffect} from "react";
|
|
4
|
+
import {setGeoJSON as $1DDgQ$setGeoJSON, buildGeoJSONSource as $1DDgQ$buildGeoJSONSource} from "@macrostrat/mapbox-utils";
|
|
5
|
+
import {useMapRef as $1DDgQ$useMapRef, useMapStyleOperator as $1DDgQ$useMapStyleOperator} from "@macrostrat/mapbox-react";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
function $ab1043903d5406ef$export$8c41dd563753848(props) {
|
|
13
|
+
/** Keyboard navigation of columns using a Delaunay triangulation */ const { showTriangulation: showTriangulation = false } = props;
|
|
14
|
+
const columns = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.columns);
|
|
15
|
+
const col_id = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.selectedColumn);
|
|
16
|
+
const selectColumn = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.selectColumn);
|
|
17
|
+
const voronoi = (0, $1DDgQ$useMemo)(()=>{
|
|
18
|
+
if (!columns || columns.length == 0) return null;
|
|
19
|
+
return (0, $40b71acee908f16d$export$39cd73f2cb8dc4f7)(columns);
|
|
20
|
+
}, [
|
|
21
|
+
columns
|
|
22
|
+
]);
|
|
23
|
+
const mapRef = (0, $1DDgQ$useMapRef)();
|
|
24
|
+
const map = mapRef.current;
|
|
25
|
+
const keyMapping = (0, $1DDgQ$useMemo)(()=>{
|
|
26
|
+
if (columns == null || voronoi == null || map == null) return null;
|
|
27
|
+
const projection = (d)=>{
|
|
28
|
+
const pt = map.project(d);
|
|
29
|
+
return [
|
|
30
|
+
pt.x,
|
|
31
|
+
pt.y
|
|
32
|
+
];
|
|
33
|
+
};
|
|
34
|
+
const currentIndex = columns.findIndex((d)=>d.properties.col_id == col_id);
|
|
35
|
+
const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];
|
|
36
|
+
return (0, $40b71acee908f16d$export$b3975a0f05980d25)(neighbors, voronoi.centroids, currentIndex, projection);
|
|
37
|
+
}, [
|
|
38
|
+
col_id,
|
|
39
|
+
columns,
|
|
40
|
+
voronoi,
|
|
41
|
+
map
|
|
42
|
+
]);
|
|
43
|
+
const onKeyDown = (0, $1DDgQ$useCallback)((event)=>{
|
|
44
|
+
if (keyMapping == null) return;
|
|
45
|
+
const nextColumnIx = keyMapping[event.which];
|
|
46
|
+
if (nextColumnIx == null) return;
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
selectColumn(columns[nextColumnIx].id);
|
|
51
|
+
return false;
|
|
52
|
+
}, [
|
|
53
|
+
keyMapping,
|
|
54
|
+
selectColumn
|
|
55
|
+
]);
|
|
56
|
+
(0, $1DDgQ$useEffect)(()=>{
|
|
57
|
+
if (map == null) return;
|
|
58
|
+
const canvas = map.getCanvas();
|
|
59
|
+
canvas.addEventListener("keydown", onKeyDown);
|
|
60
|
+
return ()=>{
|
|
61
|
+
canvas.removeEventListener("keydown", onKeyDown);
|
|
62
|
+
};
|
|
63
|
+
}, [
|
|
64
|
+
map,
|
|
65
|
+
onKeyDown
|
|
66
|
+
]);
|
|
67
|
+
(0, $1DDgQ$useMapStyleOperator)((map)=>{
|
|
68
|
+
if (voronoi == null || !showTriangulation) return;
|
|
69
|
+
const { features: features } = voronoi.tri.links();
|
|
70
|
+
(0, $1DDgQ$setGeoJSON)(map, "column-links", {
|
|
71
|
+
type: "FeatureCollection",
|
|
72
|
+
features: features
|
|
73
|
+
});
|
|
74
|
+
}, [
|
|
75
|
+
voronoi,
|
|
76
|
+
showTriangulation
|
|
77
|
+
]);
|
|
78
|
+
//if (neighbors == null) return null;
|
|
79
|
+
//const neighborFeatures = neighbors.map((d) => features[d]);
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
function $ab1043903d5406ef$export$c613fba0aabeee13(color = "purple") {
|
|
83
|
+
return {
|
|
84
|
+
sources: {
|
|
85
|
+
"column-links": (0, $1DDgQ$buildGeoJSONSource)()
|
|
86
|
+
},
|
|
87
|
+
layers: [
|
|
88
|
+
{
|
|
89
|
+
id: "column-links",
|
|
90
|
+
type: "line",
|
|
91
|
+
source: "column-links",
|
|
92
|
+
paint: {
|
|
93
|
+
"line-color": color,
|
|
94
|
+
"line-width": 1.5
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: "column-centers",
|
|
99
|
+
type: "circle",
|
|
100
|
+
source: "column-links",
|
|
101
|
+
paint: {
|
|
102
|
+
"circle-radius": 2,
|
|
103
|
+
"circle-color": color
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
export {$ab1043903d5406ef$export$8c41dd563753848 as ColumnKeyboardNavigation, $ab1043903d5406ef$export$c613fba0aabeee13 as buildKeyboardNavigationStyle};
|
|
112
|
+
//# sourceMappingURL=column-views.b775c0a3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;AAaO,SAAS,yCAAyB,KAAuB;IAC9D,kEAAkE,GAClE,MAAM,qBAAE,oBAAoB,OAAO,GAAG;IACtC,MAAM,UAAU,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,OAAO;IACjE,MAAM,SAAS,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,cAAc;IACvE,MAAM,eAAe,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,YAAY;IAE3E,MAAM,UAAU,CAAA,GAAA,cAAM,EAAE;QACtB,IAAI,CAAC,WAAW,QAAQ,MAAM,IAAI,GAAG,OAAO;QAC5C,OAAO,CAAA,GAAA,yCAAiB,EAAE;IAC5B,GAAG;QAAC;KAAQ;IAEZ,MAAM,SAAS,CAAA,GAAA,gBAAQ;IACvB,MAAM,MAAM,OAAO,OAAO;IAE1B,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,WAAW,QAAQ,WAAW,QAAQ,OAAO,MAAM,OAAO;QAE9D,MAAM,aAAa,CAAC;YAClB,MAAM,KAAK,IAAI,OAAO,CAAC;YACvB,OAAO;gBAAC,GAAG,CAAC;gBAAE,GAAG,CAAC;aAAC;QACrB;QAEA,MAAM,eAAe,QAAQ,SAAS,CACpC,CAAC,IAAM,EAAE,UAAU,CAAC,MAAM,IAAI;QAGhC,MAAM,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa;QAC9D,OAAO,CAAA,GAAA,yCAAc,EACnB,WACA,QAAQ,SAAS,EACjB,cACA;IAEJ,GAAG;QAAC;QAAQ;QAAS;QAAS;KAAI;IAElC,MAAM,YAAY,CAAA,GAAA,kBAAU,EAC1B,CAAC;QACC,IAAI,cAAc,MAAM;QACxB,MAAM,eAAe,UAAU,CAAC,MAAM,KAAK,CAAC;QAC5C,IAAI,gBAAgB,MAAM;QAC1B,MAAM,cAAc;QACpB,MAAM,eAAe;QACrB,aAAa;QACb,aAAa,OAAO,CAAC,aAAa,CAAC,EAAE;QACrC,OAAO;IACT,GACA;QAAC;QAAY;KAAa;IAG5B,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,OAAO,MAAM;QACjB,MAAM,SAAS,IAAI,SAAS;QAC5B,OAAO,gBAAgB,CAAC,WAAW;QACnC,OAAO;YACL,OAAO,mBAAmB,CAAC,WAAW;QACxC;IACF,GAAG;QAAC;QAAK;KAAU;IAEnB,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW,QAAQ,CAAC,mBAAmB;QAC3C,MAAM,YAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,KAAK;QAEtC,CAAA,GAAA,iBAAS,EAAE,KAAK,gBAAgB;YAC9B,MAAM;sBACN;QACF;IACF,GACA;QAAC;QAAS;KAAkB;IAG9B,qCAAqC;IACrC,6DAA6D;IAE7D,OAAO;AACT;AAEO,SAAS,0CAA6B,QAAgB,QAAQ;IACnE,OAAO;QACL,SAAS;YACP,gBAAgB,CAAA,GAAA,yBAAiB;QAEnC;QACA,QAAQ;YACN;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,cAAc;oBACd,cAAc;gBAChB;YACF;YACA;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,iBAAiB;oBACjB,gBAAgB;gBAClB;YACF;SACD;IACH;AACF","sources":["packages/column-views/src/maps/column-navigation/mapbox/keyboard-navigation.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo } from \"react\";\nimport { buildGeoJSONSource, setGeoJSON } from \"@macrostrat/mapbox-utils\";\nimport { useMapRef, useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { useColumnNavigationStore } from \"./state\";\nimport {\n buildTriangulation,\n buildKeyMapping,\n} from \"../utils/keyboard-navigation\";\n\ninterface KeyboardNavProps {\n showTriangulation: boolean;\n}\n\nexport function ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const { showTriangulation = false } = props;\n const columns = useColumnNavigationStore((state) => state.columns);\n const col_id = useColumnNavigationStore((state) => state.selectedColumn);\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n\n const voronoi = useMemo(() => {\n if (!columns || columns.length == 0) return null;\n return buildTriangulation(columns);\n }, [columns]);\n\n const mapRef = useMapRef();\n const map = mapRef.current;\n\n const keyMapping = useMemo(() => {\n if (columns == null || voronoi == null || map == null) return null;\n\n const projection = (d) => {\n const pt = map.project(d);\n return [pt.x, pt.y];\n };\n\n const currentIndex = columns.findIndex(\n (d) => d.properties.col_id == col_id\n );\n\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return buildKeyMapping(\n neighbors,\n voronoi.centroids,\n currentIndex,\n projection\n );\n }, [col_id, columns, voronoi, map]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n },\n [keyMapping, selectColumn]\n );\n\n useEffect(() => {\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return () => {\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [map, onKeyDown]);\n\n useMapStyleOperator(\n (map) => {\n if (voronoi == null || !showTriangulation) return;\n const { features } = voronoi.tri.links();\n\n setGeoJSON(map, \"column-links\", {\n type: \"FeatureCollection\",\n features,\n });\n },\n [voronoi, showTriangulation]\n );\n\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n\n return null;\n}\n\nexport function buildKeyboardNavigationStyle(color: string = \"purple\") {\n return {\n sources: {\n \"column-links\": buildGeoJSONSource(),\n //neighbors: buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5,\n },\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color,\n },\n },\n ],\n };\n}\n"],"names":[],"version":3,"file":"column-views.b775c0a3.js.map"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function $c491b6231216b7f9$export$77c3cc7a57c6db5f(section) {
|
|
2
|
+
/* Section should be specified as space-separated coordinates */ if (section == null || typeof section !== "string") return null;
|
|
3
|
+
try {
|
|
4
|
+
let coords = section.split(" ").map($c491b6231216b7f9$var$parseCoordinates);
|
|
5
|
+
return {
|
|
6
|
+
type: "LineString",
|
|
7
|
+
coordinates: coords
|
|
8
|
+
};
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.warn(e);
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function $c491b6231216b7f9$export$8c53992169ff5301(line) {
|
|
15
|
+
if (line == null || line.type !== "LineString" || line.coordinates.length < 2) return null;
|
|
16
|
+
return line.coordinates.map((coord)=>coord.map($c491b6231216b7f9$var$stringifyNumber).join(",")).join(" ");
|
|
17
|
+
}
|
|
18
|
+
function $c491b6231216b7f9$var$parseCoordinates(s) {
|
|
19
|
+
let [x, y] = s.split(",").map($c491b6231216b7f9$var$parseNumber);
|
|
20
|
+
if (x == null || y == null || isNaN(x) || isNaN(y)) throw new Error("Invalid coordinate string");
|
|
21
|
+
if (x > 180 || x < -180 || y > 90 || y < -90) throw new Error("Invalid coordinate value");
|
|
22
|
+
return [
|
|
23
|
+
x,
|
|
24
|
+
y
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
function $c491b6231216b7f9$var$parseNumber(s) {
|
|
28
|
+
let s1 = s;
|
|
29
|
+
// For some reason, we sometimes get en-dashes in the hash string
|
|
30
|
+
if (s1[0] == "\u2212") s1 = "-" + s1.slice(1);
|
|
31
|
+
return Number(s1);
|
|
32
|
+
}
|
|
33
|
+
const $c491b6231216b7f9$var$stringifyNumber = (d)=>d.toLocaleString("en-US", {
|
|
34
|
+
maximumFractionDigits: 2
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
export {$c491b6231216b7f9$export$77c3cc7a57c6db5f as parseLineFromString, $c491b6231216b7f9$export$8c53992169ff5301 as stringifyLine};
|
|
39
|
+
//# sourceMappingURL=column-views.beb54e95.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAEO,SAAS,0CAAoB,OAAe;IACjD,8DAA8D,GAC9D,IAAI,WAAW,QAAQ,OAAO,YAAY,UACxC,OAAO;IAGT,IAAI;QACF,IAAI,SAAS,QAAQ,KAAK,CAAC,KAAK,GAAG,CAAC;QACpC,OAAO;YACL,MAAM;YACN,aAAa;QACf;IACF,EAAE,OAAO,GAAG;QACV,QAAQ,IAAI,CAAC;QACb,OAAO;IACT;AACF;AAEO,SAAS,0CAAc,IAAuB;IACnD,IACE,QAAQ,QACR,KAAK,IAAI,KAAK,gBACd,KAAK,WAAW,CAAC,MAAM,GAAG,GAE1B,OAAO;IAET,OAAO,KAAK,WAAW,CACpB,GAAG,CAAC,CAAC,QAAU,MAAM,GAAG,CAAC,uCAAiB,IAAI,CAAC,MAC/C,IAAI,CAAC;AACV;AAEA,SAAS,uCAAiB,CAAS;IACjC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;IAC9B,IAAI,KAAK,QAAQ,KAAK,QAAQ,MAAM,MAAM,MAAM,IAC9C,MAAM,IAAI,MAAM;IAElB,IAAI,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,IAAI,KACvC,MAAM,IAAI,MAAM;IAElB,OAAO;QAAC;QAAG;KAAE;AACf;AAEA,SAAS,kCAAY,CAAS;IAC5B,IAAI,KAAK;IACT,iEAAiE;IACjE,IAAI,EAAE,CAAC,EAAE,IAAI,UACX,KAAK,MAAM,GAAG,KAAK,CAAC;IAEtB,OAAO,OAAO;AAChB;AAEA,MAAM,wCAAkB,CAAC,IACvB,EAAE,cAAc,CAAC,SAAS;QACxB,uBAAuB;IACzB","sources":["packages/column-views/src/correlation-chart/hash-string.ts"],"sourcesContent":["import { LineString } from \"geojson\";\n\nexport function parseLineFromString(section: string): LineString | null {\n /* Section should be specified as space-separated coordinates */\n if (section == null || typeof section !== \"string\") {\n return null;\n }\n\n try {\n let coords = section.split(\" \").map(parseCoordinates);\n return {\n type: \"LineString\",\n coordinates: coords,\n };\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function stringifyLine(line: LineString | null): string | null {\n if (\n line == null ||\n line.type !== \"LineString\" ||\n line.coordinates.length < 2\n ) {\n return null;\n }\n return line.coordinates\n .map((coord) => coord.map(stringifyNumber).join(\",\"))\n .join(\" \");\n}\n\nfunction parseCoordinates(s: string): [number, number] {\n let [x, y] = s.split(\",\").map(parseNumber);\n if (x == null || y == null || isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinate string\");\n }\n if (x > 180 || x < -180 || y > 90 || y < -90) {\n throw new Error(\"Invalid coordinate value\");\n }\n return [x, y];\n}\n\nfunction parseNumber(s: string): number {\n let s1 = s;\n // For some reason, we sometimes get en-dashes in the hash string\n if (s1[0] == \"−\") {\n s1 = \"-\" + s1.slice(1);\n }\n return Number(s1);\n}\n\nconst stringifyNumber = (d) =>\n d.toLocaleString(\"en-US\", {\n maximumFractionDigits: 2,\n });\n"],"names":[],"version":3,"file":"column-views.beb54e95.js.map"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import $l9wxE$
|
|
2
|
-
import "./column.
|
|
3
|
-
import $132b1b0fb905c489$export$2e2bcd8739ae039 from "./column.
|
|
4
|
-
import {
|
|
5
|
-
import {MeasurementsLayer as $
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import $l9wxE$columnviews94b5cca1js from "./column-views.94b5cca1.js";
|
|
2
|
+
import "./column-views.a7be0a4a.css";
|
|
3
|
+
import $132b1b0fb905c489$export$2e2bcd8739ae039 from "./column-views.3f4db8cb.js";
|
|
4
|
+
import {ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b} from "./column-views.68409161.js";
|
|
5
|
+
import {MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080} from "./column-views.e77b9d6b.js";
|
|
6
|
+
import {MacrostratDataProvider as $774a5efa27d1c77b$export$690613f93cdc5576} from "./column-views.28ee5f43.js";
|
|
7
|
+
import {useColumnNav as $b8de97dfa82f4910$export$91cb5ac808759b34} from "./column-views.6d6b73b4.js";
|
|
8
|
+
import {MeasurementDataProvider as $8adf39b8c41fe3cc$export$5f01d5b342a89841} from "./column-views.07521ce6.js";
|
|
9
9
|
import $l9wxE$macrostrathyper from "@macrostrat/hyper";
|
|
10
10
|
import {useAPIResult as $l9wxE$useAPIResult} from "@macrostrat/ui-components";
|
|
11
11
|
import {useMemo as $l9wxE$useMemo} from "react";
|
|
@@ -22,8 +22,7 @@ function $parcel$interopDefault(a) {
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
const $5cc70deb5088007a$var$h = (0, $l9wxE$macrostrathyper).styled((0, ($parcel$interopDefault($l9wxE$columnmodule7f47d25ajs))));
|
|
25
|
+
const $5cc70deb5088007a$var$h = (0, $l9wxE$macrostrathyper).styled((0, ($parcel$interopDefault($l9wxE$columnviews94b5cca1js))));
|
|
27
26
|
const $5cc70deb5088007a$var$ColumnTitle = (props)=>{
|
|
28
27
|
return $5cc70deb5088007a$var$h.if(props.data != null)("h1", props.data?.col_name);
|
|
29
28
|
};
|
|
@@ -34,7 +33,7 @@ const $5cc70deb5088007a$var$defaultArgs = {
|
|
|
34
33
|
status_code: "in process"
|
|
35
34
|
};
|
|
36
35
|
function $5cc70deb5088007a$export$883edafebdc6d87e(columnArgs) {
|
|
37
|
-
return $5cc70deb5088007a$var$h((0, $
|
|
36
|
+
return $5cc70deb5088007a$var$h((0, $774a5efa27d1c77b$export$690613f93cdc5576), $5cc70deb5088007a$var$h((0, $8adf39b8c41fe3cc$export$5f01d5b342a89841), columnArgs, [
|
|
38
37
|
// @ts-ignore
|
|
39
38
|
$5cc70deb5088007a$var$h((0, $132b1b0fb905c489$export$2e2bcd8739ae039), {
|
|
40
39
|
params: columnArgs
|
|
@@ -42,7 +41,7 @@ function $5cc70deb5088007a$export$883edafebdc6d87e(columnArgs) {
|
|
|
42
41
|
]));
|
|
43
42
|
}
|
|
44
43
|
function $5cc70deb5088007a$var$ColumnManager() {
|
|
45
|
-
const [columnArgs, setCurrentColumn] = (0, $
|
|
44
|
+
const [columnArgs, setCurrentColumn] = (0, $b8de97dfa82f4910$export$91cb5ac808759b34)($5cc70deb5088007a$var$defaultArgs);
|
|
46
45
|
const { col_id: col_id, ...projectParams } = columnArgs;
|
|
47
46
|
const colParams = (0, $l9wxE$useMemo)(()=>({
|
|
48
47
|
...columnArgs,
|
|
@@ -64,12 +63,12 @@ function $5cc70deb5088007a$var$ColumnManager() {
|
|
|
64
63
|
})
|
|
65
64
|
]),
|
|
66
65
|
$5cc70deb5088007a$var$h("div.map-column", [
|
|
67
|
-
$5cc70deb5088007a$var$h((0, $
|
|
66
|
+
$5cc70deb5088007a$var$h((0, $e6046e00d2c8a163$export$9595c40c7a4c4f7b), {
|
|
68
67
|
currentColumn: columnFeature,
|
|
69
68
|
setCurrentColumn: setCurrentColumn,
|
|
70
69
|
margin: 0,
|
|
71
70
|
...projectParams
|
|
72
|
-
}, $5cc70deb5088007a$var$h((0, $
|
|
71
|
+
}, $5cc70deb5088007a$var$h((0, $93f116a6493b17c3$export$2254347cd20e6080), {
|
|
73
72
|
...projectParams,
|
|
74
73
|
style: {
|
|
75
74
|
fill: "dodgerblue",
|
|
@@ -81,9 +80,9 @@ function $5cc70deb5088007a$var$ColumnManager() {
|
|
|
81
80
|
]);
|
|
82
81
|
}
|
|
83
82
|
function $5cc70deb5088007a$export$e2beef9ae524c9d5() {
|
|
84
|
-
return $5cc70deb5088007a$var$h((0, $
|
|
83
|
+
return $5cc70deb5088007a$var$h((0, $774a5efa27d1c77b$export$690613f93cdc5576), $5cc70deb5088007a$var$h($5cc70deb5088007a$var$ColumnManager));
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
|
|
88
87
|
export {$5cc70deb5088007a$export$883edafebdc6d87e as CarbonIsotopesColumn, $5cc70deb5088007a$export$e2beef9ae524c9d5 as CarbonIsotopesApp};
|
|
89
|
-
//# sourceMappingURL=
|
|
88
|
+
//# sourceMappingURL=column-views.c58aad3f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAE5B,MAAM,oCAAc,CAAC;IACnB,OAAO,wBAAE,EAAE,CAAC,MAAM,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE;AACpD;AAEA,MAAM,oCAA0B;IAC9B,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,aAAa;AACf;AAEO,SAAS,0CAAqB,UAAU;IAC7C,OAAO,wBACL,CAAA,GAAA,yCAAqB,GACrB,wBAAE,CAAA,GAAA,yCAAsB,GAAG,YAAY;QACrC,aAAa;QACb,wBAAE,CAAA,GAAA,wCAAS,GAAG;YAAE,QAAQ;QAAW;KACpC;AAEL;AAEA,SAAS;IACP,MAAM,CAAC,YAAY,iBAAiB,GAAG,CAAA,GAAA,yCAAW,EAAE;IACpD,MAAM,UAAE,MAAM,EAAE,GAAG,eAAe,GAAG;IAErC,MAAM,YAAY,CAAA,GAAA,cAAM,EACtB,IAAO,CAAA;YAAE,GAAG,UAAU;YAAE,QAAQ;QAAU,CAAA,GAC1C;QAAC;KAAW;IAEd,MAAM,MAAyB,CAAA,GAAA,mBAAW,EAAE,YAAY;IACxD,MAAM,gBAAgB,KAAK,QAAQ,CAAC,EAAE;IAEtC,OAAO,wBAAE,CAAA,GAAA,yCAAsB,GAAG,YAAY;QAC5C,wBAAE,iBAAiB;YACjB,wBAAE,mBAAmB;gBACnB,wBAAE,mCAAa;oBAAE,MAAM,eAAe;gBAAW;gBACjD,aAAa;gBACb,wBAAE,CAAA,GAAA,wCAAS,GAAG;oBAAE,QAAQ;gBAAW;aACpC;YACD,wBAAE,kBAAkB;gBAClB,wBACE,CAAA,GAAA,yCAAqB,GACrB;oBACE,eAAe;sCACf;oBACA,QAAQ;oBACR,GAAG,aAAa;gBAClB,GACA,wBAAE,CAAA,GAAA,yCAAgB,GAAG;oBACnB,GAAG,aAAa;oBAChB,OAAO;wBACL,MAAM;wBACN,QAAQ;oBACV;gBACF;aAEH;SACF;KACF;AACH;AAEO,SAAS;IACd,OAAO,wBAAE,CAAA,GAAA,yCAAqB,GAAG,wBAAE;AACrC","sources":["packages/column-views/src/carbon-isotopes/core.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\n\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport BaseColumn from \"./column\";\nimport { ColumnNavigationSVGMap, MeasurementsLayer } from \"../maps\";\nimport {\n MacrostratDataProvider,\n ColumnArgs,\n useColumnNav,\n} from \"../data-provider\";\nimport { MeasurementDataProvider } from \"./data-provider\";\nimport { useMemo } from \"react\";\nimport { FeatureCollection } from \"geojson\";\n\nconst h = hyper.styled(styles);\n\nconst ColumnTitle = (props) => {\n return h.if(props.data != null)(\"h1\", props.data?.col_name);\n};\n\nconst defaultArgs: ColumnArgs = {\n col_id: 2192,\n //unit_id: null,\n project_id: 10,\n status_code: \"in process\",\n};\n\nexport function CarbonIsotopesColumn(columnArgs) {\n return h(\n MacrostratDataProvider,\n h(MeasurementDataProvider, columnArgs, [\n // @ts-ignore\n h(BaseColumn, { params: columnArgs }),\n ])\n );\n}\n\nfunction ColumnManager() {\n const [columnArgs, setCurrentColumn] = useColumnNav(defaultArgs);\n const { col_id, ...projectParams } = columnArgs;\n\n const colParams = useMemo(\n () => ({ ...columnArgs, format: \"geojson\" }),\n [columnArgs]\n );\n const res: FeatureCollection = useAPIResult(\"/columns\", colParams);\n const columnFeature = res?.features[0];\n\n return h(MeasurementDataProvider, columnArgs, [\n h(\"div.column-ui\", [\n h(\"div.column-view\", [\n h(ColumnTitle, { data: columnFeature?.properties }),\n // @ts-ignore\n h(BaseColumn, { params: columnArgs }),\n ]),\n h(\"div.map-column\", [\n h(\n ColumnNavigationSVGMap,\n {\n currentColumn: columnFeature,\n setCurrentColumn,\n margin: 0,\n ...projectParams,\n },\n h(MeasurementsLayer, {\n ...projectParams,\n style: {\n fill: \"dodgerblue\",\n stroke: \"blue\",\n },\n })\n ),\n ]),\n ]),\n ]);\n}\n\nexport function CarbonIsotopesApp() {\n return h(MacrostratDataProvider, h(ColumnManager));\n}\n"],"names":[],"version":3,"file":"column-views.c58aad3f.js.map"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {IsotopesDataset as $d5a3eba6c540ff58$export$c69bd0285aa5d775, IsotopesColumn as $d5a3eba6c540ff58$export$5d8aa8022c284748} from "./
|
|
2
|
-
import {MeasurementDataContext as $8adf39b8c41fe3cc$export$c644ef985ce7a4c4, MeasurementDataProvider as $8adf39b8c41fe3cc$export$5f01d5b342a89841, useMeasurementData as $8adf39b8c41fe3cc$export$8a0335fd9ff72150} from "./
|
|
3
|
-
import {CarbonIsotopesColumn as $5cc70deb5088007a$export$883edafebdc6d87e, CarbonIsotopesApp as $5cc70deb5088007a$export$e2beef9ae524c9d5} from "./
|
|
1
|
+
import {IsotopesDataset as $d5a3eba6c540ff58$export$c69bd0285aa5d775, IsotopesColumn as $d5a3eba6c540ff58$export$5d8aa8022c284748} from "./column-views.ac9fb5e1.js";
|
|
2
|
+
import {MeasurementDataContext as $8adf39b8c41fe3cc$export$c644ef985ce7a4c4, MeasurementDataProvider as $8adf39b8c41fe3cc$export$5f01d5b342a89841, useMeasurementData as $8adf39b8c41fe3cc$export$8a0335fd9ff72150} from "./column-views.07521ce6.js";
|
|
3
|
+
import {CarbonIsotopesColumn as $5cc70deb5088007a$export$883edafebdc6d87e, CarbonIsotopesApp as $5cc70deb5088007a$export$e2beef9ae524c9d5} from "./column-views.c58aad3f.js";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -8,4 +8,4 @@ import {CarbonIsotopesColumn as $5cc70deb5088007a$export$883edafebdc6d87e, Carbo
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
export {$d5a3eba6c540ff58$export$c69bd0285aa5d775 as IsotopesDataset, $d5a3eba6c540ff58$export$5d8aa8022c284748 as IsotopesColumn, $8adf39b8c41fe3cc$export$c644ef985ce7a4c4 as MeasurementDataContext, $8adf39b8c41fe3cc$export$5f01d5b342a89841 as MeasurementDataProvider, $8adf39b8c41fe3cc$export$8a0335fd9ff72150 as useMeasurementData, $5cc70deb5088007a$export$883edafebdc6d87e as CarbonIsotopesColumn, $5cc70deb5088007a$export$e2beef9ae524c9d5 as CarbonIsotopesApp};
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=column-views.d1ad48eb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/column-views/src/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\nexport * from \"./core\";\n"],"names":[],"version":3,"file":"
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/carbon-isotopes/index.ts"],"sourcesContent":["export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\nexport * from \"./core\";\n"],"names":[],"version":3,"file":"column-views.d1ad48eb.js.map"}
|