@macrostrat/column-views 1.0.2 → 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 +21 -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 -120
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -8
- 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 +6 -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
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file. The format
|
|
|
4
4
|
is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
|
|
5
5
|
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [2.0.0] - 2025-04-09
|
|
8
|
+
|
|
9
|
+
Major update for columns and correlation diagrams:
|
|
10
|
+
|
|
11
|
+
- Add Mapbox-based column selection and correlation-line selection maps
|
|
12
|
+
- Add `ColoredUnitComponent` based on mixing unit colors by lithology
|
|
13
|
+
- Fully integrated management of composite column scales, allowing for much more
|
|
14
|
+
flexible column creation
|
|
15
|
+
- Added the ability to have zig-zag cutoffs when units overflow the time bounds
|
|
16
|
+
of the column
|
|
17
|
+
- Added a unified `MacrostratDataProvider` that allows frontend caching of data
|
|
18
|
+
dictionaries in the UI
|
|
19
|
+
- Major improvements to columns and styling
|
|
20
|
+
|
|
21
|
+
This release will support rendering of stratigraphic columns in Rockd and
|
|
22
|
+
Macrostrat.
|
|
23
|
+
|
|
24
|
+
## [1.0.3] - 2025-03-08
|
|
25
|
+
|
|
26
|
+
Export `UnitDetailsPanel`
|
|
27
|
+
|
|
7
28
|
## [1.0.2] - 2025-02-16
|
|
8
29
|
|
|
9
30
|
Improve column styles
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./inset-map.3c18106d.js";
|
|
2
|
+
import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./styles.7bc776d1.js";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export {$5593f90ffec284da$export$1e8149fc0d15fed0 as InsetMap, $1dbfddc9637b572c$export$d2995719c3a4ae17 as buildColumnsStyle};
|
|
9
|
+
//# sourceMappingURL=_shared.f7eec55a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/maps/_shared/index.ts"],"sourcesContent":["export * from \"./inset-map\";\nexport * from \"./styles\";\n"],"names":[],"version":3,"file":"_shared.f7eec55a.js.map"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import "./age-axis.module.03773a80.css";
|
|
2
|
+
import $lfxOo$ageaxismodule3cc91335js from "./age-axis.module.3cc91335.js";
|
|
3
|
+
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./store.c4d7a8a4.js";
|
|
4
|
+
import $lfxOo$macrostrathyper from "@macrostrat/hyper";
|
|
5
|
+
import {ColumnContext as $lfxOo$ColumnContext, ColumnAxis as $lfxOo$ColumnAxis, ColumnAxisType as $lfxOo$ColumnAxisType, SVG as $lfxOo$SVG, AgeAxis as $lfxOo$AgeAxis} from "@macrostrat/column-components";
|
|
6
|
+
import {useContext as $lfxOo$useContext} from "react";
|
|
7
|
+
import {Parenthetical as $lfxOo$Parenthetical} from "@macrostrat/data-components";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
function $parcel$interopDefault(a) {
|
|
11
|
+
return a && a.__esModule ? a.default : a;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
const $43794af7643cdf40$var$h = (0, $lfxOo$macrostrathyper).styled((0, ($parcel$interopDefault($lfxOo$ageaxismodule3cc91335js))));
|
|
20
|
+
const $43794af7643cdf40$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{
|
|
21
|
+
const { pixelHeight: pixelHeight } = (0, $lfxOo$useContext)((0, $lfxOo$ColumnContext));
|
|
22
|
+
// A tick roughly every 40 pixels
|
|
23
|
+
let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);
|
|
24
|
+
return $43794af7643cdf40$var$h("g.axis", {
|
|
25
|
+
transform: "translate(20 0)"
|
|
26
|
+
}, [
|
|
27
|
+
$43794af7643cdf40$var$h((0, $lfxOo$ColumnAxis), {
|
|
28
|
+
ticks: v,
|
|
29
|
+
showDomain: showDomain
|
|
30
|
+
})
|
|
31
|
+
]);
|
|
32
|
+
};
|
|
33
|
+
function $43794af7643cdf40$export$64204d5cbb3e8227(props) {
|
|
34
|
+
const { label: label = "Age", unit: unit = "Ma", className: className } = props;
|
|
35
|
+
return $43794af7643cdf40$var$h("div.column-axis-label.age-axis-label", {
|
|
36
|
+
className: className
|
|
37
|
+
}, [
|
|
38
|
+
label,
|
|
39
|
+
" ",
|
|
40
|
+
$43794af7643cdf40$var$h.if(unit)((0, $lfxOo$Parenthetical), {
|
|
41
|
+
className: "age-axis-unit"
|
|
42
|
+
}, unit)
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
function $43794af7643cdf40$export$40b6b0e4520eeb34() {
|
|
46
|
+
const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
|
|
47
|
+
const packages = sections.map((section)=>{
|
|
48
|
+
return {
|
|
49
|
+
key: `section-${section.section_id}`,
|
|
50
|
+
...section.scaleInfo
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
return $43794af7643cdf40$var$h($43794af7643cdf40$export$ac30ca3cf5df959d, {
|
|
54
|
+
axisType: axisType,
|
|
55
|
+
packages: packages,
|
|
56
|
+
totalHeight: totalHeight
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function $43794af7643cdf40$export$ac30ca3cf5df959d(props) {
|
|
60
|
+
const { axisType: axisType, totalHeight: totalHeight, packages: packages } = props;
|
|
61
|
+
if (axisType == (0, $lfxOo$ColumnAxisType).ORDINAL) return null;
|
|
62
|
+
let axisLabel = "Age";
|
|
63
|
+
let axisUnit = "Ma";
|
|
64
|
+
if (axisType == (0, $lfxOo$ColumnAxisType).DEPTH) {
|
|
65
|
+
axisLabel = "Depth";
|
|
66
|
+
axisUnit = "m";
|
|
67
|
+
} else if (axisType == (0, $lfxOo$ColumnAxisType).HEIGHT) {
|
|
68
|
+
axisLabel = "Height";
|
|
69
|
+
axisUnit = "m";
|
|
70
|
+
}
|
|
71
|
+
return $43794af7643cdf40$var$h([
|
|
72
|
+
$43794af7643cdf40$var$h($43794af7643cdf40$export$64204d5cbb3e8227, {
|
|
73
|
+
label: axisLabel,
|
|
74
|
+
unit: axisUnit
|
|
75
|
+
}),
|
|
76
|
+
$43794af7643cdf40$var$h((0, $lfxOo$SVG), {
|
|
77
|
+
className: "age-axis-column",
|
|
78
|
+
style: {
|
|
79
|
+
width: `22px`,
|
|
80
|
+
height: `${totalHeight}px`
|
|
81
|
+
},
|
|
82
|
+
width: 22,
|
|
83
|
+
height: totalHeight
|
|
84
|
+
}, packages.map((group, i)=>{
|
|
85
|
+
const { key: key, scale: scale } = group;
|
|
86
|
+
return $43794af7643cdf40$var$h((0, $lfxOo$AgeAxis), {
|
|
87
|
+
key: key,
|
|
88
|
+
className: "age-axis",
|
|
89
|
+
scale: scale,
|
|
90
|
+
tickSizeOuter: 3
|
|
91
|
+
});
|
|
92
|
+
}))
|
|
93
|
+
]);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
export {$43794af7643cdf40$export$64204d5cbb3e8227 as VerticalAxisLabel, $43794af7643cdf40$export$40b6b0e4520eeb34 as CompositeAgeAxis, $43794af7643cdf40$export$ac30ca3cf5df959d as CompositeAgeAxisCore};
|
|
98
|
+
//# sourceMappingURL=age-axis.4a8cf5e6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;AAeA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,yEAAK;AAE5B,MAAM,oCAAc,CAAC,SAAE,KAAK,eAAE,cAAc,gBAAI,aAAa,OAAO;IAClE,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,cAAc;IAExD,OAAO,wBAAE,UAAU;QAAE,WAAW;IAAkB,GAAG;QACnD,wBAAE,CAAA,GAAA,iBAAS,GAAG;YACZ,OAAO;wBACP;QACF;KACD;AACH;AAEO,SAAS,0CAAkB,KAAK;IACrC,MAAM,SAAE,QAAQ,aAAO,OAAO,iBAAM,SAAS,EAAE,GAAG;IAClD,OAAO,wBAAE,wCAAwC;mBAAE;IAAU,GAAG;QAC9D;QACA;QACA,wBAAE,EAAE,CAAC,MAAM,CAAA,GAAA,oBAAY,GAAG;YAAE,WAAW;QAAgB,GAAG;KAC3D;AACH;AAEO,SAAS;IACd,MAAM,YAAE,QAAQ,YAAE,QAAQ,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElE,MAAM,WAAW,SAAS,GAAG,CAAC,CAAC;QAC7B,OAAO;YACL,KAAK,CAAC,QAAQ,EAAE,QAAQ,UAAU,EAAE;YACpC,GAAG,QAAQ,SAAS;QACtB;IACF;IAEA,OAAO,wBAAE,2CAAsB;kBAC7B;kBACA;qBACA;IACF;AACF;AAQO,SAAS,0CAAqB,KAAsC;IACzE,MAAM,YAAE,QAAQ,eAAE,WAAW,YAAE,QAAQ,EAAE,GAAG;IAE5C,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,OAAO,EACpC,OAAO;IAGT,IAAI,YAAoB;IACxB,IAAI,WAAW;IACf,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,KAAK,EAAE;QACpC,YAAY;QACZ,WAAW;IACb,OAAO,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,MAAM,EAAE;QAC5C,YAAY;QACZ,WAAW;IACb;IAEA,OAAO,wBAAE;QACP,wBAAE,2CAAmB;YACnB,OAAO;YACP,MAAM;QACR;QACA,wBACE,CAAA,GAAA,UAAE,GACF;YACE,WAAW;YACX,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC;gBAAE,QAAQ,GAAG,YAAY,EAAE,CAAC;YAAC;YACnD,OAAO;YACP,QAAQ;QACV,GACA,SAAS,GAAG,CAAC,CAAC,OAAO;YACnB,MAAM,OAAE,GAAG,SAAE,KAAK,EAAE,GAAG;YAEvB,OAAO,wBAAE,CAAA,GAAA,cAAM,GAAG;qBAChB;gBACA,WAAW;uBACX;gBACA,eAAe;YACjB;QACF;KAEH;AACH","sources":["packages/column-views/src/age-axis.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnSVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { PackageScaleLayoutData } from \"./prepare-units/composite-scale\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className } = props;\n return h(\"div.column-axis-label.age-axis-label\", { className }, [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ]);\n}\n\nexport function CompositeAgeAxis() {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo {\n axisType: ColumnAxisType;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, totalHeight, packages } = props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let axisLabel: string = \"Age\";\n let axisUnit = \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n axisLabel = \"Depth\";\n axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n axisLabel = \"Height\";\n axisUnit = \"m\";\n }\n\n return h([\n h(VerticalAxisLabel, {\n label: axisLabel,\n unit: axisUnit,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n })\n ),\n ]);\n}\n"],"names":[],"version":3,"file":"age-axis.4a8cf5e6.js.map"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
._FHjpa_age-axis {
|
|
2
|
+
transform: translateX(20px);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
._FHjpa_age-axis .tick text {
|
|
6
|
+
text-anchor: middle;
|
|
7
|
+
font-size: var(--column-axis-font-size, .8rem);
|
|
8
|
+
transform: rotate(-90deg)translate(8px, -12px);
|
|
9
|
+
font-weight: 400 !important;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
._FHjpa_age-axis .tick line {
|
|
13
|
+
stroke-width: 1px !important;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
._FHjpa_age-axis-column {
|
|
17
|
+
flex-shrink: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
._FHjpa_age-axis-label {
|
|
21
|
+
writing-mode: vertical-lr;
|
|
22
|
+
font-size: var(--column-axis-font-size, .8rem);
|
|
23
|
+
text-align: center;
|
|
24
|
+
max-height: 100vh;
|
|
25
|
+
position: sticky;
|
|
26
|
+
top: 0;
|
|
27
|
+
transform: rotate(180deg);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
._FHjpa_age-axis-unit {
|
|
31
|
+
color: var(--text-subtle-color);
|
|
32
|
+
}
|
|
33
|
+
/*# sourceMappingURL=age-axis.module.03773a80.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;AAII;;;;;;;AAOA;;;;AAGJ;;;;AAGA;;;;;;;;;;AAQA","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n"],"names":[],"version":3,"file":"age-axis.module.03773a80.css.map"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 $047fd20e1964ef56$exports = {};
|
|
6
|
+
|
|
7
|
+
$parcel$export($047fd20e1964ef56$exports, "age-axis", () => $047fd20e1964ef56$export$8e012612e152e560, (v) => $047fd20e1964ef56$export$8e012612e152e560 = v);
|
|
8
|
+
$parcel$export($047fd20e1964ef56$exports, "age-axis-column", () => $047fd20e1964ef56$export$5bb449cff67e2830, (v) => $047fd20e1964ef56$export$5bb449cff67e2830 = v);
|
|
9
|
+
$parcel$export($047fd20e1964ef56$exports, "age-axis-label", () => $047fd20e1964ef56$export$629e44847e8dc64c, (v) => $047fd20e1964ef56$export$629e44847e8dc64c = v);
|
|
10
|
+
$parcel$export($047fd20e1964ef56$exports, "age-axis-unit", () => $047fd20e1964ef56$export$1609122694a59b0a, (v) => $047fd20e1964ef56$export$1609122694a59b0a = v);
|
|
11
|
+
var $047fd20e1964ef56$export$8e012612e152e560;
|
|
12
|
+
var $047fd20e1964ef56$export$5bb449cff67e2830;
|
|
13
|
+
var $047fd20e1964ef56$export$629e44847e8dc64c;
|
|
14
|
+
var $047fd20e1964ef56$export$1609122694a59b0a;
|
|
15
|
+
$047fd20e1964ef56$export$8e012612e152e560 = `_FHjpa_age-axis`;
|
|
16
|
+
$047fd20e1964ef56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;
|
|
17
|
+
$047fd20e1964ef56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;
|
|
18
|
+
$047fd20e1964ef56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
export {$047fd20e1964ef56$exports as default};
|
|
22
|
+
//# sourceMappingURL=age-axis.module.3cc91335.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n"],"names":[],"version":3,"file":"age-axis.module.3cc91335.js.map"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import "./age-model-overlay.module.5d9e78fb.css";
|
|
2
|
+
import $3vk6I$agemodeloverlaymodulecd985dcbjs from "./age-model-overlay.module.cd985dcb.js";
|
|
3
|
+
import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./store.c4d7a8a4.js";
|
|
4
|
+
import $3vk6I$macrostrathyper from "@macrostrat/hyper";
|
|
5
|
+
import {useAPIResult as $3vk6I$useAPIResult} from "@macrostrat/ui-components";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
function $parcel$interopDefault(a) {
|
|
9
|
+
return a && a.__esModule ? a.default : a;
|
|
10
|
+
}
|
|
11
|
+
/** An in-development overlay for a column's age model.
|
|
12
|
+
*
|
|
13
|
+
* Age model info:
|
|
14
|
+
* {
|
|
15
|
+
* "boundary_id": 8049,
|
|
16
|
+
* "col_id": 432,
|
|
17
|
+
* "section_id": 3104,
|
|
18
|
+
* "interval_id": 268,
|
|
19
|
+
* "interval_name": "Calymmian",
|
|
20
|
+
* "age_bottom": 1600,
|
|
21
|
+
* "age_top": 1400,
|
|
22
|
+
* "rel_position": 0.85,
|
|
23
|
+
* "model_age": 1430,
|
|
24
|
+
* "boundary_status": "absolute",
|
|
25
|
+
* "boundary_type": "",
|
|
26
|
+
* "boundary_position": null,
|
|
27
|
+
* "unit_below": 11541,
|
|
28
|
+
* "unit_above": 0,
|
|
29
|
+
* "ref_id": 217
|
|
30
|
+
* },
|
|
31
|
+
*
|
|
32
|
+
* */
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
const $1a65c216af27346a$var$h = (0, $3vk6I$macrostrathyper).styled((0, ($parcel$interopDefault($3vk6I$agemodeloverlaymodulecd985dcbjs))));
|
|
37
|
+
function $1a65c216af27346a$export$1d1ebe9df97e8db() {
|
|
38
|
+
const col_id = (0, $d5074f164411387e$export$6fb40844db555b2)()?.[0]?.col_id;
|
|
39
|
+
const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
|
|
40
|
+
const ageModel = (0, $3vk6I$useAPIResult)("https://macrostrat.org/api/v2/age_model", {
|
|
41
|
+
col_id: col_id
|
|
42
|
+
}, (res)=>res.success.data);
|
|
43
|
+
if (ageModel == null) return null;
|
|
44
|
+
return $1a65c216af27346a$var$h("div.boundary-age-model", ageModel.map((surface)=>{
|
|
45
|
+
const height = scale(surface.model_age);
|
|
46
|
+
return $1a65c216af27346a$var$h("div.boundary-age-model-surface", {
|
|
47
|
+
key: surface.boundary_id,
|
|
48
|
+
style: {
|
|
49
|
+
top: `${height}px`
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
export {$1a65c216af27346a$export$1d1ebe9df97e8db as BoundaryAgeModelOverlay};
|
|
57
|
+
//# sourceMappingURL=age-model-overlay.c7226855.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;AAMH,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,iFAAK;AAoBrB,SAAS;IACd,MAAM,SAAS,CAAA,GAAA,wCAAiB,KAAK,CAAC,EAAE,EAAE;IAC1C,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,MAAM,WAAW,CAAA,GAAA,mBAAW,EAC1B,2CACA;gBAAE;IAAO,GACT,CAAC,MAAQ,IAAI,OAAO,CAAC,IAAI;IAG3B,IAAI,YAAY,MACd,OAAO;IAGT,OAAO,wBACL,0BACA,SAAS,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,MAAM,QAAQ,SAAS;QAEtC,OAAO,wBAAE,kCAAkC;YACzC,KAAK,QAAQ,WAAW;YACxB,OAAO;gBAAE,KAAK,GAAG,OAAO,EAAE,CAAC;YAAC;QAC9B;IACF;AAEJ","sources":["packages/column-views/src/age-model-overlay.ts"],"sourcesContent":["/** An in-development overlay for a column's age model.\n *\n * Age model info:\n * {\n * \"boundary_id\": 8049,\n * \"col_id\": 432,\n * \"section_id\": 3104,\n * \"interval_id\": 268,\n * \"interval_name\": \"Calymmian\",\n * \"age_bottom\": 1600,\n * \"age_top\": 1400,\n * \"rel_position\": 0.85,\n * \"model_age\": 1430,\n * \"boundary_status\": \"absolute\",\n * \"boundary_type\": \"\",\n * \"boundary_position\": null,\n * \"unit_below\": 11541,\n * \"unit_above\": 0,\n * \"ref_id\": 217\n * },\n *\n * */\n\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./age-model-overlay.module.sass\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { useCompositeScale, useMacrostratUnits } from \"./data-provider\";\nconst h = hyper.styled(styles);\n\ninterface AgeModelSurface {\n boundary_id: number;\n col_id: number;\n section_id: number;\n interval_id: number;\n interval_name: string;\n age_bottom: number;\n age_top: number;\n rel_position: number;\n model_age: number;\n boundary_status: \"absolute\" | \"relative\" | \"modeled\";\n boundary_type: string;\n boundary_position: null | number;\n unit_below: number;\n unit_above: number;\n ref_id: number;\n}\n\nexport function BoundaryAgeModelOverlay() {\n const col_id = useMacrostratUnits()?.[0]?.col_id;\n const scale = useCompositeScale();\n\n const ageModel = useAPIResult(\n \"https://macrostrat.org/api/v2/age_model\",\n { col_id },\n (res) => res.success.data\n );\n\n if (ageModel == null) {\n return null;\n }\n\n return h(\n \"div.boundary-age-model\",\n ageModel.map((surface) => {\n const height = scale(surface.model_age);\n\n return h(\"div.boundary-age-model-surface\", {\n key: surface.boundary_id,\n style: { top: `${height}px` },\n });\n })\n );\n}\n"],"names":[],"version":3,"file":"age-model-overlay.c7226855.js.map"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
._4q2yq_boundary-age-model {
|
|
2
|
+
width: 100%;
|
|
3
|
+
position: absolute;
|
|
4
|
+
top: 0;
|
|
5
|
+
left: 0;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
._4q2yq_boundary-age-model-surface {
|
|
9
|
+
border-top: 1px solid #90ee90;
|
|
10
|
+
position: absolute;
|
|
11
|
+
left: 0;
|
|
12
|
+
right: 0;
|
|
13
|
+
}
|
|
14
|
+
/*# sourceMappingURL=age-model-overlay.module.5d9e78fb.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;;;;AAMA","sources":["packages/column-views/src/age-model-overlay.module.sass"],"sourcesContent":[".boundary-age-model\n top: 0\n left: 0\n position: absolute\n width: 100%\n\n.boundary-age-model-surface\n left: 0\n right: 0\n position: absolute\n border-top: 1px solid lightgreen\n"],"names":[],"version":3,"file":"age-model-overlay.module.5d9e78fb.css.map"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 $28b135fe9cba32cc$exports = {};
|
|
6
|
+
|
|
7
|
+
$parcel$export($28b135fe9cba32cc$exports, "boundary-age-model", () => $28b135fe9cba32cc$export$4462bd5ca2cb539e, (v) => $28b135fe9cba32cc$export$4462bd5ca2cb539e = v);
|
|
8
|
+
$parcel$export($28b135fe9cba32cc$exports, "boundary-age-model-surface", () => $28b135fe9cba32cc$export$c9df9e1edaffc12d, (v) => $28b135fe9cba32cc$export$c9df9e1edaffc12d = v);
|
|
9
|
+
var $28b135fe9cba32cc$export$4462bd5ca2cb539e;
|
|
10
|
+
var $28b135fe9cba32cc$export$c9df9e1edaffc12d;
|
|
11
|
+
$28b135fe9cba32cc$export$4462bd5ca2cb539e = `_4q2yq_boundary-age-model`;
|
|
12
|
+
$28b135fe9cba32cc$export$c9df9e1edaffc12d = `_4q2yq_boundary-age-model-surface`;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export {$28b135fe9cba32cc$exports as default};
|
|
16
|
+
//# sourceMappingURL=age-model-overlay.module.cd985dcb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;AAAA,IAAA;AACA,IAAA;AADA,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA+C,CAAC,iCAAiC,CAAC","sources":["packages/column-views/src/age-model-overlay.module.sass"],"sourcesContent":[".boundary-age-model\n top: 0\n left: 0\n position: absolute\n width: 100%\n\n.boundary-age-model-surface\n left: 0\n right: 0\n position: absolute\n border-top: 1px solid lightgreen\n"],"names":[],"version":3,"file":"age-model-overlay.module.cd985dcb.js.map"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import {fetchAllColumns as $33a46f9423c8104a$export$45bd78cd093090fa, fetchEnvironments as $33a46f9423c8104a$export$780b4b253712916c, fetchIntervals as $33a46f9423c8104a$export$5d2ec2e733dfe6c7, fetchLithologies as $33a46f9423c8104a$export$1aa679bd5e605f82, fetchRefs as $33a46f9423c8104a$export$cd7bfa0860f58b96} from "./fetch.99aec438.js";
|
|
2
|
+
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./store.c4d7a8a4.js";
|
|
3
|
+
import $8Y44A$crossfetch from "cross-fetch";
|
|
4
|
+
import {useContext as $8Y44A$useContext, useEffect as $8Y44A$useEffect, useMemo as $8Y44A$useMemo, useState as $8Y44A$useState, createContext as $8Y44A$createContext} from "react";
|
|
5
|
+
import $8Y44A$macrostrathyper from "@macrostrat/hyper";
|
|
6
|
+
import {create as $8Y44A$create, useStore as $8Y44A$useStore} from "zustand";
|
|
7
|
+
import {APIProvider as $8Y44A$APIProvider} from "@macrostrat/ui-components";
|
|
8
|
+
import {ColumnProvider as $8Y44A$ColumnProvider} from "@macrostrat/column-components";
|
|
9
|
+
|
|
10
|
+
/** Data provider for information that needs to be loaded in bulk for frontend views */
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
function $774a5efa27d1c77b$var$createMacrostratStore(baseURL = "https://macrostrat.org/api/v2") {
|
|
19
|
+
return (0, $8Y44A$create)((set, get)=>{
|
|
20
|
+
return {
|
|
21
|
+
baseURL: baseURL,
|
|
22
|
+
inFlightRequests: new Set(),
|
|
23
|
+
async fetch (url, options) {
|
|
24
|
+
const url1 = baseURL + url;
|
|
25
|
+
// Avoid duplicate requests
|
|
26
|
+
const { inFlightRequests: inFlightRequests } = get();
|
|
27
|
+
if (inFlightRequests.has(url1)) return null; // Return null if already in flight
|
|
28
|
+
inFlightRequests.add(url1);
|
|
29
|
+
//set({ inFlightRequests });
|
|
30
|
+
const res = await (0, $8Y44A$crossfetch)(url1, options);
|
|
31
|
+
inFlightRequests.delete(url1);
|
|
32
|
+
//set({in})
|
|
33
|
+
return res;
|
|
34
|
+
},
|
|
35
|
+
...$774a5efa27d1c77b$var$createLithologiesSlice(set, get),
|
|
36
|
+
...$774a5efa27d1c77b$var$createIntervalsSlice(set, get),
|
|
37
|
+
...$774a5efa27d1c77b$var$createEnvironmentsSlice(set, get),
|
|
38
|
+
...$774a5efa27d1c77b$var$createColumnsSlice(set, get),
|
|
39
|
+
...$774a5efa27d1c77b$var$createRefsSlice(set, get)
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function $774a5efa27d1c77b$var$createRefsSlice(set, get) {
|
|
44
|
+
return {
|
|
45
|
+
refs: new Map(),
|
|
46
|
+
async getRefs (ids) {
|
|
47
|
+
const { refs: refs, fetch: fetch } = get();
|
|
48
|
+
const missing = ids.filter((id)=>!refs.has(id));
|
|
49
|
+
if (missing.length == 0) return ids.map((id)=>refs.get(id));
|
|
50
|
+
const data = await (0, $33a46f9423c8104a$export$cd7bfa0860f58b96)(missing, fetch);
|
|
51
|
+
if (data == null) return [];
|
|
52
|
+
for (const d of data)refs.set(d.ref_id, d);
|
|
53
|
+
set({
|
|
54
|
+
refs: refs
|
|
55
|
+
});
|
|
56
|
+
return ids.map((id)=>refs.get(id));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function $774a5efa27d1c77b$var$createColumnsSlice(set, get) {
|
|
61
|
+
// Column footprints separated by project
|
|
62
|
+
return {
|
|
63
|
+
columnFootprints: new Map(),
|
|
64
|
+
async getColumns (projectID, inProcess) {
|
|
65
|
+
const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();
|
|
66
|
+
const key = projectID ?? -1;
|
|
67
|
+
let _inProcess = inProcess;
|
|
68
|
+
if (projectID == null) // If no project is specified, in process columns cannot be included
|
|
69
|
+
_inProcess = false;
|
|
70
|
+
let footprints = columnFootprints.get(key);
|
|
71
|
+
if (footprints == null || footprints.inProcess != _inProcess) {
|
|
72
|
+
// Fetch the columns
|
|
73
|
+
const statusCode = inProcess ? "in process" : null;
|
|
74
|
+
let columns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
|
|
75
|
+
projectID: projectID,
|
|
76
|
+
statusCode: null,
|
|
77
|
+
fetch: fetch
|
|
78
|
+
});
|
|
79
|
+
if (columns == null) return;
|
|
80
|
+
if (_inProcess) {
|
|
81
|
+
const inProcessColumns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
|
|
82
|
+
projectID: projectID,
|
|
83
|
+
statusCode: "in process",
|
|
84
|
+
fetch: fetch
|
|
85
|
+
});
|
|
86
|
+
if (inProcessColumns == null) return;
|
|
87
|
+
// Combine active and in-process columns
|
|
88
|
+
columns = columns.concat(inProcessColumns);
|
|
89
|
+
}
|
|
90
|
+
footprints = {
|
|
91
|
+
project_id: projectID,
|
|
92
|
+
inProcess: inProcess,
|
|
93
|
+
columns: columns
|
|
94
|
+
};
|
|
95
|
+
// We could break multi-project result sets into separate caches here...
|
|
96
|
+
// Copy the original map
|
|
97
|
+
const columnFootprints2 = new Map(columnFootprints);
|
|
98
|
+
columnFootprints2.set(key, footprints);
|
|
99
|
+
set({
|
|
100
|
+
columnFootprints: columnFootprints2
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return footprints.columns;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function $774a5efa27d1c77b$var$createLithologiesSlice(set, get) {
|
|
108
|
+
return {
|
|
109
|
+
lithologies: null,
|
|
110
|
+
async getLithologies (ids) {
|
|
111
|
+
const { lithologies: lithologies, fetch: fetch } = get();
|
|
112
|
+
let lithMap = lithologies;
|
|
113
|
+
if (lithMap == null) {
|
|
114
|
+
const data = await (0, $33a46f9423c8104a$export$1aa679bd5e605f82)(fetch);
|
|
115
|
+
if (data == null) return;
|
|
116
|
+
lithMap = new Map(data.map((d)=>[
|
|
117
|
+
d.lith_id,
|
|
118
|
+
d
|
|
119
|
+
]));
|
|
120
|
+
set({
|
|
121
|
+
lithologies: lithMap
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Now get the lithologies
|
|
125
|
+
if (ids == null) return lithMap.values();
|
|
126
|
+
return ids.map((id)=>lithMap.get(id));
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function $774a5efa27d1c77b$var$createEnvironmentsSlice(set, get) {
|
|
131
|
+
return {
|
|
132
|
+
environments: null,
|
|
133
|
+
async getEnvironments (ids) {
|
|
134
|
+
const { environments: environments, fetch: fetch } = get();
|
|
135
|
+
let envMap = environments;
|
|
136
|
+
if (envMap == null) {
|
|
137
|
+
const data = await (0, $33a46f9423c8104a$export$780b4b253712916c)(fetch);
|
|
138
|
+
if (data == null) return [];
|
|
139
|
+
envMap = new Map(data.map((d)=>[
|
|
140
|
+
d.environ_id,
|
|
141
|
+
d
|
|
142
|
+
]));
|
|
143
|
+
set({
|
|
144
|
+
environments: envMap
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// Now get the environments
|
|
148
|
+
if (ids == null) return envMap.values();
|
|
149
|
+
return ids.map((id)=>envMap.get(id));
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function $774a5efa27d1c77b$var$createIntervalsSlice(set, get) {
|
|
154
|
+
return {
|
|
155
|
+
intervals: null,
|
|
156
|
+
async getIntervals (ids, timescaleID) {
|
|
157
|
+
const { intervals: intervals, fetch: fetch } = get();
|
|
158
|
+
let _intervals = intervals;
|
|
159
|
+
if (intervals == null || !$774a5efa27d1c77b$var$includesTimescale(intervals, timescaleID)) {
|
|
160
|
+
// Fetch the intervals
|
|
161
|
+
const data = await (0, $33a46f9423c8104a$export$5d2ec2e733dfe6c7)(timescaleID, fetch);
|
|
162
|
+
if (data == null) return [];
|
|
163
|
+
const intervalMap = intervals ?? new Map();
|
|
164
|
+
for (const d of data)intervalMap.set(d.int_id, d);
|
|
165
|
+
_intervals = intervalMap;
|
|
166
|
+
set({
|
|
167
|
+
intervals: _intervals
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
if (ids == null && timescaleID == null) return Array.from(_intervals.values());
|
|
171
|
+
if (timescaleID != null) return Array.from(_intervals.values()).filter((d)=>d.timescale_id == timescaleID);
|
|
172
|
+
return ids.map((id)=>intervals.get(id));
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
function $774a5efa27d1c77b$var$includesTimescale(intervals, timescaleID) {
|
|
177
|
+
if (intervals == null) return false;
|
|
178
|
+
if (timescaleID == null) return true;
|
|
179
|
+
return Array.from(intervals.values()).some((d)=>d.timescale_id == timescaleID);
|
|
180
|
+
}
|
|
181
|
+
function $774a5efa27d1c77b$export$fb98d5bae3a6800(selector) {
|
|
182
|
+
const ctx = (0, $8Y44A$useContext)($774a5efa27d1c77b$var$MacrostratDataProviderContext);
|
|
183
|
+
if (ctx == null) throw new Error("Missing MacrostratDataProvider");
|
|
184
|
+
if (selector === "api") return ctx;
|
|
185
|
+
return (0, $8Y44A$useStore)(ctx, selector);
|
|
186
|
+
}
|
|
187
|
+
const $774a5efa27d1c77b$var$dataTypeMapping = {
|
|
188
|
+
lithologies: (store)=>store.getLithologies,
|
|
189
|
+
intervals: (store)=>store.getIntervals,
|
|
190
|
+
columns: (store)=>store.getColumns,
|
|
191
|
+
environments: (store)=>store.getEnvironments,
|
|
192
|
+
refs: (store)=>store.getRefs
|
|
193
|
+
};
|
|
194
|
+
function $774a5efa27d1c77b$export$89dd4e5ae4a82373(dataType) {
|
|
195
|
+
if (dataType == "columns") throw new Error("Columns are not provided as a map");
|
|
196
|
+
const operator = $774a5efa27d1c77b$export$fb98d5bae3a6800($774a5efa27d1c77b$var$dataTypeMapping[dataType]);
|
|
197
|
+
(0, $8Y44A$useEffect)(()=>{
|
|
198
|
+
operator();
|
|
199
|
+
}, []);
|
|
200
|
+
return $774a5efa27d1c77b$export$fb98d5bae3a6800((state)=>state[dataType]);
|
|
201
|
+
}
|
|
202
|
+
function $774a5efa27d1c77b$export$81eaae0b474404fd(projectID, inProcess) {
|
|
203
|
+
const getColumns = $774a5efa27d1c77b$export$fb98d5bae3a6800((s)=>s.getColumns);
|
|
204
|
+
const columnsMap = $774a5efa27d1c77b$export$fb98d5bae3a6800((s)=>s.columnFootprints);
|
|
205
|
+
const key = projectID ?? -1;
|
|
206
|
+
const colData = columnsMap?.get(key);
|
|
207
|
+
(0, $8Y44A$useEffect)(()=>{
|
|
208
|
+
// Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before
|
|
209
|
+
if (colData == null || inProcess && !colData.inProcess) getColumns(projectID, inProcess);
|
|
210
|
+
// If we've already fetched the columns there's nothing to do...
|
|
211
|
+
}, [
|
|
212
|
+
colData,
|
|
213
|
+
inProcess,
|
|
214
|
+
getColumns
|
|
215
|
+
]);
|
|
216
|
+
return (0, $8Y44A$useMemo)(()=>{
|
|
217
|
+
if (colData == null) return null;
|
|
218
|
+
let columns = colData.columns;
|
|
219
|
+
if (!inProcess && colData.inProcess) // Our available set of columns includes 'in process' columns, but we don't want them
|
|
220
|
+
columns.features = columns.features?.filter((d)=>d.properties.status != "in process");
|
|
221
|
+
return columns;
|
|
222
|
+
}, [
|
|
223
|
+
colData,
|
|
224
|
+
inProcess
|
|
225
|
+
]);
|
|
226
|
+
}
|
|
227
|
+
function $774a5efa27d1c77b$export$b9c9fc603d74a555(dataType, ...args) {
|
|
228
|
+
const selector = $774a5efa27d1c77b$var$dataTypeMapping[dataType];
|
|
229
|
+
const operator = $774a5efa27d1c77b$export$fb98d5bae3a6800(selector);
|
|
230
|
+
const [value, setValue] = (0, $8Y44A$useState)(null);
|
|
231
|
+
(0, $8Y44A$useEffect)(()=>{
|
|
232
|
+
operator(...args).then(setValue);
|
|
233
|
+
}, [
|
|
234
|
+
operator,
|
|
235
|
+
...args
|
|
236
|
+
]);
|
|
237
|
+
return value;
|
|
238
|
+
}
|
|
239
|
+
/** By default, we provide a store linked to the production API */ const $774a5efa27d1c77b$var$MacrostratDataProviderContext = (0, $8Y44A$createContext)($774a5efa27d1c77b$var$createMacrostratStore());
|
|
240
|
+
function $774a5efa27d1c77b$export$690613f93cdc5576(props) {
|
|
241
|
+
const { baseURL: baseURL = "https://macrostrat.org/api/v2", children: children } = props;
|
|
242
|
+
const [store] = (0, $8Y44A$useState)(()=>$774a5efa27d1c77b$var$createMacrostratStore(baseURL));
|
|
243
|
+
return (0, $8Y44A$macrostrathyper)($774a5efa27d1c77b$export$3098013bc6cc316d, {
|
|
244
|
+
baseURL: baseURL
|
|
245
|
+
}, (0, $8Y44A$macrostrathyper)($774a5efa27d1c77b$var$MacrostratDataProviderContext.Provider, {
|
|
246
|
+
value: store
|
|
247
|
+
}, children));
|
|
248
|
+
}
|
|
249
|
+
function $774a5efa27d1c77b$export$3098013bc6cc316d({ children: children, useDev: useDev = false, baseURL: baseURL }) {
|
|
250
|
+
baseURL ??= useDev ? "https://dev2.macrostrat.org/api/v2" : "https://macrostrat.org/api/v2";
|
|
251
|
+
return (0, $8Y44A$macrostrathyper)((0, $8Y44A$APIProvider), {
|
|
252
|
+
baseURL: baseURL,
|
|
253
|
+
unwrapResponse: (res)=>res.success.data
|
|
254
|
+
}, children);
|
|
255
|
+
}
|
|
256
|
+
function $774a5efa27d1c77b$export$9e42f9b6e0d67c7d(props) {
|
|
257
|
+
/** A column provider specialized the Macrostrat API. Maps more
|
|
258
|
+
* generic concepts to Macrostrat-specific ones.
|
|
259
|
+
*/ const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
|
|
260
|
+
const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;
|
|
261
|
+
return (0, $8Y44A$macrostrathyper)((0, $8Y44A$ColumnProvider), {
|
|
262
|
+
axisType: axisType,
|
|
263
|
+
divisions: units,
|
|
264
|
+
range: domain,
|
|
265
|
+
pixelsPerMeter: pixelScale
|
|
266
|
+
}, children);
|
|
267
|
+
}
|
|
268
|
+
function $774a5efa27d1c77b$export$8492a5cae82b6a70({ children: children }) {
|
|
269
|
+
(0, $8Y44A$useEffect)(()=>{
|
|
270
|
+
console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider");
|
|
271
|
+
}, []);
|
|
272
|
+
return children;
|
|
273
|
+
}
|
|
274
|
+
function $774a5efa27d1c77b$export$4d18a90c945d129f() {
|
|
275
|
+
const getLithologies = $774a5efa27d1c77b$export$fb98d5bae3a6800((s)=>s.getLithologies);
|
|
276
|
+
const lithologies = $774a5efa27d1c77b$export$fb98d5bae3a6800((s)=>s.lithologies);
|
|
277
|
+
(0, $8Y44A$useEffect)(()=>{
|
|
278
|
+
if (lithologies == null) getLithologies();
|
|
279
|
+
}, [
|
|
280
|
+
lithologies,
|
|
281
|
+
getLithologies
|
|
282
|
+
]);
|
|
283
|
+
return lithologies;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
export {$774a5efa27d1c77b$export$fb98d5bae3a6800 as useMacrostratStore, $774a5efa27d1c77b$export$89dd4e5ae4a82373 as useMacrostratDefs, $774a5efa27d1c77b$export$81eaae0b474404fd as useMacrostratColumns, $774a5efa27d1c77b$export$b9c9fc603d74a555 as useMacrostratData, $774a5efa27d1c77b$export$690613f93cdc5576 as MacrostratDataProvider, $774a5efa27d1c77b$export$3098013bc6cc316d as MacrostratAPIProvider, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $774a5efa27d1c77b$export$8492a5cae82b6a70 as LithologiesProvider, $774a5efa27d1c77b$export$4d18a90c945d129f as useLithologies};
|
|
288
|
+
//# sourceMappingURL=base.910b80b4.js.map
|