@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,167 @@
|
|
|
1
|
+
import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.33dbc778.js";
|
|
2
|
+
import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
|
|
3
|
+
import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.9804efda.js";
|
|
4
|
+
import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.b775c0a3.js";
|
|
5
|
+
import {useMapStyleOperator as $lRXWn$useMapStyleOperator} from "@macrostrat/mapbox-react";
|
|
6
|
+
import $lRXWn$macrostrathyper from "@macrostrat/hyper";
|
|
7
|
+
import {useMemo as $lRXWn$useMemo, useRef as $lRXWn$useRef} from "react";
|
|
8
|
+
import {setGeoJSON as $lRXWn$setGeoJSON} from "@macrostrat/mapbox-utils";
|
|
9
|
+
import {geoCentroid as $lRXWn$geoCentroid} from "d3-geo";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
function $9d5d216fa2057b5b$export$821baedf611249f3(props) {
|
|
20
|
+
const { columns: columns, onSelectColumn: onSelectColumn, onHoverColumn: onHoverColumn, selectedColumn: selectedColumn, hoveredColumn: hoveredColumn, projectID: projectID, inProcess: inProcess, ...rest } = props;
|
|
21
|
+
return (0, $lRXWn$macrostrathyper)((0, $09486427d129f589$export$8da3b11f62ebf019), {
|
|
22
|
+
columns: columns,
|
|
23
|
+
onSelectColumn: onSelectColumn,
|
|
24
|
+
onHoverColumn: onHoverColumn,
|
|
25
|
+
selectedColumn: selectedColumn,
|
|
26
|
+
hoveredColumn: hoveredColumn,
|
|
27
|
+
projectID: projectID,
|
|
28
|
+
inProcess: inProcess
|
|
29
|
+
}, (0, $lRXWn$macrostrathyper)($9d5d216fa2057b5b$var$_ColumnNavigationMap, rest));
|
|
30
|
+
}
|
|
31
|
+
function $9d5d216fa2057b5b$var$_ColumnNavigationMap(props) {
|
|
32
|
+
const { padding: padding = 50, children: children, columnColor: columnColor, showTriangulation: showTriangulation, triangulationColor: triangulationColor, keyboardNavigation: keyboardNavigation = true, ...rest } = props;
|
|
33
|
+
const overlayStyles = (0, $lRXWn$useMemo)(()=>{
|
|
34
|
+
let styles = [
|
|
35
|
+
(0, $1dbfddc9637b572c$export$d2995719c3a4ae17)(columnColor)
|
|
36
|
+
];
|
|
37
|
+
if (showTriangulation) styles.push((0, $ab1043903d5406ef$export$c613fba0aabeee13)(triangulationColor));
|
|
38
|
+
return styles;
|
|
39
|
+
}, [
|
|
40
|
+
columnColor,
|
|
41
|
+
showTriangulation,
|
|
42
|
+
triangulationColor
|
|
43
|
+
]);
|
|
44
|
+
return (0, $lRXWn$macrostrathyper)((0, $5593f90ffec284da$export$1e8149fc0d15fed0), {
|
|
45
|
+
...rest,
|
|
46
|
+
boxZoom: false,
|
|
47
|
+
dragRotate: false,
|
|
48
|
+
overlayStyles: overlayStyles
|
|
49
|
+
}, [
|
|
50
|
+
(0, $lRXWn$macrostrathyper)($9d5d216fa2057b5b$var$ColumnsLayer),
|
|
51
|
+
(0, $lRXWn$macrostrathyper).if(keyboardNavigation)((0, $ab1043903d5406ef$export$8c41dd563753848), {
|
|
52
|
+
showTriangulation: showTriangulation
|
|
53
|
+
}),
|
|
54
|
+
children
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
function $9d5d216fa2057b5b$var$ColumnsLayer({ enabled: enabled = true }) {
|
|
58
|
+
const columns = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.columns);
|
|
59
|
+
const selectedColumn = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.selectedColumn);
|
|
60
|
+
const hoveredColumn = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.hoveredColumn);
|
|
61
|
+
const selectColumn = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.selectColumn);
|
|
62
|
+
const setHoveredColumn = (0, $09486427d129f589$export$642c2b57c47ea41)((state)=>state.setHoveredColumn);
|
|
63
|
+
(0, $lRXWn$useMapStyleOperator)((map)=>{
|
|
64
|
+
if (columns == null) return;
|
|
65
|
+
const data = {
|
|
66
|
+
type: "FeatureCollection",
|
|
67
|
+
features: columns
|
|
68
|
+
};
|
|
69
|
+
(0, $lRXWn$setGeoJSON)(map, "columns", data);
|
|
70
|
+
const mouseMove = (event)=>{
|
|
71
|
+
if (event.features.length == 0) return;
|
|
72
|
+
const hoveredFeature = event.features[0];
|
|
73
|
+
setHoveredColumn(hoveredFeature.id);
|
|
74
|
+
map.getCanvas().style.cursor = "pointer";
|
|
75
|
+
};
|
|
76
|
+
const mouseLeave = ()=>{
|
|
77
|
+
setHoveredColumn(null);
|
|
78
|
+
map.getCanvas().style.cursor = "";
|
|
79
|
+
};
|
|
80
|
+
const clickHandler = (event)=>{
|
|
81
|
+
if (event.features.length == 0) return;
|
|
82
|
+
const selectedColumn = event.features[0];
|
|
83
|
+
const id = selectedColumn.id;
|
|
84
|
+
selectColumn(id);
|
|
85
|
+
};
|
|
86
|
+
// Setup hover styles on map
|
|
87
|
+
const layers = [
|
|
88
|
+
"columns-points",
|
|
89
|
+
"columns-fill"
|
|
90
|
+
];
|
|
91
|
+
map.on("mousemove", layers, mouseMove);
|
|
92
|
+
map.on("mouseleave", layers, mouseLeave);
|
|
93
|
+
map.on("click", layers, clickHandler);
|
|
94
|
+
return ()=>{
|
|
95
|
+
map.off("mouseenter", layers, mouseMove);
|
|
96
|
+
map.off("mouseleave", layers, mouseLeave);
|
|
97
|
+
map.off("click", layers, clickHandler);
|
|
98
|
+
};
|
|
99
|
+
}, [
|
|
100
|
+
columns,
|
|
101
|
+
enabled
|
|
102
|
+
]);
|
|
103
|
+
const hoveredColumnRef = (0, $lRXWn$useRef)(null);
|
|
104
|
+
(0, $lRXWn$useMapStyleOperator)((map)=>{
|
|
105
|
+
const prevHoveredColumn = hoveredColumnRef.current;
|
|
106
|
+
if (hoveredColumn == prevHoveredColumn) return;
|
|
107
|
+
if (prevHoveredColumn != null) // Deselect previous column
|
|
108
|
+
map.setFeatureState({
|
|
109
|
+
source: "columns",
|
|
110
|
+
id: prevHoveredColumn
|
|
111
|
+
}, {
|
|
112
|
+
hover: false
|
|
113
|
+
});
|
|
114
|
+
hoveredColumnRef.current = hoveredColumn;
|
|
115
|
+
// Select the current column
|
|
116
|
+
map.setFeatureState({
|
|
117
|
+
source: "columns",
|
|
118
|
+
id: hoveredColumn
|
|
119
|
+
}, {
|
|
120
|
+
hover: true
|
|
121
|
+
});
|
|
122
|
+
}, [
|
|
123
|
+
hoveredColumn,
|
|
124
|
+
columns
|
|
125
|
+
]);
|
|
126
|
+
/** Set feature state for selected columns */ const selectedColumnRef = (0, $lRXWn$useRef)(null);
|
|
127
|
+
const initialRenderRef = (0, $lRXWn$useRef)(true);
|
|
128
|
+
(0, $lRXWn$useMapStyleOperator)((map)=>{
|
|
129
|
+
if (columns == null) return;
|
|
130
|
+
const prevSelectedColumn = selectedColumnRef.current;
|
|
131
|
+
if (selectedColumn == prevSelectedColumn) return;
|
|
132
|
+
if (prevSelectedColumn != null) // Deselect previous column
|
|
133
|
+
map.setFeatureState({
|
|
134
|
+
source: "columns",
|
|
135
|
+
id: prevSelectedColumn
|
|
136
|
+
}, {
|
|
137
|
+
selected: false
|
|
138
|
+
});
|
|
139
|
+
selectedColumnRef.current = selectedColumn;
|
|
140
|
+
// Select the current column
|
|
141
|
+
map.setFeatureState({
|
|
142
|
+
source: "columns",
|
|
143
|
+
id: selectedColumn
|
|
144
|
+
}, {
|
|
145
|
+
selected: true
|
|
146
|
+
});
|
|
147
|
+
// Center the selected column
|
|
148
|
+
const columnGeometry = columns.find((d)=>d.id == selectedColumn)?.geometry;
|
|
149
|
+
if (columnGeometry == null) return;
|
|
150
|
+
const center = (0, $lRXWn$geoCentroid)(columnGeometry);
|
|
151
|
+
const isInitialRender = initialRenderRef.current;
|
|
152
|
+
map.easeTo({
|
|
153
|
+
center: center
|
|
154
|
+
}, {
|
|
155
|
+
duration: isInitialRender ? 0 : 500
|
|
156
|
+
});
|
|
157
|
+
if (isInitialRender) initialRenderRef.current = false;
|
|
158
|
+
}, [
|
|
159
|
+
selectedColumn,
|
|
160
|
+
columns
|
|
161
|
+
]);
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap};
|
|
167
|
+
//# sourceMappingURL=column-views.3bec70d6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps\n) {\n const {\n columns,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, rest)\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n children,\n ]\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled]\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false }\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true }\n );\n },\n [hoveredColumn, columns]\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false }\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true }\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns]\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.3bec70d6.js.map"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {useMemo as $8KE3g$useMemo, useCallback as $8KE3g$useCallback} from "react";
|
|
2
|
+
import {getBasicMapStyle as $8KE3g$getBasicMapStyle, MapView as $8KE3g$MapView} from "@macrostrat/map-interface";
|
|
3
|
+
import $8KE3g$macrostrathyper from "@macrostrat/hyper";
|
|
4
|
+
import {MapboxMapProvider as $8KE3g$MapboxMapProvider} from "@macrostrat/mapbox-react";
|
|
5
|
+
import {useInDarkMode as $8KE3g$useInDarkMode} from "@macrostrat/ui-components";
|
|
6
|
+
import {removeMapLabels as $8KE3g$removeMapLabels, removeSourceFromStyle as $8KE3g$removeSourceFromStyle} from "@macrostrat/mapbox-utils";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
function $5593f90ffec284da$export$1e8149fc0d15fed0({ controls: controls, className: className, children: children, style: style, mapStyle: mapStyle, accessToken: accessToken, showLabels: showLabels = false, showAdmin: showAdmin = false, showRoads: showRoads = false, ...rest }) {
|
|
15
|
+
const inDarkMode = (0, $8KE3g$useInDarkMode)();
|
|
16
|
+
const _style = (0, $8KE3g$useMemo)(()=>{
|
|
17
|
+
return mapStyle ?? (0, $8KE3g$getBasicMapStyle)({
|
|
18
|
+
inDarkMode: inDarkMode
|
|
19
|
+
});
|
|
20
|
+
}, [
|
|
21
|
+
mapStyle,
|
|
22
|
+
inDarkMode
|
|
23
|
+
]);
|
|
24
|
+
const transformStyle = (0, $8KE3g$useCallback)((style)=>{
|
|
25
|
+
let newStyle = style;
|
|
26
|
+
if (!showLabels) newStyle = (0, $8KE3g$removeMapLabels)(newStyle);
|
|
27
|
+
if (!showAdmin) newStyle = (0, $8KE3g$removeSourceFromStyle)(newStyle, null, "admin");
|
|
28
|
+
if (!showRoads) {
|
|
29
|
+
newStyle = (0, $8KE3g$removeSourceFromStyle)(newStyle, null, "road");
|
|
30
|
+
newStyle = (0, $8KE3g$removeSourceFromStyle)(newStyle, null, "aeroway");
|
|
31
|
+
}
|
|
32
|
+
return newStyle;
|
|
33
|
+
}, [
|
|
34
|
+
mapStyle,
|
|
35
|
+
showLabels,
|
|
36
|
+
showRoads,
|
|
37
|
+
showAdmin
|
|
38
|
+
]);
|
|
39
|
+
return (0, $8KE3g$macrostrathyper)("div.inset-map", {
|
|
40
|
+
className: className,
|
|
41
|
+
style: style
|
|
42
|
+
}, [
|
|
43
|
+
(0, $8KE3g$macrostrathyper)((0, $8KE3g$MapboxMapProvider), [
|
|
44
|
+
controls,
|
|
45
|
+
(0, $8KE3g$macrostrathyper)((0, $8KE3g$MapView), {
|
|
46
|
+
style: _style,
|
|
47
|
+
accessToken: accessToken,
|
|
48
|
+
standalone: true,
|
|
49
|
+
/* Default map position that centers on the bulk of Macrostrat columns
|
|
50
|
+
*/ mapPosition: {
|
|
51
|
+
camera: {
|
|
52
|
+
lng: -100,
|
|
53
|
+
lat: 38,
|
|
54
|
+
altitude: 5000000
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
transformStyle: transformStyle,
|
|
58
|
+
...rest
|
|
59
|
+
}, children)
|
|
60
|
+
])
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
export {$5593f90ffec284da$export$1e8149fc0d15fed0 as InsetMap};
|
|
66
|
+
//# sourceMappingURL=column-views.3de4dc43.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;AA0BO,SAAS,0CAAS,YACvB,QAAQ,aACR,SAAS,YACT,QAAQ,SACR,KAAK,YACL,QAAQ,eACR,WAAW,cACX,aAAa,kBACb,YAAY,kBACZ,YAAY,OACZ,GAAG,MACW;IACd,MAAM,aAAa,CAAA,GAAA,oBAAY;IAC/B,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE;QACrB,OAAO,YAAY,CAAA,GAAA,uBAAe,EAAE;wBAAE;QAAW;IACnD,GAAG;QAAC;QAAU;KAAW;IAEzB,MAAM,iBAAiB,CAAA,GAAA,kBAAU,EAC/B,CAAC;QACC,IAAI,WAAW;QACf,IAAI,CAAC,YACH,WAAW,CAAA,GAAA,sBAAc,EAAE;QAE7B,IAAI,CAAC,WACH,WAAW,CAAA,GAAA,4BAAoB,EAAE,UAAU,MAAM;QAEnD,IAAI,CAAC,WAAW;YACd,WAAW,CAAA,GAAA,4BAAoB,EAAE,UAAU,MAAM;YACjD,WAAW,CAAA,GAAA,4BAAoB,EAAE,UAAU,MAAM;QACnD;QACA,OAAO;IACT,GACA;QAAC;QAAU;QAAY;QAAW;KAAU;IAG9C,OAAO,CAAA,GAAA,sBAAA,EAAE,iBAAiB;mBAAE;eAAW;IAAM,GAAG;QAC9C,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,wBAAgB,GAAG;YACnB;YACA,CAAA,GAAA,sBAAA,EACE,CAAA,GAAA,cAAM,GACN;gBACE,OAAO;6BACP;gBACA,YAAY;gBACZ;WACC,GACD,aAAa;oBACX,QAAQ;wBACN,KAAK;wBACL,KAAK;wBACL,UAAU;oBACZ;gBACF;gCACA;gBACA,GAAG,IAAI;YACT,GACA;SAEH;KACF;AACH","sources":["packages/column-views/src/maps/_shared/inset-map.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n MapView,\n getBasicMapStyle,\n MapViewProps,\n} from \"@macrostrat/map-interface\";\nimport h from \"@macrostrat/hyper\";\nimport { MapboxMapProvider } from \"@macrostrat/mapbox-react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport {\n removeMapLabels,\n removeSourceFromStyle,\n} from \"@macrostrat/mapbox-utils\";\nimport type { ReactNode, CSSProperties } from \"react\";\n\nexport interface InsetMapProps extends Omit<MapViewProps, \"style\"> {\n controls?: ReactNode;\n className?: string;\n children?: ReactNode;\n style?: CSSProperties;\n mapStyle?: mapboxgl.Style | string;\n showLabels?: boolean;\n showAdmin?: boolean;\n showRoads?: boolean;\n}\n\nexport function InsetMap({\n controls,\n className,\n children,\n style,\n mapStyle,\n accessToken,\n showLabels = false,\n showAdmin = false,\n showRoads = false,\n ...rest\n}: InsetMapProps) {\n const inDarkMode = useInDarkMode();\n const _style = useMemo((): mapboxgl.Style | string => {\n return mapStyle ?? getBasicMapStyle({ inDarkMode });\n }, [mapStyle, inDarkMode]);\n\n const transformStyle = useCallback(\n (style) => {\n let newStyle = style;\n if (!showLabels) {\n newStyle = removeMapLabels(newStyle);\n }\n if (!showAdmin) {\n newStyle = removeSourceFromStyle(newStyle, null, \"admin\");\n }\n if (!showRoads) {\n newStyle = removeSourceFromStyle(newStyle, null, \"road\");\n newStyle = removeSourceFromStyle(newStyle, null, \"aeroway\");\n }\n return newStyle;\n },\n [mapStyle, showLabels, showRoads, showAdmin]\n );\n\n return h(\"div.inset-map\", { className, style }, [\n h(MapboxMapProvider, [\n controls,\n h(\n MapView,\n {\n style: _style,\n accessToken,\n standalone: true,\n /* Default map position that centers on the bulk of Macrostrat columns\n */\n mapPosition: {\n camera: {\n lng: -100,\n lat: 38,\n altitude: 5000000,\n },\n },\n transformStyle,\n ...rest,\n },\n children\n ),\n ]),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.3de4dc43.js.map"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {SimpleUnitsColumn as $4c8184c4a7317749$export$2006342ddaa547c6} from "./
|
|
2
|
-
import {IsotopesColumn as $d5a3eba6c540ff58$export$5d8aa8022c284748} from "./
|
|
3
|
-
import {MacrostratColumnProvider as $
|
|
4
|
-
import $hEPNH$
|
|
5
|
-
import "./column.
|
|
1
|
+
import {SimpleUnitsColumn as $4c8184c4a7317749$export$2006342ddaa547c6} from "./column-views.343b5aa2.js";
|
|
2
|
+
import {IsotopesColumn as $d5a3eba6c540ff58$export$5d8aa8022c284748} from "./column-views.ac9fb5e1.js";
|
|
3
|
+
import {MacrostratColumnProvider as $774a5efa27d1c77b$export$9e42f9b6e0d67c7d} from "./column-views.28ee5f43.js";
|
|
4
|
+
import $hEPNH$columnviews94b5cca1js from "./column-views.94b5cca1.js";
|
|
5
|
+
import "./column-views.a7be0a4a.css";
|
|
6
6
|
import $hEPNH$macrostrathyper from "@macrostrat/hyper";
|
|
7
7
|
import {group as $hEPNH$group} from "d3-array";
|
|
8
8
|
import {useAPIResult as $hEPNH$useAPIResult} from "@macrostrat/ui-components";
|
|
@@ -22,7 +22,7 @@ function $parcel$interopDefault(a) {
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
const $132b1b0fb905c489$var$h = (0, $hEPNH$macrostrathyper).styled((0, ($parcel$interopDefault($hEPNH$
|
|
25
|
+
const $132b1b0fb905c489$var$h = (0, $hEPNH$macrostrathyper).styled((0, ($parcel$interopDefault($hEPNH$columnviews94b5cca1js))));
|
|
26
26
|
const $132b1b0fb905c489$var$AgeAxis = ({ ticks: ticks })=>{
|
|
27
27
|
const { pixelHeight: pixelHeight } = (0, $hEPNH$useContext)((0, $hEPNH$ColumnContext));
|
|
28
28
|
// A tick roughly every 40 pixels
|
|
@@ -46,7 +46,7 @@ const $132b1b0fb905c489$export$6e2c8f0811a474ce = (props)=>{
|
|
|
46
46
|
const targetHeight = 50 * data.length;
|
|
47
47
|
pixelScale = Math.ceil(targetHeight / dAge);
|
|
48
48
|
}
|
|
49
|
-
return $132b1b0fb905c489$var$h((0, $
|
|
49
|
+
return $132b1b0fb905c489$var$h((0, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d), {
|
|
50
50
|
divisions: data,
|
|
51
51
|
range: range,
|
|
52
52
|
pixelsPerMeter: pixelScale
|
|
@@ -114,4 +114,4 @@ var $132b1b0fb905c489$export$2e2bcd8739ae039 = $132b1b0fb905c489$var$Column;
|
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
export {$132b1b0fb905c489$export$6e2c8f0811a474ce as Section, $132b1b0fb905c489$export$2e2bcd8739ae039 as default};
|
|
117
|
-
//# sourceMappingURL=column.
|
|
117
|
+
//# sourceMappingURL=column-views.3f4db8cb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAS5B,MAAM,gCAAU,CAAC,SAAE,KAAK,EAAE;IACxB,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IAC/C,iCAAiC;IACjC,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,cAAc,KAAK;IAE/C,OAAO,wBAAE,CAAA,GAAA,iBAAS,GAAG;QACnB,OAAO;QACP,YAAY;IACd;AACF;AAEA,MAAM,4CAAU,CAAC;IACf,oCAAoC;IACpC,MAAM,QACJ,IAAI,kBACJ,iBAAiB,aACjB,QAAQ;QAAC,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,CAAC,KAAK;KAAC,EACrD,GAAG;IACJ,IAAI,cAAE,UAAU,EAAE,GAAG;IAErB,MAAM,cAAc;IAEpB,IAAI,CAAC,YAAY;QACf,wBAAwB;QACxB,MAAM,OAAO,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE;QAChC,MAAM,eAAe,KAAK,KAAK,MAAM;QACrC,aAAa,KAAK,IAAI,CAAC,eAAe;IACxC;IAEA,OAAO,wBACL,CAAA,GAAA,yCAAuB,GACvB;QACE,WAAW;eACX;QACA,gBAAgB;IAClB,GACA;QACE,wBACE,CAAA,GAAA,gBAAQ,GACR;YACE,OAAO;YACP,SAAS;YACT,YAAY;YACZ,eAAe;QACjB,GACA;YACE,wBAAE;YACF,wBAAE,CAAA,GAAA,yCAAgB,GAAG;gBACnB,OAAO;gBACP,aAAa;YACf;YACA,wBAAE,CAAA,GAAA,yCAAa,GAAG;gBAChB,WAAW;gBACX,OAAO;gBACP,OAAO;gBACP,aAAa;gBACb,QAAQ;gBACR,UAAU;gBACV,WAAW;YACb;YACA,wBAAE,CAAA,GAAA,yCAAa,GAAG;gBAChB,WAAW;gBACX,OAAO;gBACP,OAAO;gBACP,QAAQ;oBAAC;oBAAK;iBAAE;gBAChB,OAAO;gBACP,aAAa;gBACb,QAAQ;gBACR,UAAU;gBACV,WAAW;YACb;SACD;KAEJ;AAEL;AAIA,SAAS,6BAAO,KAA0D;IACxE,MAAM,UAAE,MAAM,EAAE,GAAG;IACnB,MAAM,OAAgB,CAAA,GAAA,mBAAW,EAAE,UAAU;QAC3C,KAAK;QACL,GAAG,MAAM;QACT,UAAU;IACZ;IACA,IAAI,QAAQ,MAAM,OAAO;IAEzB,IAAI,gBAAgB,MAAM,IAAI,CAAC,CAAA,GAAA,YAAI,EAAE,MAAM,CAAC,IAAM,EAAE,UAAU;IAE9D,kDAAkD;IAElD,OAAO,wBAAE,cAAc;QACrB,wBAAE,sBAAsB;QACxB,wBACE,mBACA,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;YAC/B,OAAO,wBAAE,CAAC,YAAY,EAAE,IAAI,EAAE;gBAC5B,wBAAE,2CAAS;oBACT,MAAM;oBACN,gBAAgB,KAAK,cAAc,MAAM,GAAG;gBAC9C;aACD;QACH;KAEH;AACH;IAGA,2CAAe","sources":["packages/column-views/src/carbon-isotopes/column.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { group } from \"d3-array\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport {\n ColumnSVG,\n ColumnAxis,\n ColumnContext,\n} from \"@macrostrat/column-components\";\nimport { SimpleUnitsColumn, IUnit } from \"../units\";\nimport { useContext } from \"react\";\nimport { IsotopesColumn } from \"./isotopes-column\";\nimport { MacrostratColumnProvider } from \"../data-provider\";\nimport styles from \"./column.module.sass\";\n\nconst h = hyper.styled(styles);\n\ninterface IColumnProps {\n data: IUnit[];\n pixelScale?: number;\n isOldestColumn: boolean;\n range?: [number, number];\n}\n\nconst AgeAxis = ({ ticks }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / 40), 1);\n\n return h(ColumnAxis, {\n ticks: v,\n showDomain: false,\n });\n};\n\nconst Section = (props: IColumnProps) => {\n // Section with \"squishy\" time scale\n const {\n data,\n isOldestColumn = true,\n range = [data[data.length - 1].b_age, data[0].t_age],\n } = props;\n let { pixelScale } = props;\n\n const notesOffset = 100;\n\n if (!pixelScale) {\n // Make up a pixel scale\n const dAge = range[0] - range[1];\n const targetHeight = 50 * data.length;\n pixelScale = Math.ceil(targetHeight / dAge);\n }\n\n return h(\n MacrostratColumnProvider,\n {\n divisions: data,\n range,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n },\n [\n h(\n ColumnSVG,\n {\n width: 650,\n padding: 20,\n paddingTop: 5,\n paddingBottom: 25,\n },\n [\n h(AgeAxis),\n h(SimpleUnitsColumn, {\n width: 400,\n columnWidth: 90,\n }),\n h(IsotopesColumn, {\n parameter: \"D13C\",\n label: \"δ¹³C\",\n width: 100,\n // @ts-ignore\n nTicks: 4,\n showAxis: isOldestColumn,\n transform: \"translate(250,0)\",\n }),\n h(IsotopesColumn, {\n parameter: \"D18O\",\n label: \"δ¹⁸O\",\n color: \"red\",\n domain: [-40, 0],\n width: 100,\n // @ts-ignore\n nTicks: 4,\n showAxis: isOldestColumn,\n transform: \"translate(370,0)\",\n }),\n ]\n ),\n ]\n );\n};\n\ntype ColumnArgs = any;\n\nfunction Column(props: Omit<IColumnProps, \"data\"> & { params: ColumnArgs }) {\n const { params } = props;\n const data: IUnit[] = useAPIResult(\"/units\", {\n all: true,\n ...params,\n response: \"long\",\n });\n if (data == null) return null;\n\n let sectionGroups = Array.from(group(data, (d) => d.section_id));\n\n //sectionGroups.sort((a, b) => a.t_age - b.t_age);\n\n return h(\"div.column\", [\n h(\"div.age-axis-label\", \"Age (Ma)\"),\n h(\n \"div.main-column\",\n sectionGroups.map(([id, values], i) => {\n return h(`div.section-${id}`, [\n h(Section, {\n data: values,\n isOldestColumn: i == sectionGroups.length - 1,\n }),\n ]);\n })\n ),\n ]);\n}\n\nexport { Section, IColumnProps };\nexport default Column;\n"],"names":[],"version":3,"file":"column-views.3f4db8cb.js.map"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.30646469.js";
|
|
2
|
+
import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.33dbc778.js";
|
|
3
|
+
import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
|
|
4
|
+
import {useMapClickHandler as $6wt91$useMapClickHandler, useMapStyleOperator as $6wt91$useMapStyleOperator, useMapEaseTo as $6wt91$useMapEaseTo} from "@macrostrat/mapbox-react";
|
|
5
|
+
import {LngLatBounds as $6wt91$LngLatBounds} from "mapbox-gl";
|
|
6
|
+
import $6wt91$macrostrathyper from "@macrostrat/hyper";
|
|
7
|
+
import {useMemo as $6wt91$useMemo} from "react";
|
|
8
|
+
import {setGeoJSON as $6wt91$setGeoJSON} from "@macrostrat/mapbox-utils";
|
|
9
|
+
import {buildCrossSectionLayers as $6wt91$buildCrossSectionLayers} from "@macrostrat/map-styles";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
function $dcd183b733f66144$export$8e7d97509e84cc49(props) {
|
|
20
|
+
const { padding: padding = 50, children: children, columnColor: columnColor, ...rest } = props;
|
|
21
|
+
const overlayStyles = (0, $6wt91$useMemo)(()=>{
|
|
22
|
+
return [
|
|
23
|
+
(0, $1dbfddc9637b572c$export$d2995719c3a4ae17)(columnColor),
|
|
24
|
+
$dcd183b733f66144$var$selectedColumnsStyle,
|
|
25
|
+
$dcd183b733f66144$var$lineOfSectionStyle
|
|
26
|
+
];
|
|
27
|
+
}, [
|
|
28
|
+
columnColor
|
|
29
|
+
]);
|
|
30
|
+
return (0, $6wt91$macrostrathyper)((0, $5593f90ffec284da$export$1e8149fc0d15fed0), {
|
|
31
|
+
...rest,
|
|
32
|
+
boxZoom: false,
|
|
33
|
+
dragRotate: false,
|
|
34
|
+
overlayStyles: overlayStyles
|
|
35
|
+
}, [
|
|
36
|
+
(0, $6wt91$macrostrathyper)($dcd183b733f66144$var$ColumnsLayer),
|
|
37
|
+
(0, $6wt91$macrostrathyper)($dcd183b733f66144$var$SelectedColumnsLayer),
|
|
38
|
+
(0, $6wt91$macrostrathyper)($dcd183b733f66144$var$MapClickHandler),
|
|
39
|
+
(0, $6wt91$macrostrathyper)($dcd183b733f66144$var$SectionLine, {
|
|
40
|
+
padding: padding
|
|
41
|
+
}),
|
|
42
|
+
children
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
function $dcd183b733f66144$var$MapClickHandler() {
|
|
46
|
+
const onClickMap = (0, $74e211dc185c20b4$export$21398703d3a9bb4d)((state)=>state.onClickMap);
|
|
47
|
+
(0, $6wt91$useMapClickHandler)((e)=>{
|
|
48
|
+
onClickMap(e, {
|
|
49
|
+
type: "Point",
|
|
50
|
+
coordinates: e.lngLat.toArray()
|
|
51
|
+
});
|
|
52
|
+
}, [
|
|
53
|
+
onClickMap
|
|
54
|
+
]);
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
function $dcd183b733f66144$var$SelectedColumnsLayer() {
|
|
58
|
+
const focusedColumns = (0, $74e211dc185c20b4$export$21398703d3a9bb4d)((state)=>state.focusedColumns);
|
|
59
|
+
(0, $6wt91$useMapStyleOperator)((map)=>{
|
|
60
|
+
let features = focusedColumns;
|
|
61
|
+
const data = {
|
|
62
|
+
type: "FeatureCollection",
|
|
63
|
+
features: features
|
|
64
|
+
};
|
|
65
|
+
const columnCentroidLine = {
|
|
66
|
+
type: "Feature",
|
|
67
|
+
geometry: {
|
|
68
|
+
type: "LineString",
|
|
69
|
+
coordinates: features.map((col)=>col.properties.centroid.geometry.coordinates)
|
|
70
|
+
},
|
|
71
|
+
properties: {}
|
|
72
|
+
};
|
|
73
|
+
(0, $6wt91$setGeoJSON)(map, "selected-columns", data);
|
|
74
|
+
(0, $6wt91$setGeoJSON)(map, "selected-column-centroids", {
|
|
75
|
+
type: "FeatureCollection",
|
|
76
|
+
features: [
|
|
77
|
+
columnCentroidLine
|
|
78
|
+
]
|
|
79
|
+
});
|
|
80
|
+
}, [
|
|
81
|
+
focusedColumns
|
|
82
|
+
]);
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
function $dcd183b733f66144$var$ColumnsLayer({ enabled: enabled = true }) {
|
|
86
|
+
const columns = (0, $74e211dc185c20b4$export$21398703d3a9bb4d)((state)=>state.columns);
|
|
87
|
+
(0, $6wt91$useMapStyleOperator)((map)=>{
|
|
88
|
+
if (columns == null) return;
|
|
89
|
+
const data = {
|
|
90
|
+
type: "FeatureCollection",
|
|
91
|
+
features: columns
|
|
92
|
+
};
|
|
93
|
+
console.log(" columns", data);
|
|
94
|
+
(0, $6wt91$setGeoJSON)(map, "columns", data);
|
|
95
|
+
}, [
|
|
96
|
+
columns,
|
|
97
|
+
enabled
|
|
98
|
+
]);
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const $dcd183b733f66144$var$selectedColumnsStyle = {
|
|
102
|
+
sources: {
|
|
103
|
+
"selected-columns": $dcd183b733f66144$var$buildGeoJSONSource(),
|
|
104
|
+
"selected-column-centroids": $dcd183b733f66144$var$buildGeoJSONSource()
|
|
105
|
+
},
|
|
106
|
+
layers: [
|
|
107
|
+
{
|
|
108
|
+
id: "selected-columns-fill",
|
|
109
|
+
type: "fill",
|
|
110
|
+
source: "selected-columns",
|
|
111
|
+
paint: {
|
|
112
|
+
"fill-color": "rgba(255, 0, 0, 0.1)"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: "selected-column-centroids-line",
|
|
117
|
+
type: "line",
|
|
118
|
+
source: "selected-column-centroids",
|
|
119
|
+
paint: {
|
|
120
|
+
"line-color": "rgba(255, 0, 0, 0.8)",
|
|
121
|
+
"line-width": 2,
|
|
122
|
+
"line-dasharray": [
|
|
123
|
+
2,
|
|
124
|
+
2
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: "selected-column-centroids-points",
|
|
130
|
+
type: "circle",
|
|
131
|
+
source: "selected-column-centroids",
|
|
132
|
+
paint: {
|
|
133
|
+
"circle-radius": 4,
|
|
134
|
+
"circle-color": "rgba(255, 0, 0, 0.8)"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
};
|
|
139
|
+
const $dcd183b733f66144$var$lineOfSectionStyle = {
|
|
140
|
+
sources: {
|
|
141
|
+
elevationMarker: $dcd183b733f66144$var$buildGeoJSONSource(),
|
|
142
|
+
crossSectionLine: $dcd183b733f66144$var$buildGeoJSONSource(),
|
|
143
|
+
crossSectionEndpoints: $dcd183b733f66144$var$buildGeoJSONSource()
|
|
144
|
+
},
|
|
145
|
+
layers: (0, $6wt91$buildCrossSectionLayers)()
|
|
146
|
+
};
|
|
147
|
+
function $dcd183b733f66144$var$buildGeoJSONSource(data = null) {
|
|
148
|
+
return {
|
|
149
|
+
type: "geojson",
|
|
150
|
+
data: data ?? {
|
|
151
|
+
type: "FeatureCollection",
|
|
152
|
+
features: []
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function $dcd183b733f66144$var$SectionLine({ padding: padding }) {
|
|
157
|
+
const focusedLine = (0, $74e211dc185c20b4$export$21398703d3a9bb4d)((state)=>state.focusedLine);
|
|
158
|
+
// Setup focused line
|
|
159
|
+
(0, $6wt91$useMapStyleOperator)((map)=>{
|
|
160
|
+
if (focusedLine == null) return;
|
|
161
|
+
const data = {
|
|
162
|
+
type: "FeatureCollection",
|
|
163
|
+
features: [
|
|
164
|
+
{
|
|
165
|
+
type: "Feature",
|
|
166
|
+
geometry: focusedLine,
|
|
167
|
+
properties: {
|
|
168
|
+
id: "focusedLine"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
};
|
|
173
|
+
(0, $6wt91$setGeoJSON)(map, "crossSectionLine", data);
|
|
174
|
+
(0, $6wt91$setGeoJSON)(map, "crossSectionEndpoints", {
|
|
175
|
+
type: "FeatureCollection",
|
|
176
|
+
features: focusedLine.coordinates.map((coord)=>({
|
|
177
|
+
type: "Feature",
|
|
178
|
+
geometry: {
|
|
179
|
+
type: "Point",
|
|
180
|
+
coordinates: coord
|
|
181
|
+
},
|
|
182
|
+
properties: {}
|
|
183
|
+
}))
|
|
184
|
+
});
|
|
185
|
+
}, [
|
|
186
|
+
focusedLine
|
|
187
|
+
]);
|
|
188
|
+
const bounds = (0, $6wt91$useMemo)(()=>{
|
|
189
|
+
if (focusedLine == null || focusedLine?.coordinates.length < 2) return null;
|
|
190
|
+
let bounds = new (0, $6wt91$LngLatBounds)();
|
|
191
|
+
for (let coord of focusedLine.coordinates)bounds.extend(coord);
|
|
192
|
+
return bounds;
|
|
193
|
+
}, [
|
|
194
|
+
focusedLine
|
|
195
|
+
]);
|
|
196
|
+
(0, $6wt91$useMapEaseTo)({
|
|
197
|
+
bounds: bounds,
|
|
198
|
+
padding: padding,
|
|
199
|
+
trackResize: true
|
|
200
|
+
});
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap};
|
|
206
|
+
//# sourceMappingURL=column-views.40c1f361.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;AAuBO,SAAS,0CAAqB,KAA0B;IAC7D,MAAM,WAAE,UAAU,cAAI,QAAQ,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IAEzD,MAAM,gBAAgB,CAAA,GAAA,cAAM,EAAE;QAC5B,OAAO;YACL,CAAA,GAAA,yCAAgB,EAAE;YAClB;YACA;SACD;IACH,GAAG;QAAC;KAAY;IAEhB,OAAO,CAAA,GAAA,sBAAA,EACL,CAAA,GAAA,yCAAO,GACP;QACE,GAAG,IAAI;QACP,SAAS;QACT,YAAY;uBACZ;IACF,GACA;QACE,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE,mCAAa;qBAAE;QAAQ;QACzB;KACD;AAEL;AAEA,SAAS;IACP,MAAM,aAAa,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,UAAU;IAErE,CAAA,GAAA,yBAAiB,EACf,CAAC;QACC,WAAW,GAAG;YAAE,MAAM;YAAS,aAAa,EAAE,MAAM,CAAC,OAAO;QAAG;IACjE,GACA;QAAC;KAAW;IAGd,OAAO;AACT;AAEA,SAAS;IACP,MAAM,iBAAiB,CAAA,GAAA,yCAAqB,EAC1C,CAAC,QAAU,MAAM,cAAc;IAGjC,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW;QAEf,MAAM,OAA0B;YAC9B,MAAM;sBACN;QACF;QAEA,MAAM,qBAA8B;YAClC,MAAM;YACN,UAAU;gBACR,MAAM;gBACN,aAAa,SAAS,GAAG,CACvB,CAAC,MAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW;YAEzD;YACA,YAAY,CAAC;QACf;QAEA,CAAA,GAAA,iBAAS,EAAE,KAAK,oBAAoB;QACpC,CAAA,GAAA,iBAAS,EAAE,KAAK,6BAA6B;YAC3C,MAAM;YACN,UAAU;gBAAC;aAAmB;QAChC;IACF,GACA;QAAC;KAAe;IAElB,OAAO;AACT;AAEA,SAAS,mCAAa,WAAE,UAAU,MAAM;IACtC,MAAM,UAAU,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,OAAO;IAE/D,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW,MACb;QAEF,MAAM,OAA0B;YAC9B,MAAM;YACN,UAAU;QACZ;QAEA,QAAQ,GAAG,CAAC,YAAY;QACxB,CAAA,GAAA,iBAAS,EAAE,KAAK,WAAW;IAC7B,GACA;QAAC;QAAS;KAAQ;IAEpB,OAAO;AACT;AAEA,MAAM,6CAAuB;IAC3B,SAAS;QACP,oBAAoB;QACpB,6BAA6B;IAC/B;IACA,QAAQ;QACN;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;YAChB;QACF;QACA;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;gBACd,cAAc;gBACd,kBAAkB;oBAAC;oBAAG;iBAAE;YAC1B;QACF;QACA;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,iBAAiB;gBACjB,gBAAgB;YAClB;QACF;KACD;AACH;AAEA,MAAM,2CAAqB;IACzB,SAAS;QACP,iBAAiB;QACjB,kBAAkB;QAClB,uBAAuB;IACzB;IACA,QAAQ,CAAA,GAAA,8BAAsB;AAChC;AAEA,SAAS,yCAAmB,OAAiC,IAAI;IAC/D,OAAO;QACL,MAAM;QACN,MAAM,QAAQ;YACZ,MAAM;YACN,UAAU,EAAE;QACd;IACF;AACF;AAEA,SAAS,kCAAY,WAAE,OAAO,EAAuB;IACnD,MAAM,cAAc,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,WAAW;IAEvE,qBAAqB;IACrB,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,eAAe,MACjB;QAEF,MAAM,OAA0B;YAC9B,MAAM;YACN,UAAU;gBACR;oBACE,MAAM;oBACN,UAAU;oBACV,YAAY;wBAAE,IAAI;oBAAc;gBAClC;aACD;QACH;QAEA,CAAA,GAAA,iBAAS,EAAE,KAAK,oBAAoB;QACpC,CAAA,GAAA,iBAAS,EAAE,KAAK,yBAAyB;YACvC,MAAM;YACN,UAAU,YAAY,WAAW,CAAC,GAAG,CAAC,CAAC,QAAW,CAAA;oBAChD,MAAM;oBACN,UAAU;wBAAE,MAAM;wBAAS,aAAa;oBAAM;oBAC9C,YAAY,CAAC;gBACf,CAAA;QACF;IACF,GACA;QAAC;KAAY;IAGf,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE;QACrB,IAAI,eAAe,QAAQ,aAAa,YAAY,SAAS,GAC3D,OAAO;QAET,IAAI,SAAS,IAAI,CAAA,GAAA,mBAAW;QAC5B,KAAK,IAAI,SAAS,YAAY,WAAW,CACvC,OAAO,MAAM,CAAC;QAEhB,OAAO;IACT,GAAG;QAAC;KAAY;IAEhB,CAAA,GAAA,mBAAW,EAAE;gBAAE;iBAAQ;QAAS,aAAa;IAAK;IAElD,OAAO;AACT","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import { MapViewProps } from \"@macrostrat/map-interface\";\nimport {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles = useMemo(() => {\n return [\n buildColumnsStyle(columnColor),\n selectedColumnsStyle,\n lineOfSectionStyle,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ]\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap]\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns]\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled]\n );\n return null;\n}\n\nconst selectedColumnsStyle = {\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle = {\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction buildGeoJSONSource(data: FeatureCollection | null = null) {\n return {\n type: \"geojson\",\n data: data ?? {\n type: \"FeatureCollection\",\n features: [],\n },\n };\n}\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine]\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.40c1f361.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;AAAA,IAAA;AAAA,4CAA+B,CAAC,iBAAiB,CAAC","sources":["packages/column-views/src/units/composite.module.sass"],"sourcesContent":[".unit-label\n text-align: center\n"],"names":[],"version":3,"file":"
|
|
1
|
+
{"mappings":";;;;;;;AAAA,IAAA;AAAA,4CAA+B,CAAC,iBAAiB,CAAC","sources":["packages/column-views/src/units/composite.module.sass"],"sourcesContent":[".unit-label\n text-align: center\n"],"names":[],"version":3,"file":"column-views.40cd59b5.js.map"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
|
|
2
|
+
function $parcel$export(e, n, v, s) {
|
|
3
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
4
|
+
}
|
|
5
|
+
var $6cbea5de739af804$exports = {};
|
|
6
|
+
|
|
7
|
+
$parcel$export($6cbea5de739af804$exports, "column-container", () => $6cbea5de739af804$export$e908cef0cccb98df, (v) => $6cbea5de739af804$export$e908cef0cccb98df = v);
|
|
8
|
+
$parcel$export($6cbea5de739af804$exports, "timescale-column", () => $6cbea5de739af804$export$82c2e1a892d790ab, (v) => $6cbea5de739af804$export$82c2e1a892d790ab = v);
|
|
9
|
+
$parcel$export($6cbea5de739af804$exports, "section-main", () => $6cbea5de739af804$export$add6075ee40659c8, (v) => $6cbea5de739af804$export$add6075ee40659c8 = v);
|
|
10
|
+
$parcel$export($6cbea5de739af804$exports, "section-units-container", () => $6cbea5de739af804$export$37c0a390e37eb2da, (v) => $6cbea5de739af804$export$37c0a390e37eb2da = v);
|
|
11
|
+
$parcel$export($6cbea5de739af804$exports, "main-column", () => $6cbea5de739af804$export$9c88f9a435c40ccb, (v) => $6cbea5de739af804$export$9c88f9a435c40ccb = v);
|
|
12
|
+
$parcel$export($6cbea5de739af804$exports, "unconformity-labels", () => $6cbea5de739af804$export$d726faed2da21993, (v) => $6cbea5de739af804$export$d726faed2da21993 = v);
|
|
13
|
+
$parcel$export($6cbea5de739af804$exports, "unconformity", () => $6cbea5de739af804$export$7b4a6d978979c0fa, (v) => $6cbea5de739af804$export$7b4a6d978979c0fa = v);
|
|
14
|
+
$parcel$export($6cbea5de739af804$exports, "giga", () => $6cbea5de739af804$export$197e40aa3a484017, (v) => $6cbea5de739af804$export$197e40aa3a484017 = v);
|
|
15
|
+
$parcel$export($6cbea5de739af804$exports, "mega", () => $6cbea5de739af804$export$580f1e8cf64f2815, (v) => $6cbea5de739af804$export$580f1e8cf64f2815 = v);
|
|
16
|
+
$parcel$export($6cbea5de739af804$exports, "large", () => $6cbea5de739af804$export$f09585a853dddd32, (v) => $6cbea5de739af804$export$f09585a853dddd32 = v);
|
|
17
|
+
$parcel$export($6cbea5de739af804$exports, "small", () => $6cbea5de739af804$export$3c17b0e969a90510, (v) => $6cbea5de739af804$export$3c17b0e969a90510 = v);
|
|
18
|
+
$parcel$export($6cbea5de739af804$exports, "unconformity-text", () => $6cbea5de739af804$export$925235908943319a, (v) => $6cbea5de739af804$export$925235908943319a = v);
|
|
19
|
+
var $6cbea5de739af804$export$e908cef0cccb98df;
|
|
20
|
+
var $6cbea5de739af804$export$82c2e1a892d790ab;
|
|
21
|
+
var $6cbea5de739af804$export$add6075ee40659c8;
|
|
22
|
+
var $6cbea5de739af804$export$37c0a390e37eb2da;
|
|
23
|
+
var $6cbea5de739af804$export$9c88f9a435c40ccb;
|
|
24
|
+
var $6cbea5de739af804$export$d726faed2da21993;
|
|
25
|
+
var $6cbea5de739af804$export$7b4a6d978979c0fa;
|
|
26
|
+
var $6cbea5de739af804$export$197e40aa3a484017;
|
|
27
|
+
var $6cbea5de739af804$export$580f1e8cf64f2815;
|
|
28
|
+
var $6cbea5de739af804$export$f09585a853dddd32;
|
|
29
|
+
var $6cbea5de739af804$export$3c17b0e969a90510;
|
|
30
|
+
var $6cbea5de739af804$export$925235908943319a;
|
|
31
|
+
$6cbea5de739af804$export$e908cef0cccb98df = "column-container_afc440";
|
|
32
|
+
$6cbea5de739af804$export$82c2e1a892d790ab = "timescale-column_afc440";
|
|
33
|
+
$6cbea5de739af804$export$add6075ee40659c8 = "section-main_afc440";
|
|
34
|
+
$6cbea5de739af804$export$37c0a390e37eb2da = "section-units-container_afc440";
|
|
35
|
+
$6cbea5de739af804$export$9c88f9a435c40ccb = "main-column_afc440";
|
|
36
|
+
$6cbea5de739af804$export$d726faed2da21993 = "unconformity-labels_afc440";
|
|
37
|
+
$6cbea5de739af804$export$7b4a6d978979c0fa = "unconformity_afc440";
|
|
38
|
+
$6cbea5de739af804$export$197e40aa3a484017 = "giga_afc440";
|
|
39
|
+
$6cbea5de739af804$export$580f1e8cf64f2815 = "mega_afc440";
|
|
40
|
+
$6cbea5de739af804$export$f09585a853dddd32 = "large_afc440";
|
|
41
|
+
$6cbea5de739af804$export$3c17b0e969a90510 = "small_afc440";
|
|
42
|
+
$6cbea5de739af804$export$925235908943319a = "unconformity-text_afc440";
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
export {$6cbea5de739af804$exports as default};
|
|
46
|
+
//# sourceMappingURL=column-views.4637f4ce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAXA,4CAAqC;AACrC,4CAAqC;AACrC,4CAAiC;AACjC,4CAA4C;AAC5C,4CAAgC;AAChC,4CAAwC;AACxC,4CAAiC;AACjC,4CAAyB;AACzB,4CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAAsC","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-emphasized-color, #000)\n --column-text-color: var(--text-emphasized-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n .selection-overlay\n fill: var(--selection-overlay-color, red)\n fill-opacity: var(--selection-overlay-opacity, 0.5)\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n margin-top: 3px\n padding: 2px\n padding-left: 3px\n line-height: 9px\n border-left: none !important\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global(.timescale)\n width: calc(calc(1.5em + 1.5px) * var(--timescale-level-count, 4))\n --timescale-level-size: 1.5em\n\n.timescale-column\n position: relative\n\n.section-main\n position: relative\n margin-bottom: -4px\n\n.section-units-container\n position: relative\n\n.main-column\n position: relative\n\n.unconformity-labels\n position: absolute\n top: 0\n left: 0\n pointer-events: none\n\n\n.unconformity\n text-align: center\n position: absolute\n top: 0px\n display: flex\n justify-content: center\n align-items: center\n font-size: 0.8em\n &.giga\n font-weight: 800\n font-size: 1em\n &.mega\n font-weight: 600\n font-weight: 700\n font-size: 0.9em\n &.large\n font-weight: 600\n &.small\n font-weight: 300\n\n\n.unconformity-text\n width: var(--column-width)\n color: var(--column-stroke-color)\n --unit-font-style: normal\n\n\n"],"names":[],"version":3,"file":"column-views.4637f4ce.js.map"}
|