@macrostrat/column-views 1.0.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/esm/_shared.f7eec55a.js +9 -0
- package/dist/esm/_shared.f7eec55a.js.map +1 -0
- package/dist/esm/age-axis.4a8cf5e6.js +98 -0
- package/dist/esm/age-axis.4a8cf5e6.js.map +1 -0
- package/dist/esm/age-axis.module.03773a80.css +33 -0
- package/dist/esm/age-axis.module.03773a80.css.map +1 -0
- package/dist/esm/age-axis.module.3cc91335.js +22 -0
- package/dist/esm/age-axis.module.3cc91335.js.map +1 -0
- package/dist/esm/age-model-overlay.c7226855.js +57 -0
- package/dist/esm/age-model-overlay.c7226855.js.map +1 -0
- package/dist/esm/age-model-overlay.module.5d9e78fb.css +14 -0
- package/dist/esm/age-model-overlay.module.5d9e78fb.css.map +1 -0
- package/dist/esm/age-model-overlay.module.cd985dcb.js +16 -0
- package/dist/esm/age-model-overlay.module.cd985dcb.js.map +1 -0
- package/dist/esm/base.910b80b4.js +288 -0
- package/dist/esm/base.910b80b4.js.map +1 -0
- package/dist/esm/boxes.8292cff2.js +258 -0
- package/dist/esm/boxes.8292cff2.js.map +1 -0
- package/dist/esm/boxes.module.2b5fb18e.css +26 -0
- package/dist/esm/boxes.module.2b5fb18e.css.map +1 -0
- package/dist/esm/boxes.module.4ebc7796.js +19 -0
- package/dist/esm/boxes.module.4ebc7796.js.map +1 -0
- package/dist/esm/{carbon-isotopes.3b502a9e.js → carbon-isotopes.10db8285.js} +2 -2
- package/dist/esm/{carbon-isotopes.3b502a9e.js.map → carbon-isotopes.10db8285.js.map} +1 -1
- package/dist/esm/colors.395c6db5.js +40 -0
- package/dist/esm/colors.395c6db5.js.map +1 -0
- package/dist/esm/column-correlation.c8dcfe98.js +9 -0
- package/dist/esm/column-correlation.c8dcfe98.js.map +1 -0
- package/dist/esm/column-nav.5414677c.js +55 -0
- package/dist/esm/column-nav.5414677c.js.map +1 -0
- package/dist/esm/column-navigation.37cd3245.js +9 -0
- package/dist/esm/column-navigation.37cd3245.js.map +1 -0
- package/dist/esm/column.01d68dd8.js +127 -0
- package/dist/esm/column.01d68dd8.js.map +1 -0
- package/dist/esm/{column.db058031.js → column.a25f8ebd.js} +4 -4
- package/dist/esm/column.a25f8ebd.js.map +1 -0
- package/dist/esm/column.module.1b776e15.js +46 -0
- package/dist/esm/column.module.1b776e15.js.map +1 -0
- package/dist/esm/column.module.a67a6b4c.css +159 -0
- package/dist/esm/column.module.a67a6b4c.css.map +1 -0
- package/dist/esm/composite-scale.577bf64a.js +222 -0
- package/dist/esm/composite-scale.577bf64a.js.map +1 -0
- package/dist/esm/composite.039e4798.js +163 -0
- package/dist/esm/composite.039e4798.js.map +1 -0
- package/dist/esm/{core.4db8e452.js → core.843310d3.js} +11 -12
- package/dist/esm/core.843310d3.js.map +1 -0
- package/dist/esm/core.91ede078.js +206 -0
- package/dist/esm/core.91ede078.js.map +1 -0
- package/dist/esm/correlation-chart.abd8b346.js +9 -0
- package/dist/esm/correlation-chart.abd8b346.js.map +1 -0
- package/dist/esm/data-provider.1506eb64.js.map +1 -1
- package/dist/esm/data-provider.f10c6d0b.js +13 -0
- package/dist/esm/data-provider.f10c6d0b.js.map +1 -0
- package/dist/esm/fetch.99aec438.js +152 -0
- package/dist/esm/fetch.99aec438.js.map +1 -0
- package/dist/esm/hash-string.285b37fb.js +39 -0
- package/dist/esm/hash-string.285b37fb.js.map +1 -0
- package/dist/esm/helpers.2f0a0cb7.js +141 -0
- package/dist/esm/helpers.2f0a0cb7.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/esm/inset-map.3c18106d.js +66 -0
- package/dist/esm/inset-map.3c18106d.js.map +1 -0
- package/dist/esm/keyboard-navigation.6713401b.js +48 -0
- package/dist/esm/keyboard-navigation.6713401b.js.map +1 -0
- package/dist/esm/keyboard-navigation.a9fc80dd.js +112 -0
- package/dist/esm/keyboard-navigation.a9fc80dd.js.map +1 -0
- package/dist/esm/layers.033d3fb0.js +170 -0
- package/dist/esm/layers.033d3fb0.js.map +1 -0
- package/dist/esm/main.2e0375a5.js +221 -0
- package/dist/esm/main.2e0375a5.js.map +1 -0
- package/dist/esm/main.module.3dd9500b.css +134 -0
- package/dist/esm/main.module.3dd9500b.css.map +1 -0
- package/dist/esm/main.module.c09154b1.js +70 -0
- package/dist/esm/main.module.c09154b1.js.map +1 -0
- package/dist/esm/mapbox.cac42eed.js +167 -0
- package/dist/esm/mapbox.cac42eed.js.map +1 -0
- package/dist/esm/maps.bcdea9c1.js +11 -0
- package/dist/esm/maps.bcdea9c1.js.map +1 -0
- package/dist/esm/{names.f6a4e9a4.js → names.a8f2b452.js} +5 -5
- package/dist/esm/names.a8f2b452.js.map +1 -0
- package/dist/esm/panel.598f76a5.js +420 -0
- package/dist/esm/panel.598f76a5.js.map +1 -0
- package/dist/esm/panel.module.386166cc.js +58 -0
- package/dist/esm/panel.module.386166cc.js.map +1 -0
- package/dist/esm/panel.module.3d2ea3c6.css +111 -0
- package/dist/esm/panel.module.3d2ea3c6.css.map +1 -0
- package/dist/esm/popover.a810b7bc.js +66 -0
- package/dist/esm/popover.a810b7bc.js.map +1 -0
- package/dist/esm/popover.module.c4ba4189.js +22 -0
- package/dist/esm/popover.module.c4ba4189.js.map +1 -0
- package/dist/esm/{selection-popover.module.0a701258.css → popover.module.c4d6bfb0.css} +11 -8
- package/dist/esm/popover.module.c4d6bfb0.css.map +1 -0
- package/dist/esm/prepare-data.d4284b4a.js +125 -0
- package/dist/esm/prepare-data.d4284b4a.js.map +1 -0
- package/dist/esm/prepare-units.6c890a96.js +104 -0
- package/dist/esm/prepare-units.6c890a96.js.map +1 -0
- package/dist/esm/{resolvers.b5c82b78.js → resolvers.36013b49.js} +13 -2
- package/dist/esm/resolvers.36013b49.js.map +1 -0
- package/dist/esm/section.a34d379a.js +215 -0
- package/dist/esm/section.a34d379a.js.map +1 -0
- package/dist/esm/selection.f5b0297e.js +143 -0
- package/dist/esm/selection.f5b0297e.js.map +1 -0
- package/dist/esm/state.178ef364.js +75 -0
- package/dist/esm/state.178ef364.js.map +1 -0
- package/dist/esm/state.2952cbca.js +118 -0
- package/dist/esm/state.2952cbca.js.map +1 -0
- package/dist/esm/store.c4d7a8a4.js +52 -0
- package/dist/esm/store.c4d7a8a4.js.map +1 -0
- package/dist/esm/styles.7bc776d1.js +95 -0
- package/dist/esm/styles.7bc776d1.js.map +1 -0
- package/dist/esm/svg.4b9a96c1.js +89 -0
- package/dist/esm/svg.4b9a96c1.js.map +1 -0
- package/dist/esm/types.0f0b57c9.js +3 -0
- package/dist/esm/types.0f0b57c9.js.map +1 -0
- package/dist/esm/unit-details.071cefed.js +9 -0
- package/dist/esm/unit-details.071cefed.js.map +1 -0
- package/dist/esm/units.5a4fc058.js +98 -0
- package/dist/esm/units.5a4fc058.js.map +1 -0
- package/dist/esm/utils.d7a43a2a.js +55 -0
- package/dist/esm/utils.d7a43a2a.js.map +1 -0
- package/dist/node/index.js.map +1 -1
- package/package.json +24 -7
- 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 +11 -0
- 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/core.4db8e452.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
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e} from "./composite.608a4ca2.js";
|
|
2
|
-
import {AgeAxis as $43794af7643cdf40$export$25ce20521d0ab97d} from "./age-axis.64c509ee.js";
|
|
3
|
-
import {MacrostratColumnProvider as $29bf41d89292aad4$export$9e42f9b6e0d67c7d} from "./providers.cd1e652f.js";
|
|
4
|
-
import $7zu8d$columnmodulee632868ajs from "./column.module.e632868a.js";
|
|
5
|
-
import "./column.module.039d872c.css";
|
|
6
|
-
import {useMemo as $7zu8d$useMemo} from "react";
|
|
7
|
-
import {Timescale as $7zu8d$Timescale, TimescaleOrientation as $7zu8d$TimescaleOrientation} from "@macrostrat/timescale";
|
|
8
|
-
import {ColumnSVG as $7zu8d$ColumnSVG} from "@macrostrat/column-components";
|
|
9
|
-
import $7zu8d$macrostrathyper from "@macrostrat/hyper";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function $parcel$interopDefault(a) {
|
|
13
|
-
return a && a.__esModule ? a.default : a;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const $7d0f52717c0de7e1$var$h = (0, $7zu8d$macrostrathyper).styled((0, ($parcel$interopDefault($7zu8d$columnmodulee632868ajs))));
|
|
24
|
-
function $7d0f52717c0de7e1$export$6e2c8f0811a474ce(props) {
|
|
25
|
-
// Section with "squishy" time scale
|
|
26
|
-
const { data: data, range: _range, pixelScale: _pixelScale, unitComponent: unitComponent, showLabels: showLabels = true, targetUnitHeight: targetUnitHeight = 20, width: width = 300, columnWidth: columnWidth = 150, unitComponentProps: unitComponentProps, showLabelColumn: showLabelColumn = true } = props;
|
|
27
|
-
const b_age = Math.max(...data.map((d)=>d.b_age));
|
|
28
|
-
const t_age = Math.min(...data.map((d)=>d.t_age));
|
|
29
|
-
const range = (0, $7zu8d$useMemo)(()=>{
|
|
30
|
-
if (_range == null) return [
|
|
31
|
-
b_age,
|
|
32
|
-
t_age
|
|
33
|
-
];
|
|
34
|
-
return _range;
|
|
35
|
-
}, [
|
|
36
|
-
_range,
|
|
37
|
-
b_age,
|
|
38
|
-
t_age
|
|
39
|
-
]);
|
|
40
|
-
const dAge = (0, $7zu8d$useMemo)(()=>range[0] - range[1], [
|
|
41
|
-
range
|
|
42
|
-
]);
|
|
43
|
-
const pixelScale = (0, $7zu8d$useMemo)(()=>{
|
|
44
|
-
if (_pixelScale != null) return _pixelScale;
|
|
45
|
-
const targetHeight = targetUnitHeight * data.length;
|
|
46
|
-
return Math.ceil(targetHeight / dAge);
|
|
47
|
-
}, [
|
|
48
|
-
_pixelScale,
|
|
49
|
-
targetUnitHeight,
|
|
50
|
-
data.length,
|
|
51
|
-
dAge
|
|
52
|
-
]);
|
|
53
|
-
const height = (0, $7zu8d$useMemo)(()=>dAge * pixelScale, [
|
|
54
|
-
dAge,
|
|
55
|
-
pixelScale
|
|
56
|
-
]);
|
|
57
|
-
/** Ensure that we can arrange units into the maximum number
|
|
58
|
-
* of columns defined by unitComponentProps, but that we don't
|
|
59
|
-
* use more than necessary.
|
|
60
|
-
*/ const _unitComponentProps = (0, $7zu8d$useMemo)(()=>{
|
|
61
|
-
return {
|
|
62
|
-
...unitComponentProps,
|
|
63
|
-
nColumns: Math.min(Math.max(...data.map((d)=>d.column)) + 1, unitComponentProps?.nColumns ?? 2)
|
|
64
|
-
};
|
|
65
|
-
}, [
|
|
66
|
-
data,
|
|
67
|
-
unitComponentProps
|
|
68
|
-
]);
|
|
69
|
-
return $7d0f52717c0de7e1$var$h((0, $29bf41d89292aad4$export$9e42f9b6e0d67c7d), {
|
|
70
|
-
divisions: data,
|
|
71
|
-
range: range,
|
|
72
|
-
pixelsPerMeter: pixelScale
|
|
73
|
-
}, [
|
|
74
|
-
$7d0f52717c0de7e1$var$h((0, $43794af7643cdf40$export$25ce20521d0ab97d), {
|
|
75
|
-
width: 20,
|
|
76
|
-
padding: 0,
|
|
77
|
-
paddingV: 10,
|
|
78
|
-
showLabel: false
|
|
79
|
-
}),
|
|
80
|
-
$7d0f52717c0de7e1$var$h("div.timescale-container", {
|
|
81
|
-
style: {
|
|
82
|
-
marginTop: `10px`
|
|
83
|
-
}
|
|
84
|
-
}, [
|
|
85
|
-
$7d0f52717c0de7e1$var$h((0, $7zu8d$Timescale), {
|
|
86
|
-
orientation: (0, $7zu8d$TimescaleOrientation).VERTICAL,
|
|
87
|
-
length: height,
|
|
88
|
-
levels: $7d0f52717c0de7e1$var$timescaleLevels,
|
|
89
|
-
absoluteAgeScale: true,
|
|
90
|
-
showAgeAxis: false,
|
|
91
|
-
ageRange: range
|
|
92
|
-
})
|
|
93
|
-
]),
|
|
94
|
-
$7d0f52717c0de7e1$var$h((0, $7zu8d$ColumnSVG), {
|
|
95
|
-
innerWidth: showLabels ? width : columnWidth,
|
|
96
|
-
paddingRight: 1,
|
|
97
|
-
paddingLeft: 1,
|
|
98
|
-
paddingV: 10,
|
|
99
|
-
innerHeight: height
|
|
100
|
-
}, $7d0f52717c0de7e1$var$h((0, $8c8238faa5cde49c$export$a6684360fef0406e), {
|
|
101
|
-
showLabelColumn: showLabelColumn,
|
|
102
|
-
width: showLabels ? width : columnWidth,
|
|
103
|
-
columnWidth: columnWidth,
|
|
104
|
-
gutterWidth: 5,
|
|
105
|
-
showLabels: showLabels,
|
|
106
|
-
unitComponent: unitComponent,
|
|
107
|
-
unitComponentProps: _unitComponentProps
|
|
108
|
-
}))
|
|
109
|
-
]);
|
|
110
|
-
}
|
|
111
|
-
const $7d0f52717c0de7e1$var$timescaleLevels = [
|
|
112
|
-
2,
|
|
113
|
-
5
|
|
114
|
-
];
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
export {$7d0f52717c0de7e1$export$6e2c8f0811a474ce as Section};
|
|
118
|
-
//# sourceMappingURL=section.cc1b1100.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAuBrB,SAAS,0CAAQ,KAAmB;IACzC,oCAAoC;IACpC,MAAM,QACJ,IAAI,EACJ,OAAO,MAAM,EACb,YAAY,WAAW,iBACvB,aAAa,cACb,aAAa,wBACb,mBAAmB,WACnB,QAAQ,kBACR,cAAc,yBACd,kBAAkB,mBAClB,kBAAkB,MACnB,GAAG;IAEJ,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IACjD,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IAEjD,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,IAAI,UAAU,MACZ,OAAO;YAAC;YAAO;SAAM;QAEvB,OAAO;IACT,GAAG;QAAC;QAAQ;QAAO;KAAM;IAEzB,MAAM,OAAO,CAAA,GAAA,cAAM,EAAE,IAAM,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE;QAAC;KAAM;IAEvD,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,eAAe,MAAM,OAAO;QAChC,MAAM,eAAe,mBAAmB,KAAK,MAAM;QACnD,OAAO,KAAK,IAAI,CAAC,eAAe;IAClC,GAAG;QAAC;QAAa;QAAkB,KAAK,MAAM;QAAE;KAAK;IAErD,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE,IAAM,OAAO,YAAY;QAAC;QAAM;KAAW;IAElE;;;GAGC,GACD,MAAM,sBAAsB,CAAA,GAAA,cAAM,EAAE;QAClC,OAAO;YACL,GAAG,kBAAkB;YACrB,UAAU,KAAK,GAAG,CAChB,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,MAAM,KAAK,GACzC,oBAAoB,YAAY;QAEpC;IACF,GAAG;QAAC;QAAM;KAAmB;IAE7B,OAAO,wBACL,CAAA,GAAA,yCAAuB,GACvB;QACE,WAAW;eACX;QACA,gBAAgB;IAClB,GACA;QACE,wBAAE,CAAA,GAAA,yCAAM,GAAG;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,WAAW;QACb;QACA,wBAAE,2BAA2B;YAAE,OAAO;gBAAE,WAAW,CAAC,IAAI,CAAC;YAAC;QAAE,GAAG;YAC7D,wBAAE,CAAA,GAAA,gBAAQ,GAAG;gBACX,aAAa,CAAA,GAAA,2BAAmB,EAAE,QAAQ;gBAC1C,QAAQ;gBACR,QAAQ;gBACR,kBAAkB;gBAClB,aAAa;gBACb,UAAU;YACZ;SACD;QACD,wBACE,CAAA,GAAA,gBAAQ,GACR;YACE,YAAY,aAAa,QAAQ;YACjC,cAAc;YACd,aAAa;YACb,UAAU;YACV,aAAa;QACf,GACA,wBAAE,CAAA,GAAA,yCAAmB,GAAG;YACtB,iBAAiB;YACjB,OAAO,aAAa,QAAQ;yBAC5B;YACA,aAAa;wBACb;2BACA;YACA,oBAAoB;QACtB;KAEH;AAEL;AAEA,MAAM,wCAAkB;IAAC;IAAG;CAAE","sources":["packages/column-views/src/section.ts"],"sourcesContent":["import { CompositeUnitsColumn, IUnit } from \"./units\";\nimport { ReactNode, useMemo } from \"react\";\nimport { AgeAxis } from \"./age-axis\";\nimport { Timescale, TimescaleOrientation } from \"@macrostrat/timescale\";\nimport { ColumnSVG } from \"@macrostrat/column-components\";\nimport { MacrostratColumnProvider } from \"./index\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport interface SectionInfo {\n section_id: number | number[];\n t_age: number;\n b_age: number;\n units: IUnit[];\n}\n\nexport interface IColumnProps {\n data: IUnit[];\n pixelScale?: number;\n range?: [number, number];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n targetUnitHeight?: number;\n children?: ReactNode;\n showLabelColumn?: boolean;\n}\n\nexport function Section(props: IColumnProps) {\n // Section with \"squishy\" time scale\n const {\n data,\n range: _range,\n pixelScale: _pixelScale,\n unitComponent,\n showLabels = true,\n targetUnitHeight = 20,\n width = 300,\n columnWidth = 150,\n unitComponentProps,\n showLabelColumn = true,\n } = props;\n\n const b_age = Math.max(...data.map((d) => d.b_age));\n const t_age = Math.min(...data.map((d) => d.t_age));\n\n const range = useMemo(() => {\n if (_range == null) {\n return [b_age, t_age];\n }\n return _range;\n }, [_range, b_age, t_age]);\n\n const dAge = useMemo(() => range[0] - range[1], [range]);\n\n const pixelScale = useMemo(() => {\n if (_pixelScale != null) return _pixelScale;\n const targetHeight = targetUnitHeight * data.length;\n return Math.ceil(targetHeight / dAge);\n }, [_pixelScale, targetUnitHeight, data.length, dAge]);\n\n const height = useMemo(() => dAge * pixelScale, [dAge, pixelScale]);\n\n /** Ensure that we can arrange units into the maximum number\n * of columns defined by unitComponentProps, but that we don't\n * use more than necessary.\n */\n const _unitComponentProps = useMemo(() => {\n return {\n ...unitComponentProps,\n nColumns: Math.min(\n Math.max(...data.map((d) => d.column)) + 1,\n unitComponentProps?.nColumns ?? 2\n ),\n };\n }, [data, unitComponentProps]);\n\n return h(\n MacrostratColumnProvider,\n {\n divisions: data,\n range,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n },\n [\n h(AgeAxis, {\n width: 20,\n padding: 0,\n paddingV: 10,\n showLabel: false,\n }),\n h(\"div.timescale-container\", { style: { marginTop: `10px` } }, [\n h(Timescale, {\n orientation: TimescaleOrientation.VERTICAL,\n length: height,\n levels: timescaleLevels as [number, number],\n absoluteAgeScale: true,\n showAgeAxis: false,\n ageRange: range as [number, number],\n }),\n ]),\n h(\n ColumnSVG,\n {\n innerWidth: showLabels ? width : columnWidth,\n paddingRight: 1,\n paddingLeft: 1,\n paddingV: 10,\n innerHeight: height,\n },\n h(CompositeUnitsColumn, {\n showLabelColumn: showLabelColumn,\n width: showLabels ? width : columnWidth,\n columnWidth,\n gutterWidth: 5,\n showLabels,\n unitComponent,\n unitComponentProps: _unitComponentProps,\n })\n ),\n ]\n );\n}\n\nconst timescaleLevels = [2, 5];\n"],"names":[],"version":3,"file":"section.cc1b1100.js.map"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import "./selection-popover.module.0a701258.css";
|
|
2
|
-
import $61ATJ$selectionpopovermodulee22f5183js from "./selection-popover.module.e22f5183.js";
|
|
3
|
-
import {useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da} from "./selection.bbf26d0e.js";
|
|
4
|
-
import {UnitDetailsPanel as $5e9557c2513b08ab$export$fbd245232df17557} from "./unit-details.56ff8b70.js";
|
|
5
|
-
import $61ATJ$macrostrathyper from "@macrostrat/hyper";
|
|
6
|
-
import {Popover as $61ATJ$Popover} from "@blueprintjs/core";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function $parcel$interopDefault(a) {
|
|
10
|
-
return a && a.__esModule ? a.default : a;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const $80d4db83aa9ba807$var$h = (0, $61ATJ$macrostrathyper).styled((0, ($parcel$interopDefault($61ATJ$selectionpopovermodulee22f5183js))));
|
|
18
|
-
function $80d4db83aa9ba807$export$6716aecc2c9afbe2({ style: style, children: children, boundary: boundary }) {
|
|
19
|
-
const content = $80d4db83aa9ba807$var$h($80d4db83aa9ba807$export$9c92b113c87f36f1, children);
|
|
20
|
-
return $80d4db83aa9ba807$var$h("div.popover-main", {
|
|
21
|
-
style: style
|
|
22
|
-
}, $80d4db83aa9ba807$var$h((0, $61ATJ$Popover), // @ts-ignore
|
|
23
|
-
{
|
|
24
|
-
content: content,
|
|
25
|
-
isOpen: true,
|
|
26
|
-
usePortal: false,
|
|
27
|
-
boundary: boundary,
|
|
28
|
-
position: "right"
|
|
29
|
-
}, $80d4db83aa9ba807$var$h("span.popover-target")));
|
|
30
|
-
}
|
|
31
|
-
function $80d4db83aa9ba807$export$9c92b113c87f36f1({ children: children }) {
|
|
32
|
-
return $80d4db83aa9ba807$var$h("div.legend-panel-outer", {
|
|
33
|
-
onClick (e) {
|
|
34
|
-
// Stop events from leaking to the parent
|
|
35
|
-
e.stopPropagation();
|
|
36
|
-
}
|
|
37
|
-
}, [
|
|
38
|
-
$80d4db83aa9ba807$var$h("div.legend-info-panel", children)
|
|
39
|
-
]);
|
|
40
|
-
}
|
|
41
|
-
function $80d4db83aa9ba807$export$db1115efab13710d(props) {
|
|
42
|
-
const { position: position } = props;
|
|
43
|
-
const unit = (0, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da)();
|
|
44
|
-
if (unit == null) return null;
|
|
45
|
-
return $80d4db83aa9ba807$var$h("div.unit-popover-container", $80d4db83aa9ba807$var$h($80d4db83aa9ba807$export$6716aecc2c9afbe2, {
|
|
46
|
-
style: {
|
|
47
|
-
position: "absolute",
|
|
48
|
-
top: position?.y,
|
|
49
|
-
width: position?.width,
|
|
50
|
-
left: position?.x,
|
|
51
|
-
height: position?.height
|
|
52
|
-
}
|
|
53
|
-
}, $80d4db83aa9ba807$var$h((0, $5e9557c2513b08ab$export$fbd245232df17557), {
|
|
54
|
-
unit: unit
|
|
55
|
-
})));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
export {$80d4db83aa9ba807$export$6716aecc2c9afbe2 as UnitDetailsPopover, $80d4db83aa9ba807$export$9c92b113c87f36f1 as LegendPopoverContainer, $80d4db83aa9ba807$export$db1115efab13710d as UnitSelectionPopover};
|
|
60
|
-
//# sourceMappingURL=selection-popover.17d1bd55.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;AAOA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,kFAAK;AAErB,SAAS,0CAAmB,SACjC,KAAK,YACL,QAAQ,YACR,QAAQ,EAKT;IACC,MAAM,UAAU,wBAAE,2CAAwB;IAE1C,OAAO,wBACL,oBACA;eACE;IACF,GACA,wBACE,CAAA,GAAA,cAAM,GACN,aAAa;IACb;iBAAE;QAAS,QAAQ;QAAM,WAAW;kBAAO;QAAU,UAAU;IAAQ,GACvE,wBAAE;AAGR;AAEO,SAAS,0CAAuB,YAAE,QAAQ,EAAE;IACjD,OAAO,wBACL,0BACA;QACE,SAAQ,CAAC;YACP,yCAAyC;YACzC,EAAE,eAAe;QACnB;IACF,GACA;QAAC,wBAAE,yBAAyB;KAAU;AAE1C;AAEO,SAAS,0CAAqB,KAAK;IACxC,MAAM,YAAE,QAAQ,EAAE,GAAG;IACrB,MAAM,OAAO,CAAA,GAAA,yCAAc;IAC3B,IAAI,QAAQ,MACV,OAAO;IAGT,OAAO,wBACL,8BACA,wBACE,2CACA;QACE,OAAO;YACL,UAAU;YACV,KAAK,UAAU;YACf,OAAO,UAAU;YACjB,MAAM,UAAU;YAChB,QAAQ,UAAU;QACpB;IACF,GACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;cAAE;IAAK;AAGjC","sources":["packages/column-views/src/selection-popover.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Button, Popover } from \"@blueprintjs/core\";\nimport { DOMElement } from \"react\";\nimport styles from \"./selection-popover.module.sass\";\nimport { useSelectedUnit } from \"./units\";\nimport { UnitDetailsPanel } from \"./unit-details\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n boundary,\n}: {\n style: object;\n children: React.ReactNode;\n boundary?: DOMElement<any, any>;\n}) {\n const content = h(LegendPopoverContainer, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n { content, isOpen: true, usePortal: false, boundary, position: \"right\" },\n h(\"span.popover-target\")\n )\n );\n}\n\nexport function LegendPopoverContainer({ children }) {\n return h(\n \"div.legend-panel-outer\",\n {\n onClick(e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n },\n },\n [h(\"div.legend-info-panel\", children)]\n );\n}\n\nexport function UnitSelectionPopover(props) {\n const { position } = props;\n const unit = useSelectedUnit();\n if (unit == null) {\n return null;\n }\n\n return h(\n \"div.unit-popover-container\",\n h(\n UnitDetailsPopover,\n {\n style: {\n position: \"absolute\",\n top: position?.y,\n width: position?.width,\n left: position?.x,\n height: position?.height,\n },\n },\n h(UnitDetailsPanel, { unit })\n )\n );\n}\n"],"names":[],"version":3,"file":"selection-popover.17d1bd55.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAAA;;;;;AAIE;;;;AAGA;;;;;;;;;AAQF;;;;;;;AAMA;;;;AAGA","sources":["packages/column-views/src/selection-popover.module.sass"],"sourcesContent":[".popover-main\n position: absolute\n pointer-events: none\n\n :global(.bp5-overlay)\n pointer-events: all\n\n :global(.bp5-popover-target)\n height: 100%\n width: 100%\n display: block\n line-height: 0\n pointer-events: none\n outline: 2px solid #f22\n\n.legend-panel-outer\n width: 25em\n max-height: 60vh\n overflow-y: scroll\n background-color: var(--panel-background-color)\n\n.legend-info-panel\n padding: 1em\n\n.legend-json-view\n padding-left: 0\n margin-left: -0.5em\n"],"names":[],"version":3,"file":"selection-popover.module.0a701258.css.map"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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 $0dec71dd06d873d2$exports = {};
|
|
6
|
-
|
|
7
|
-
$parcel$export($0dec71dd06d873d2$exports, "legend-info-panel", () => $0dec71dd06d873d2$export$bf3f08f04957302d, (v) => $0dec71dd06d873d2$export$bf3f08f04957302d = v);
|
|
8
|
-
$parcel$export($0dec71dd06d873d2$exports, "legend-json-view", () => $0dec71dd06d873d2$export$259f01a14528542c, (v) => $0dec71dd06d873d2$export$259f01a14528542c = v);
|
|
9
|
-
$parcel$export($0dec71dd06d873d2$exports, "legend-panel-outer", () => $0dec71dd06d873d2$export$54b6d567a500a54c, (v) => $0dec71dd06d873d2$export$54b6d567a500a54c = v);
|
|
10
|
-
$parcel$export($0dec71dd06d873d2$exports, "popover-main", () => $0dec71dd06d873d2$export$85b6d6914dbd94dc, (v) => $0dec71dd06d873d2$export$85b6d6914dbd94dc = v);
|
|
11
|
-
var $0dec71dd06d873d2$export$bf3f08f04957302d;
|
|
12
|
-
var $0dec71dd06d873d2$export$259f01a14528542c;
|
|
13
|
-
var $0dec71dd06d873d2$export$54b6d567a500a54c;
|
|
14
|
-
var $0dec71dd06d873d2$export$85b6d6914dbd94dc;
|
|
15
|
-
$0dec71dd06d873d2$export$bf3f08f04957302d = `e_hMea_legend-info-panel`;
|
|
16
|
-
$0dec71dd06d873d2$export$259f01a14528542c = `e_hMea_legend-json-view`;
|
|
17
|
-
$0dec71dd06d873d2$export$54b6d567a500a54c = `e_hMea_legend-panel-outer`;
|
|
18
|
-
$0dec71dd06d873d2$export$85b6d6914dbd94dc = `e_hMea_popover-main`;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export {$0dec71dd06d873d2$exports as default};
|
|
22
|
-
//# sourceMappingURL=selection-popover.module.e22f5183.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAAsC,CAAC,wBAAwB,CAAC;AAChE,4CAAqC,CAAC,uBAAuB,CAAC;AAC9D,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAAiC,CAAC,mBAAmB,CAAC","sources":["packages/column-views/src/selection-popover.module.sass"],"sourcesContent":[".popover-main\n position: absolute\n pointer-events: none\n\n :global(.bp5-overlay)\n pointer-events: all\n\n :global(.bp5-popover-target)\n height: 100%\n width: 100%\n display: block\n line-height: 0\n pointer-events: none\n outline: 2px solid #f22\n\n.legend-panel-outer\n width: 25em\n max-height: 60vh\n overflow-y: scroll\n background-color: var(--panel-background-color)\n\n.legend-info-panel\n padding: 1em\n\n.legend-json-view\n padding-left: 0\n margin-left: -0.5em\n"],"names":[],"version":3,"file":"selection-popover.module.e22f5183.js.map"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import $eIxPJ$macrostrathyper from "@macrostrat/hyper";
|
|
2
|
-
import {getQueryString as $eIxPJ$getQueryString, setQueryString as $eIxPJ$setQueryString, useKeyHandler as $eIxPJ$useKeyHandler} from "@macrostrat/ui-components";
|
|
3
|
-
import {createContext as $eIxPJ$createContext, useContext as $eIxPJ$useContext, useState as $eIxPJ$useState, useMemo as $eIxPJ$useMemo, useCallback as $eIxPJ$useCallback, useEffect as $eIxPJ$useEffect} from "react";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const $4d5d1c15f39f6a14$var$UnitSelectionContext = (0, $eIxPJ$createContext)(null);
|
|
9
|
-
const $4d5d1c15f39f6a14$var$DispatchContext = (0, $eIxPJ$createContext)(null);
|
|
10
|
-
function $4d5d1c15f39f6a14$export$77a278d5ca56e309() {
|
|
11
|
-
return (0, $eIxPJ$useContext)($4d5d1c15f39f6a14$var$DispatchContext);
|
|
12
|
-
}
|
|
13
|
-
function $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da() {
|
|
14
|
-
return (0, $eIxPJ$useContext)($4d5d1c15f39f6a14$var$UnitSelectionContext);
|
|
15
|
-
}
|
|
16
|
-
function $4d5d1c15f39f6a14$export$f19d75b1d4b676a4(props) {
|
|
17
|
-
const { unit: unit, setUnit: setUnit, onUnitSelected: onUnitSelected, children: children } = props;
|
|
18
|
-
if (unit == null && setUnit == null) return (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$StatefulUnitSelectionProvider, props);
|
|
19
|
-
return (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$BaseUnitSelectionProvider, {
|
|
20
|
-
unit: unit,
|
|
21
|
-
setUnit: setUnit,
|
|
22
|
-
onUnitSelected: onUnitSelected
|
|
23
|
-
}, children);
|
|
24
|
-
}
|
|
25
|
-
function $4d5d1c15f39f6a14$var$StatefulUnitSelectionProvider(props) {
|
|
26
|
-
const [unit, setUnit] = (0, $eIxPJ$useState)(null);
|
|
27
|
-
return (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$BaseUnitSelectionProvider, {
|
|
28
|
-
...props,
|
|
29
|
-
unit: unit,
|
|
30
|
-
setUnit: setUnit
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function $4d5d1c15f39f6a14$var$BaseUnitSelectionProvider({ children: children, unit: unit, setUnit: setUnit, onUnitSelected: onUnitSelected }) {
|
|
34
|
-
const value = (0, $eIxPJ$useMemo)(()=>unit, [
|
|
35
|
-
unit?.unit_id
|
|
36
|
-
]);
|
|
37
|
-
const _onUnitSelected = (0, $eIxPJ$useCallback)((u, target, event)=>{
|
|
38
|
-
let newUnit = u;
|
|
39
|
-
setUnit(newUnit);
|
|
40
|
-
onUnitSelected?.(newUnit, target, event);
|
|
41
|
-
}, [
|
|
42
|
-
setUnit,
|
|
43
|
-
onUnitSelected
|
|
44
|
-
]);
|
|
45
|
-
return (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$DispatchContext.Provider, {
|
|
46
|
-
value: _onUnitSelected
|
|
47
|
-
}, (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$UnitSelectionContext.Provider, {
|
|
48
|
-
value: value
|
|
49
|
-
}, children));
|
|
50
|
-
}
|
|
51
|
-
const $4d5d1c15f39f6a14$var$ColumnNavCtx = (0, $eIxPJ$createContext)(null);
|
|
52
|
-
function $4d5d1c15f39f6a14$export$91cb5ac808759b34(defaultArgs = {
|
|
53
|
-
col_id: 495,
|
|
54
|
-
unit_id: null
|
|
55
|
-
}) {
|
|
56
|
-
const ctx = (0, $eIxPJ$useContext)($4d5d1c15f39f6a14$var$ColumnNavCtx);
|
|
57
|
-
if (ctx != null) return ctx;
|
|
58
|
-
const [columnArgs, setColumnArgs] = (0, $eIxPJ$useState)($4d5d1c15f39f6a14$var$extractColumnArgs((0, $eIxPJ$getQueryString)(window.location.search)) ?? defaultArgs);
|
|
59
|
-
(0, $eIxPJ$useEffect)(()=>(0, $eIxPJ$setQueryString)(columnArgs), [
|
|
60
|
-
columnArgs
|
|
61
|
-
]);
|
|
62
|
-
const { col_id: col_id, project_id: project_id, status_code: status_code } = columnArgs;
|
|
63
|
-
const setCurrentColumn = (obj)=>{
|
|
64
|
-
let args = obj;
|
|
65
|
-
if ("properties" in obj) args = {
|
|
66
|
-
col_id: obj.properties.col_id,
|
|
67
|
-
project_id: project_id,
|
|
68
|
-
status_code: status_code
|
|
69
|
-
};
|
|
70
|
-
// Set query string
|
|
71
|
-
(0, $eIxPJ$setQueryString)(args);
|
|
72
|
-
setColumnArgs(args);
|
|
73
|
-
};
|
|
74
|
-
return [
|
|
75
|
-
columnArgs,
|
|
76
|
-
setCurrentColumn
|
|
77
|
-
];
|
|
78
|
-
}
|
|
79
|
-
function $4d5d1c15f39f6a14$var$extractColumnArgs(search) {
|
|
80
|
-
const { col_id: col_id, unit_id: unit_id, project_id: project_id, status_code: status_code } = search;
|
|
81
|
-
if (col_id == null) return null;
|
|
82
|
-
return {
|
|
83
|
-
col_id: col_id,
|
|
84
|
-
unit_id: unit_id,
|
|
85
|
-
project_id: project_id,
|
|
86
|
-
status_code: status_code
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function $4d5d1c15f39f6a14$export$36fed9e0f93a8fde({ children: children, ...defaultArgs }) {
|
|
90
|
-
const value = $4d5d1c15f39f6a14$export$91cb5ac808759b34(defaultArgs);
|
|
91
|
-
return (0, $eIxPJ$macrostrathyper)($4d5d1c15f39f6a14$var$ColumnNavCtx.Provider, {
|
|
92
|
-
value: value
|
|
93
|
-
}, children);
|
|
94
|
-
}
|
|
95
|
-
function $4d5d1c15f39f6a14$export$70f5ee19650fc7d1({ units: units }) {
|
|
96
|
-
const selectedUnit = $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da();
|
|
97
|
-
const selectUnit = $4d5d1c15f39f6a14$export$77a278d5ca56e309();
|
|
98
|
-
const ix = units.findIndex((unit)=>unit.unit_id === selectedUnit?.unit_id);
|
|
99
|
-
const keyMap = {
|
|
100
|
-
38: ix - 1,
|
|
101
|
-
40: ix + 1
|
|
102
|
-
};
|
|
103
|
-
(0, $eIxPJ$useKeyHandler)((event)=>{
|
|
104
|
-
const nextIx = keyMap[event.keyCode];
|
|
105
|
-
if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;
|
|
106
|
-
selectUnit(units[nextIx], null, null);
|
|
107
|
-
event.stopPropagation();
|
|
108
|
-
}, [
|
|
109
|
-
units,
|
|
110
|
-
ix
|
|
111
|
-
]);
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
export {$4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$91cb5ac808759b34 as useColumnNav, $4d5d1c15f39f6a14$export$36fed9e0f93a8fde as ColumnNavProvider, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
|
|
117
|
-
//# sourceMappingURL=selection.bbf26d0e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;AAyBA,MAAM,6CAAuB,CAAA,GAAA,oBAAY,EAAmB;AAC5D,MAAM,wCAAkB,CAAA,GAAA,oBAAY,EAA6B;AAE1D,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB;AAEO,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB;AASO,SAAS,0CACd,KAAqC;IAErC,MAAM,QAAE,IAAI,WAAE,OAAO,kBAAE,cAAc,YAAE,QAAQ,EAAE,GAAG;IAEpD,IAAI,QAAQ,QAAQ,WAAW,MAC7B,OAAO,CAAA,GAAA,sBAAA,EAAE,qDAA+B;IAG1C,OAAO,CAAA,GAAA,sBAAA,EACL,iDACA;cAAE;iBAAM;wBAAS;IAAe,GAChC;AAEJ;AAEA,SAAS,oDAAkD,KAG1D;IACC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAA,GAAA,eAAO,EAAY;IAE3C,OAAO,CAAA,GAAA,sBAAA,EAAE,iDAA2B;QAAE,GAAG,KAAK;cAAE;iBAAM;IAAQ;AAChE;AAEA,SAAS,gDAA8C,YACrD,QAAQ,QACR,IAAI,WACJ,OAAO,kBACP,cAAc,EACQ;IACtB,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE,IAAM,MAAM;QAAC,MAAM;KAAQ;IAEjD,MAAM,kBAAkB,CAAA,GAAA,kBAAU,EAChC,CAAC,GAAM,QAAqB;QAC1B,IAAI,UAAU;QACd,QAAQ;QACR,iBAAiB,SAAS,QAAQ;IACpC,GACA;QAAC;QAAS;KAAe;IAG3B,OAAO,CAAA,GAAA,sBAAA,EACL,sCAAgB,QAAQ,EACxB;QAAE,OAAO;IAAgB,GACzB,CAAA,GAAA,sBAAA,EAAE,2CAAqB,QAAQ,EAAE;eAAE;IAAM,GAAG;AAEhD;AAWA,MAAM,qCAAe,CAAA,GAAA,oBAAY,EAA4B;AAEtD,SAAS,0CACd,cAA0B;IAAE,QAAQ;IAAK,SAAS;AAAK,CAAC;IAExD,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,IAAI,OAAO,MAAM,OAAO;IAExB,MAAM,CAAC,YAAY,cAAc,GAAG,CAAA,GAAA,eAAO,EACzC,wCAAkB,CAAA,GAAA,qBAAa,EAAE,OAAO,QAAQ,CAAC,MAAM,MAAM;IAG/D,CAAA,GAAA,gBAAQ,EAAE,IAAM,CAAA,GAAA,qBAAa,EAAE,aAAa;QAAC;KAAW;IAExD,MAAM,UAAE,MAAM,cAAE,UAAU,eAAE,WAAW,EAAE,GAAG;IAE5C,MAAM,mBAAmB,CAAC;QACxB,IAAI,OAAO;QACX,IAAI,gBAAgB,KAClB,OAAO;YAAE,QAAQ,IAAI,UAAU,CAAC,MAAM;wBAAE;yBAAY;QAAY;QAElE,mBAAmB;QACnB,CAAA,GAAA,qBAAa,EAAE;QACf,cAAc;IAChB;IAEA,OAAO;QAAC;QAAY;KAAiB;AACvC;AAEA,SAAS,wCAAkB,MAAW;IACpC,MAAM,UAAE,MAAM,WAAE,OAAO,cAAE,UAAU,eAAE,WAAW,EAAE,GAAG;IACrD,IAAI,UAAU,MAAM,OAAO;IAC3B,OAAO;gBAAE;iBAAQ;oBAAS;qBAAY;IAAY;AACpD;AAEO,SAAS,0CAAkB,YAAE,QAAQ,EAAE,GAAG,aAAa;IAC5D,MAAM,QAAQ,0CAAa;IAC3B,OAAO,CAAA,GAAA,sBAAA,EAAE,mCAAa,QAAQ,EAAE;eAAE;IAAM,GAAG;AAC7C;AAEO,SAAS,0CAA2C,SACzD,KAAK,EAGN;IACC,MAAM,eAAe;IACrB,MAAM,aAAa;IAEnB,MAAM,KAAK,MAAM,SAAS,CAAC,CAAC,OAAS,KAAK,OAAO,KAAK,cAAc;IAEpE,MAAM,SAAS;QACb,IAAI,KAAK;QACT,IAAI,KAAK;IACX;IAEA,CAAA,GAAA,oBAAY,EACV,CAAC;QACC,MAAM,SAAS,MAAM,CAAC,MAAM,OAAO,CAAC;QACpC,IAAI,UAAU,QAAQ,SAAS,KAAK,UAAU,MAAM,MAAM,EAAE;QAC5D,WAAW,KAAK,CAAC,OAAO,EAAE,MAAM;QAChC,MAAM,eAAe;IACvB,GACA;QAAC;QAAO;KAAG;IAEb,OAAO;AACT","sources":["packages/column-views/src/units/selection.ts"],"sourcesContent":["import { BaseUnit } from \"@macrostrat/api-types\";\nimport h from \"@macrostrat/hyper\";\nimport {\n getQueryString,\n setQueryString,\n useKeyHandler,\n} from \"@macrostrat/ui-components\";\nimport {\n Dispatch,\n SetStateAction,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n useCallback,\n} from \"react\";\n\ntype UnitSelectDispatch = (\n unit: BaseUnit | null,\n target: HTMLElement | null,\n event: Event | null\n) => void;\n\nconst UnitSelectionContext = createContext<BaseUnit | null>(null);\nconst DispatchContext = createContext<UnitSelectDispatch | null>(null);\n\nexport function useUnitSelectionDispatch() {\n return useContext(DispatchContext);\n}\n\nexport function useSelectedUnit() {\n return useContext(UnitSelectionContext);\n}\n\nexport interface UnitSelectionProps<T extends BaseUnit> {\n children: React.ReactNode;\n unit: T | null;\n setUnit: Dispatch<SetStateAction<T>>;\n onUnitSelected?: (unit: T, target: HTMLElement, event: Event) => void;\n}\n\nexport function UnitSelectionProvider<T extends BaseUnit>(\n props: Partial<UnitSelectionProps<T>>\n) {\n const { unit, setUnit, onUnitSelected, children } = props;\n\n if (unit == null && setUnit == null) {\n return h(StatefulUnitSelectionProvider, props);\n }\n\n return h(\n BaseUnitSelectionProvider,\n { unit, setUnit, onUnitSelected },\n children\n );\n}\n\nfunction StatefulUnitSelectionProvider<T extends BaseUnit>(props: {\n children: ReactNode;\n onUnitSelected?: (unit: T, target: HTMLElement, event: Event) => void;\n}) {\n const [unit, setUnit] = useState<T | null>(null);\n\n return h(BaseUnitSelectionProvider, { ...props, unit, setUnit });\n}\n\nfunction BaseUnitSelectionProvider<T extends BaseUnit>({\n children,\n unit,\n setUnit,\n onUnitSelected,\n}: UnitSelectionProps<T>) {\n const value = useMemo(() => unit, [unit?.unit_id]);\n\n const _onUnitSelected = useCallback(\n (u: T, target: HTMLElement, event: Event) => {\n let newUnit = u;\n setUnit(newUnit);\n onUnitSelected?.(newUnit, target, event);\n },\n [setUnit, onUnitSelected]\n );\n\n return h(\n DispatchContext.Provider,\n { value: _onUnitSelected },\n h(UnitSelectionContext.Provider, { value }, children)\n );\n}\n\nexport interface ColumnArgs {\n col_id?: number;\n unit_id?: number;\n project_id?: number;\n status_code?: \"in process\";\n}\n\ntype ColumnManagerData = [ColumnArgs, (c: ColumnArgs) => void];\n\nconst ColumnNavCtx = createContext<ColumnManagerData | null>(null);\n\nexport function useColumnNav(\n defaultArgs: ColumnArgs = { col_id: 495, unit_id: null }\n): ColumnManagerData {\n const ctx = useContext(ColumnNavCtx);\n if (ctx != null) return ctx;\n\n const [columnArgs, setColumnArgs] = useState<ColumnArgs>(\n extractColumnArgs(getQueryString(window.location.search)) ?? defaultArgs\n );\n\n useEffect(() => setQueryString(columnArgs), [columnArgs]);\n\n const { col_id, project_id, status_code } = columnArgs;\n\n const setCurrentColumn = (obj) => {\n let args = obj;\n if (\"properties\" in obj) {\n args = { col_id: obj.properties.col_id, project_id, status_code };\n }\n // Set query string\n setQueryString(args);\n setColumnArgs(args);\n };\n\n return [columnArgs, setCurrentColumn];\n}\n\nfunction extractColumnArgs(search: any): ColumnArgs | null {\n const { col_id, unit_id, project_id, status_code } = search;\n if (col_id == null) return null;\n return { col_id, unit_id, project_id, status_code };\n}\n\nexport function ColumnNavProvider({ children, ...defaultArgs }) {\n const value = useColumnNav(defaultArgs as any);\n return h(ColumnNavCtx.Provider, { value }, children);\n}\n\nexport function UnitKeyboardNavigation<T extends BaseUnit>({\n units,\n}: {\n units: T[];\n}) {\n const selectedUnit = useSelectedUnit();\n const selectUnit = useUnitSelectionDispatch();\n\n const ix = units.findIndex((unit) => unit.unit_id === selectedUnit?.unit_id);\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n },\n [units, ix]\n );\n return null;\n}\n"],"names":[],"version":3,"file":"selection.bbf26d0e.js.map"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import {createContext as $7EIIA$createContext, useContext as $7EIIA$useContext} from "react";
|
|
2
|
-
import $7EIIA$macrostrathyper from "@macrostrat/hyper";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const $1fcb9b8d7da394a3$var$MacrostratUnitsContext = (0, $7EIIA$createContext)(null);
|
|
7
|
-
function $1fcb9b8d7da394a3$export$e5fe24ae4f287040({ children: children, units: units }) {
|
|
8
|
-
return (0, $7EIIA$macrostrathyper)($1fcb9b8d7da394a3$var$MacrostratUnitsContext.Provider, {
|
|
9
|
-
value: units
|
|
10
|
-
}, children);
|
|
11
|
-
}
|
|
12
|
-
function $1fcb9b8d7da394a3$export$6fb40844db555b2() {
|
|
13
|
-
return (0, $7EIIA$useContext)($1fcb9b8d7da394a3$var$MacrostratUnitsContext);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export {$1fcb9b8d7da394a3$export$e5fe24ae4f287040 as MacrostratUnitsProvider, $1fcb9b8d7da394a3$export$6fb40844db555b2 as useMacrostratUnits};
|
|
18
|
-
//# sourceMappingURL=store.25eaa168.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;AAGA,MAAM,+CAAyB,CAAA,GAAA,oBAAY,EAAE;AAEtC,SAAS,0CAAwB,YAAE,QAAQ,SAAE,KAAK,EAAE;IACzD,OAAO,CAAA,GAAA,sBAAA,EAAE,6CAAuB,QAAQ,EAAE;QAAE,OAAO;IAAM,GAAG;AAC9D;AAEO,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB","sources":["packages/column-views/src/store.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\n\nconst MacrostratUnitsContext = createContext(null);\n\nexport function MacrostratUnitsProvider({ children, units }) {\n return h(MacrostratUnitsContext.Provider, { value: units }, children);\n}\n\nexport function useMacrostratUnits() {\n return useContext(MacrostratUnitsContext);\n}\n"],"names":[],"version":3,"file":"store.25eaa168.js.map"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
var $faf1eba02aecac6a$export$6d217bb9de27dba7 = /*#__PURE__*/ function(MacrostratAxisKey) {
|
|
2
|
-
MacrostratAxisKey["AGE"] = "age";
|
|
3
|
-
MacrostratAxisKey["POS"] = "pos";
|
|
4
|
-
return MacrostratAxisKey;
|
|
5
|
-
}($faf1eba02aecac6a$export$6d217bb9de27dba7 || {});
|
|
6
|
-
function $faf1eba02aecac6a$export$ab2a19f8a72df19b(t) {
|
|
7
|
-
switch(t){
|
|
8
|
-
case "age":
|
|
9
|
-
return "age";
|
|
10
|
-
case "height":
|
|
11
|
-
case "depth":
|
|
12
|
-
return "pos";
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export {$faf1eba02aecac6a$export$6d217bb9de27dba7 as MacrostratAxisKey, $faf1eba02aecac6a$export$ab2a19f8a72df19b as transformAxisType};
|
|
18
|
-
//# sourceMappingURL=types.f016e032.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAUA,IAAA,AAAK,mEAAA;;;WAAA;EAAA;AAKL,SAAS,0CAAkB,CAAiB;IAC1C,OAAQ;QACN,KAAK;YACH;QACF,KAAK;QACL,KAAK;YACH;IACJ;AACF","sources":["packages/column-views/src/units/types.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nexport interface IUnit {\n unit_id: number;\n col_id: number;\n section_id: number;\n t_age: number;\n b_age: number;\n [x: string]: any;\n}\n\nenum MacrostratAxisKey {\n AGE = \"age\",\n POS = \"pos\"\n}\n\nfunction transformAxisType(t: ColumnAxisType): MacrostratAxisKey {\n switch (t) {\n case \"age\":\n return MacrostratAxisKey.AGE;\n case \"height\":\n case \"depth\":\n return MacrostratAxisKey.POS;\n }\n}\n\nexport { MacrostratAxisKey, transformAxisType };\n"],"names":[],"version":3,"file":"types.f016e032.js.map"}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import "./index.module.0844afd8.css";
|
|
2
|
-
import $gxhZq$indexmodule24fe3a2ejs from "./index.module.24fe3a2e.js";
|
|
3
|
-
import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./selection.bbf26d0e.js";
|
|
4
|
-
import {useMacrostratUnits as $1fcb9b8d7da394a3$export$6fb40844db555b2} from "./store.25eaa168.js";
|
|
5
|
-
import $gxhZq$macrostrathyper from "@macrostrat/hyper";
|
|
6
|
-
import {JSONView as $gxhZq$JSONView} from "@macrostrat/ui-components";
|
|
7
|
-
import {Button as $gxhZq$Button} from "@blueprintjs/core";
|
|
8
|
-
import {useState as $gxhZq$useState} from "react";
|
|
9
|
-
import {DataField as $gxhZq$DataField, LithologyList as $gxhZq$LithologyList, EnvironmentsList as $gxhZq$EnvironmentsList, ItemList as $gxhZq$ItemList, Interval as $gxhZq$Interval} from "@macrostrat/data-components";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function $parcel$interopDefault(a) {
|
|
13
|
-
return a && a.__esModule ? a.default : a;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const $5e9557c2513b08ab$var$h = (0, $gxhZq$macrostrathyper).styled((0, ($parcel$interopDefault($gxhZq$indexmodule24fe3a2ejs))));
|
|
24
|
-
function $5e9557c2513b08ab$export$fbd245232df17557({ unit: unit, onClose: onClose }) {
|
|
25
|
-
const [showJSON, setShowJSON] = (0, $gxhZq$useState)(false);
|
|
26
|
-
let content = null;
|
|
27
|
-
if (showJSON) content = $5e9557c2513b08ab$var$h((0, $gxhZq$JSONView), {
|
|
28
|
-
data: unit,
|
|
29
|
-
showRoot: false
|
|
30
|
-
});
|
|
31
|
-
else content = $5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$UnitDetailsContent, {
|
|
32
|
-
unit: unit
|
|
33
|
-
});
|
|
34
|
-
return $5e9557c2513b08ab$var$h("div.unit-details-panel", [
|
|
35
|
-
$5e9557c2513b08ab$var$h($5e9557c2513b08ab$export$fc503c39cc5cff43, {
|
|
36
|
-
onClose: onClose,
|
|
37
|
-
title: unit.unit_name,
|
|
38
|
-
id: unit.unit_id,
|
|
39
|
-
actions: [
|
|
40
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$Button), {
|
|
41
|
-
icon: "code",
|
|
42
|
-
small: true,
|
|
43
|
-
minimal: true,
|
|
44
|
-
className: "json-view-toggle",
|
|
45
|
-
onClick () {
|
|
46
|
-
setShowJSON(!showJSON);
|
|
47
|
-
}
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
}),
|
|
51
|
-
$5e9557c2513b08ab$var$h("div.unit-details-content", [
|
|
52
|
-
content
|
|
53
|
-
])
|
|
54
|
-
]);
|
|
55
|
-
}
|
|
56
|
-
function $5e9557c2513b08ab$export$fc503c39cc5cff43({ title: title, id: id, onClose: onClose, actions: actions = null }) {
|
|
57
|
-
return $5e9557c2513b08ab$var$h("header.legend-panel-header", [
|
|
58
|
-
$5e9557c2513b08ab$var$h.if(title != null)("h3", title),
|
|
59
|
-
$5e9557c2513b08ab$var$h("div.spacer"),
|
|
60
|
-
$5e9557c2513b08ab$var$h.if(id != null)("code", id),
|
|
61
|
-
actions,
|
|
62
|
-
$5e9557c2513b08ab$var$h.if(onClose != null)((0, $gxhZq$Button), {
|
|
63
|
-
icon: "cross",
|
|
64
|
-
minimal: true,
|
|
65
|
-
small: true,
|
|
66
|
-
onClick () {
|
|
67
|
-
onClose();
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
]);
|
|
71
|
-
}
|
|
72
|
-
function $5e9557c2513b08ab$var$UnitDetailsContent({ unit: unit }) {
|
|
73
|
-
let outcrop = unit.outcrop;
|
|
74
|
-
if (outcrop == "both") outcrop = "surface and subsurface";
|
|
75
|
-
return $5e9557c2513b08ab$var$h("div.unit-details-content", [
|
|
76
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
77
|
-
label: "Thickness",
|
|
78
|
-
value: `${unit.min_thick}\u{2013}${unit.max_thick}`,
|
|
79
|
-
unit: "m"
|
|
80
|
-
}),
|
|
81
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$LithologyList), {
|
|
82
|
-
lithologies: unit.lith
|
|
83
|
-
}),
|
|
84
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
85
|
-
label: "Age range",
|
|
86
|
-
value: `${unit.b_age}\u{2013}${unit.t_age}`,
|
|
87
|
-
unit: "Ma"
|
|
88
|
-
}),
|
|
89
|
-
$5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$IntervalField, {
|
|
90
|
-
unit: unit
|
|
91
|
-
}),
|
|
92
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$EnvironmentsList), {
|
|
93
|
-
environments: unit.environ
|
|
94
|
-
}),
|
|
95
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
96
|
-
label: "Outcrop",
|
|
97
|
-
value: outcrop
|
|
98
|
-
}),
|
|
99
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
100
|
-
label: "Stratigraphic name"
|
|
101
|
-
}, $5e9557c2513b08ab$var$h("span.strat-name-id", unit.strat_name_id)),
|
|
102
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
103
|
-
label: "Above"
|
|
104
|
-
}, $5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$UnitIDList, {
|
|
105
|
-
units: unit.units_above
|
|
106
|
-
})),
|
|
107
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
108
|
-
label: "Below"
|
|
109
|
-
}, $5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$UnitIDList, {
|
|
110
|
-
units: unit.units_below
|
|
111
|
-
})),
|
|
112
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
113
|
-
label: "Color"
|
|
114
|
-
}, $5e9557c2513b08ab$var$h("span.color-swatch", {
|
|
115
|
-
style: {
|
|
116
|
-
backgroundColor: unit.color
|
|
117
|
-
}
|
|
118
|
-
}))
|
|
119
|
-
]);
|
|
120
|
-
}
|
|
121
|
-
function $5e9557c2513b08ab$var$UnitIDList({ units: units }) {
|
|
122
|
-
const u1 = units.filter((d)=>d != 0);
|
|
123
|
-
const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
|
|
124
|
-
const allUnits = (0, $1fcb9b8d7da394a3$export$6fb40844db555b2)();
|
|
125
|
-
if (u1.length === 0) return $5e9557c2513b08ab$var$h("span.no-units", "None");
|
|
126
|
-
let onClickHandler = null;
|
|
127
|
-
let tag = "span";
|
|
128
|
-
if (dispatch != null) {
|
|
129
|
-
onClickHandler = (id)=>(evt)=>{
|
|
130
|
-
console.log(units);
|
|
131
|
-
const unit = allUnits.find((d)=>d.unit_id == id);
|
|
132
|
-
dispatch(unit, null, null);
|
|
133
|
-
evt.stopPropagation();
|
|
134
|
-
};
|
|
135
|
-
tag = "a";
|
|
136
|
-
}
|
|
137
|
-
return $5e9557c2513b08ab$var$h((0, $gxhZq$ItemList), {
|
|
138
|
-
className: "unit-id-list"
|
|
139
|
-
}, [
|
|
140
|
-
u1.map((unit)=>{
|
|
141
|
-
return $5e9557c2513b08ab$var$h(tag, {
|
|
142
|
-
className: "unit-id",
|
|
143
|
-
onClick: onClickHandler?.(unit)
|
|
144
|
-
}, unit);
|
|
145
|
-
})
|
|
146
|
-
]);
|
|
147
|
-
}
|
|
148
|
-
function $5e9557c2513b08ab$var$IntervalField({ unit: unit }) {
|
|
149
|
-
return $5e9557c2513b08ab$var$h([
|
|
150
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$DataField), {
|
|
151
|
-
label: "Intervals"
|
|
152
|
-
}, $5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$IntervalProportions, {
|
|
153
|
-
unit: unit
|
|
154
|
-
}))
|
|
155
|
-
]);
|
|
156
|
-
}
|
|
157
|
-
function $5e9557c2513b08ab$var$IntervalProportions({ unit: unit }) {
|
|
158
|
-
const i0 = unit.b_int_id;
|
|
159
|
-
const i1 = unit.t_int_id;
|
|
160
|
-
let b_prop = unit.b_prop ?? 0;
|
|
161
|
-
let t_prop = unit.t_prop ?? 1;
|
|
162
|
-
if (i0 === i1 && b_prop === 0 && t_prop === 1) // We have a single interval with undefined proportions
|
|
163
|
-
return $5e9557c2513b08ab$var$h((0, $gxhZq$Interval), {
|
|
164
|
-
interval: {
|
|
165
|
-
id: i0,
|
|
166
|
-
name: unit.b_int_name
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
return $5e9557c2513b08ab$var$h((0, $gxhZq$ItemList), {
|
|
170
|
-
className: "interval-proportions"
|
|
171
|
-
}, [
|
|
172
|
-
$5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$Proportion, {
|
|
173
|
-
value: b_prop
|
|
174
|
-
}),
|
|
175
|
-
$5e9557c2513b08ab$var$h.if(i0 != i1)((0, $gxhZq$Interval), {
|
|
176
|
-
interval: {
|
|
177
|
-
id: i0,
|
|
178
|
-
name: unit.b_int_name
|
|
179
|
-
},
|
|
180
|
-
proportion: b_prop
|
|
181
|
-
}),
|
|
182
|
-
$5e9557c2513b08ab$var$h("span.sep", "to"),
|
|
183
|
-
$5e9557c2513b08ab$var$h($5e9557c2513b08ab$var$Proportion, {
|
|
184
|
-
value: t_prop
|
|
185
|
-
}),
|
|
186
|
-
$5e9557c2513b08ab$var$h((0, $gxhZq$Interval), {
|
|
187
|
-
interval: {
|
|
188
|
-
id: i1,
|
|
189
|
-
name: unit.t_int_name
|
|
190
|
-
},
|
|
191
|
-
proportion: t_prop
|
|
192
|
-
})
|
|
193
|
-
]);
|
|
194
|
-
}
|
|
195
|
-
const $5e9557c2513b08ab$var$formatProportion = (d)=>{
|
|
196
|
-
if (d == null) return null;
|
|
197
|
-
return d.toFixed(1);
|
|
198
|
-
};
|
|
199
|
-
function $5e9557c2513b08ab$var$Proportion({ value: value }) {
|
|
200
|
-
let content = null;
|
|
201
|
-
if (value == 0) content = "base";
|
|
202
|
-
else if (value == 1) content = "top";
|
|
203
|
-
else content = $5e9557c2513b08ab$var$formatProportion(value * 100) + "%";
|
|
204
|
-
return $5e9557c2513b08ab$var$h("span.proportion", content);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
export {$5e9557c2513b08ab$export$fbd245232df17557 as UnitDetailsPanel, $5e9557c2513b08ab$export$fc503c39cc5cff43 as LegendPanelHeader};
|
|
209
|
-
//# sourceMappingURL=unit-details.56ff8b70.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/unit-details/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./index.module.sass\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { Button } from \"@blueprintjs/core\";\nimport { useState } from \"react\";\nimport {\n DataField,\n EnvironmentsList,\n Interval,\n ItemList,\n LithologyList,\n} from \"@macrostrat/data-components\";\nimport { useUnitSelectionDispatch } from \"../units/selection\";\nimport { useMacrostratUnits } from \"../store\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPanel({\n unit,\n onClose,\n}: {\n unit: any;\n onClose?: any;\n}) {\n const [showJSON, setShowJSON] = useState(false);\n\n let content = null;\n if (showJSON) {\n content = h(JSONView, { data: unit, showRoot: false });\n } else {\n content = h(UnitDetailsContent, { unit });\n }\n\n return h(\"div.unit-details-panel\", [\n h(LegendPanelHeader, {\n onClose,\n title: unit.unit_name,\n id: unit.unit_id,\n actions: [\n h(Button, {\n icon: \"code\",\n small: true,\n minimal: true,\n className: \"json-view-toggle\",\n onClick() {\n setShowJSON(!showJSON);\n },\n }),\n ],\n }),\n h(\"div.unit-details-content\", [content]),\n ]);\n}\n\nexport function LegendPanelHeader({ title, id, onClose, actions = null }) {\n return h(\"header.legend-panel-header\", [\n h.if(title != null)(\"h3\", title),\n h(\"div.spacer\"),\n h.if(id != null)(\"code\", id),\n actions,\n h.if(onClose != null)(Button, {\n icon: \"cross\",\n minimal: true,\n small: true,\n onClick() {\n onClose();\n },\n }),\n ]);\n}\n\nfunction UnitDetailsContent({ unit }) {\n let outcrop = unit.outcrop;\n if (outcrop == \"both\") {\n outcrop = \"surface and subsurface\";\n }\n\n return h(\"div.unit-details-content\", [\n h(DataField, {\n label: \"Thickness\",\n value: `${unit.min_thick}–${unit.max_thick}`,\n unit: \"m\",\n }),\n h(LithologyList, { lithologies: unit.lith }),\n h(DataField, {\n label: \"Age range\",\n value: `${unit.b_age}–${unit.t_age}`,\n unit: \"Ma\",\n }),\n h(IntervalField, { unit }),\n h(EnvironmentsList, { environments: unit.environ }),\n h(DataField, { label: \"Outcrop\", value: outcrop }),\n h(\n DataField,\n {\n label: \"Stratigraphic name\",\n },\n h(\"span.strat-name-id\", unit.strat_name_id)\n ),\n h(\n DataField,\n { label: \"Above\" },\n h(UnitIDList, { units: unit.units_above })\n ),\n h(\n DataField,\n { label: \"Below\" },\n h(UnitIDList, { units: unit.units_below })\n ),\n h(\n DataField,\n { label: \"Color\" },\n h(\"span.color-swatch\", { style: { backgroundColor: unit.color } })\n ),\n ]);\n}\n\nfunction UnitIDList({ units }) {\n const u1 = units.filter((d) => d != 0);\n const dispatch = useUnitSelectionDispatch();\n const allUnits = useMacrostratUnits();\n\n if (u1.length === 0) {\n return h(\"span.no-units\", \"None\");\n }\n\n let onClickHandler = null;\n let tag = \"span\";\n if (dispatch != null) {\n onClickHandler = (id: number) => (evt) => {\n console.log(units);\n const unit = allUnits.find((d) => d.unit_id == id);\n dispatch(unit, null, null);\n evt.stopPropagation();\n };\n tag = \"a\";\n }\n\n return h(ItemList, { className: \"unit-id-list\" }, [\n u1.map((unit) => {\n return h(\n tag,\n { className: \"unit-id\", onClick: onClickHandler?.(unit) },\n unit\n );\n }),\n ]);\n}\n\nfunction IntervalField({ unit }) {\n return h([\n h(\n DataField,\n {\n label: \"Intervals\",\n },\n h(IntervalProportions, { unit })\n ),\n ]);\n}\n\nfunction IntervalProportions({ unit }) {\n const i0 = unit.b_int_id;\n const i1 = unit.t_int_id;\n let b_prop = unit.b_prop ?? 0;\n let t_prop = unit.t_prop ?? 1;\n\n if (i0 === i1 && b_prop === 0 && t_prop === 1) {\n // We have a single interval with undefined proportions\n return h(Interval, {\n interval: {\n id: i0,\n name: unit.b_int_name,\n },\n });\n }\n\n return h(ItemList, { className: \"interval-proportions\" }, [\n h(Proportion, { value: b_prop }),\n h.if(i0 != i1)(Interval, {\n interval: {\n id: i0,\n name: unit.b_int_name,\n },\n proportion: b_prop,\n }),\n h(\"span.sep\", \"to\"),\n h(Proportion, { value: t_prop }),\n h(Interval, {\n interval: {\n id: i1,\n name: unit.t_int_name,\n },\n proportion: t_prop,\n }),\n ]);\n}\n\nconst formatProportion = (d) => {\n if (d == null) return null;\n return d.toFixed(1);\n};\n\nfunction Proportion({ value }) {\n let content = null;\n if (value == 0) {\n content = \"base\";\n } else if (value == 1) {\n content = \"top\";\n } else {\n content = formatProportion(value * 100) + \"%\";\n }\n\n return h(\"span.proportion\", content);\n}\n"],"names":[],"version":3,"file":"unit-details.56ff8b70.js.map"}
|