@macrostrat/column-views 1.0.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/esm/{data-area.daff8da0.js → column-views.062d164a.js} +1 -1
- package/dist/esm/{data-area.daff8da0.js.map → column-views.062d164a.js.map} +1 -1
- package/dist/esm/{data-provider.1506eb64.js → column-views.07521ce6.js} +1 -1
- package/dist/esm/column-views.07521ce6.js.map +1 -0
- package/dist/esm/column-views.134b2e2a.js +9 -0
- package/dist/esm/column-views.134b2e2a.js.map +1 -0
- package/dist/esm/{selection-popover.module.0a701258.css → column-views.16cc7a58.css} +11 -8
- package/dist/esm/column-views.16cc7a58.css.map +1 -0
- package/dist/esm/column-views.1c589cc4.js +141 -0
- package/dist/esm/column-views.1c589cc4.js.map +1 -0
- package/dist/esm/column-views.1ece326b.js +420 -0
- package/dist/esm/column-views.1ece326b.js.map +1 -0
- package/dist/esm/column-views.1edc7300.js +40 -0
- package/dist/esm/column-views.1edc7300.js.map +1 -0
- package/dist/esm/column-views.240ef158.css +159 -0
- package/dist/esm/column-views.240ef158.css.map +1 -0
- package/dist/esm/column-views.25471fe0.css +111 -0
- package/dist/esm/column-views.25471fe0.css.map +1 -0
- package/dist/esm/column-views.28ee5f43.js +288 -0
- package/dist/esm/column-views.28ee5f43.js.map +1 -0
- package/dist/esm/column-views.30646469.js +118 -0
- package/dist/esm/column-views.30646469.js.map +1 -0
- package/dist/esm/column-views.338a7a83.css +134 -0
- package/dist/esm/column-views.338a7a83.css.map +1 -0
- package/dist/esm/column-views.33dbc778.js +95 -0
- package/dist/esm/column-views.33dbc778.js.map +1 -0
- package/dist/esm/column-views.343b5aa2.js +98 -0
- package/dist/esm/column-views.343b5aa2.js.map +1 -0
- package/dist/esm/column-views.34636ec7.js +104 -0
- package/dist/esm/column-views.34636ec7.js.map +1 -0
- package/dist/esm/column-views.3465c8ad.js +16 -0
- package/dist/esm/column-views.3465c8ad.js.map +1 -0
- package/dist/esm/column-views.39657bbf.js +55 -0
- package/dist/esm/column-views.39657bbf.js.map +1 -0
- package/dist/esm/column-views.3b972a9b.css +4 -0
- package/dist/esm/{composite.module.69a38fd1.css.map → column-views.3b972a9b.css.map} +1 -1
- package/dist/esm/column-views.3bec70d6.js +167 -0
- package/dist/esm/column-views.3bec70d6.js.map +1 -0
- package/dist/esm/column-views.3de4dc43.js +66 -0
- package/dist/esm/column-views.3de4dc43.js.map +1 -0
- package/dist/esm/{column.db058031.js → column-views.3f4db8cb.js} +8 -8
- package/dist/esm/column-views.3f4db8cb.js.map +1 -0
- package/dist/esm/column-views.40c1f361.js +206 -0
- package/dist/esm/column-views.40c1f361.js.map +1 -0
- package/dist/esm/{composite.module.0638e7ee.js → column-views.40cd59b5.js} +1 -1
- package/dist/esm/{composite.module.0638e7ee.js.map → column-views.40cd59b5.js.map} +1 -1
- package/dist/esm/column-views.4637f4ce.js +46 -0
- package/dist/esm/column-views.4637f4ce.js.map +1 -0
- package/dist/esm/column-views.4c4c5bac.js +163 -0
- package/dist/esm/column-views.4c4c5bac.js.map +1 -0
- package/dist/esm/column-views.4d374a35.js +19 -0
- package/dist/esm/column-views.4d374a35.js.map +1 -0
- package/dist/esm/column-views.57c4ddf3.js +125 -0
- package/dist/esm/column-views.57c4ddf3.js.map +1 -0
- package/dist/esm/column-views.58b82432.js +58 -0
- package/dist/esm/column-views.58b82432.js.map +1 -0
- package/dist/esm/column-views.5b2635fd.js +13 -0
- package/dist/esm/column-views.5b2635fd.js.map +1 -0
- package/dist/esm/column-views.5c02fee2.js +258 -0
- package/dist/esm/column-views.5c02fee2.js.map +1 -0
- package/dist/esm/column-views.5cc09c1d.js +152 -0
- package/dist/esm/column-views.5cc09c1d.js.map +1 -0
- package/dist/esm/{names.f6a4e9a4.js → column-views.650bd9f5.js} +5 -5
- package/dist/esm/column-views.650bd9f5.js.map +1 -0
- package/dist/esm/column-views.68409161.js +89 -0
- package/dist/esm/column-views.68409161.js.map +1 -0
- package/dist/esm/column-views.6a954628.js +70 -0
- package/dist/esm/column-views.6a954628.js.map +1 -0
- package/dist/esm/column-views.6c670c13.css +26 -0
- package/dist/esm/column-views.6c670c13.css.map +1 -0
- package/dist/esm/column-views.6d6b73b4.js +55 -0
- package/dist/esm/column-views.6d6b73b4.js.map +1 -0
- package/dist/esm/column-views.86c4b36f.js +222 -0
- package/dist/esm/column-views.86c4b36f.js.map +1 -0
- package/dist/esm/column-views.88de2cee.js +9 -0
- package/dist/esm/column-views.88de2cee.js.map +1 -0
- package/dist/esm/{resolvers.b5c82b78.js → column-views.8dd877af.js} +16 -3
- package/dist/esm/column-views.8dd877af.js.map +1 -0
- package/dist/esm/column-views.8e51206e.js +143 -0
- package/dist/esm/column-views.8e51206e.js.map +1 -0
- package/dist/esm/{column.module.7f47d25a.js → column-views.94b5cca1.js} +1 -1
- package/dist/esm/{column.module.7f47d25a.js.map → column-views.94b5cca1.js.map} +1 -1
- package/dist/esm/column-views.9804efda.js +75 -0
- package/dist/esm/column-views.9804efda.js.map +1 -0
- package/dist/esm/column-views.9bdd477a.js +57 -0
- package/dist/esm/column-views.9bdd477a.js.map +1 -0
- package/dist/esm/column-views.9ced149e.js +98 -0
- package/dist/esm/column-views.9ced149e.js.map +1 -0
- package/dist/esm/{column.module.cbb072df.css → column-views.a7be0a4a.css} +1 -1
- package/dist/esm/{column.module.cbb072df.css.map → column-views.a7be0a4a.css.map} +1 -1
- package/dist/esm/column-views.a98214b2.js +9 -0
- package/dist/esm/column-views.a98214b2.js.map +1 -0
- package/dist/esm/column-views.aa9fcdba.js +221 -0
- package/dist/esm/column-views.aa9fcdba.js.map +1 -0
- package/dist/esm/{isotopes-column.7cb5cc45.js → column-views.ac9fb5e1.js} +3 -3
- package/dist/esm/{isotopes-column.7cb5cc45.js.map → column-views.ac9fb5e1.js.map} +1 -1
- package/dist/esm/column-views.b2e5f1d9.js +11 -0
- package/dist/esm/column-views.b2e5f1d9.js.map +1 -0
- package/dist/esm/column-views.b775c0a3.js +112 -0
- package/dist/esm/column-views.b775c0a3.js.map +1 -0
- package/dist/esm/column-views.beb54e95.js +39 -0
- package/dist/esm/column-views.beb54e95.js.map +1 -0
- package/dist/esm/{core.4db8e452.js → column-views.c58aad3f.js} +15 -16
- package/dist/esm/column-views.c58aad3f.js.map +1 -0
- package/dist/esm/{carbon-isotopes.3b502a9e.js → column-views.d1ad48eb.js} +4 -4
- package/dist/esm/{carbon-isotopes.3b502a9e.js.map → column-views.d1ad48eb.js.map} +1 -1
- package/dist/esm/column-views.dc42f5d0.js +48 -0
- package/dist/esm/column-views.dc42f5d0.js.map +1 -0
- package/dist/esm/column-views.dff52504.js +22 -0
- package/dist/esm/column-views.dff52504.js.map +1 -0
- package/dist/esm/column-views.e2b9c23c.css +33 -0
- package/dist/esm/column-views.e2b9c23c.css.map +1 -0
- package/dist/esm/column-views.e40b8bfb.css +14 -0
- package/dist/esm/column-views.e40b8bfb.css.map +1 -0
- package/dist/esm/column-views.e77b9d6b.js +170 -0
- package/dist/esm/column-views.e77b9d6b.js.map +1 -0
- package/dist/esm/column-views.ea237aa8.js +52 -0
- package/dist/esm/column-views.ea237aa8.js.map +1 -0
- package/dist/esm/column-views.edf77621.js +22 -0
- package/dist/esm/column-views.edf77621.js.map +1 -0
- package/dist/esm/column-views.f1efcc2c.js +9 -0
- package/dist/esm/column-views.f1efcc2c.js.map +1 -0
- package/dist/esm/column-views.f2e5a72f.js +66 -0
- package/dist/esm/column-views.f2e5a72f.js.map +1 -0
- package/dist/esm/column-views.f71ec4b4.js +127 -0
- package/dist/esm/column-views.f71ec4b4.js.map +1 -0
- package/dist/esm/column-views.f9dab157.js +3 -0
- package/dist/esm/column-views.f9dab157.js.map +1 -0
- package/dist/esm/column-views.fa6f3292.js +215 -0
- package/dist/esm/column-views.fa6f3292.js.map +1 -0
- package/dist/esm/column-views.fc2b4611.js +9 -0
- package/dist/esm/column-views.fc2b4611.js.map +1 -0
- package/dist/esm/index.d.ts +797 -130
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +13 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +29 -13
- package/src/age-axis.module.sass +27 -0
- package/src/age-axis.ts +82 -19
- package/src/age-model-overlay.module.sass +11 -0
- package/src/age-model-overlay.ts +73 -0
- package/src/carbon-isotopes/column.ts +4 -2
- package/src/carbon-isotopes/core.ts +9 -6
- package/src/carbon-isotopes/data-provider.ts +3 -3
- package/src/column.module.sass +58 -49
- package/src/column.ts +149 -135
- package/src/correlation-chart/hash-string.ts +57 -0
- package/src/correlation-chart/index.ts +2 -0
- package/src/correlation-chart/main.module.sass +122 -0
- package/src/correlation-chart/main.ts +305 -0
- package/src/correlation-chart/prepare-data.ts +217 -0
- package/src/correlation-chart/stories/correlation-chart.stories.ts +192 -0
- package/src/correlation-chart/stories/stories.module.sass +18 -0
- package/src/correlation-chart/unconformity-line.module.sass +8 -0
- package/src/correlation-chart/unconformity-line.ts +25 -0
- package/src/data-provider/base.ts +388 -0
- package/src/data-provider/column-nav.ts +53 -0
- package/src/data-provider/fetch.ts +231 -0
- package/src/data-provider/index.ts +4 -0
- package/src/data-provider/store.ts +72 -0
- package/src/index.ts +5 -3
- package/src/maps/_shared/index.ts +2 -0
- package/src/maps/_shared/inset-map.stories.ts +20 -0
- package/src/maps/_shared/inset-map.ts +87 -0
- package/src/maps/_shared/styles.ts +57 -0
- package/src/maps/column-correlation/column-correlation-map.stories.ts +96 -0
- package/src/maps/column-correlation/core.ts +225 -0
- package/src/maps/column-correlation/index.ts +2 -0
- package/src/maps/column-correlation/state.ts +192 -0
- package/src/maps/column-navigation/index.ts +2 -0
- package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +102 -0
- package/src/maps/column-navigation/mapbox/index.ts +219 -0
- package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +119 -0
- package/src/maps/column-navigation/mapbox/state.ts +109 -0
- package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +46 -0
- package/src/{map → maps/column-navigation/svg}/index.ts +18 -6
- package/src/{map → maps/column-navigation/svg}/layers.ts +28 -109
- package/src/maps/column-navigation/utils/keyboard-navigation.ts +58 -0
- package/src/maps/index.ts +3 -0
- package/src/prepare-units/composite-scale.ts +353 -0
- package/src/prepare-units/helpers.ts +226 -0
- package/src/prepare-units/index.ts +177 -0
- package/src/prepare-units/utils.ts +98 -0
- package/src/section.ts +264 -84
- package/src/unit-details/index.ts +2 -215
- package/src/unit-details/{index.module.sass → panel.module.sass} +39 -8
- package/src/unit-details/panel.ts +523 -0
- package/src/{selection-popover.module.sass → unit-details/popover.module.sass} +4 -2
- package/src/unit-details/popover.ts +82 -0
- package/src/units/boxes.module.sass +16 -0
- package/src/units/boxes.ts +243 -90
- package/src/units/colors.ts +64 -0
- package/src/units/composite.ts +157 -152
- package/src/units/index.ts +76 -9
- package/src/units/names.ts +8 -4
- package/src/units/resolvers.ts +12 -1
- package/src/units/selection.ts +115 -101
- package/src/units/types.ts +5 -16
- package/dist/esm/age-axis.64c509ee.js +0 -41
- package/dist/esm/age-axis.64c509ee.js.map +0 -1
- package/dist/esm/boxes.13968b76.js +0 -164
- package/dist/esm/boxes.13968b76.js.map +0 -1
- package/dist/esm/boxes.module.28873d08.css +0 -4
- package/dist/esm/boxes.module.28873d08.css.map +0 -1
- package/dist/esm/boxes.module.605bdcd6.js +0 -13
- package/dist/esm/boxes.module.605bdcd6.js.map +0 -1
- package/dist/esm/column.8dd26e1a.js +0 -149
- package/dist/esm/column.8dd26e1a.js.map +0 -1
- package/dist/esm/column.db058031.js.map +0 -1
- package/dist/esm/column.module.039d872c.css +0 -151
- package/dist/esm/column.module.039d872c.css.map +0 -1
- package/dist/esm/column.module.e632868a.js +0 -19
- package/dist/esm/column.module.e632868a.js.map +0 -1
- package/dist/esm/composite.608a4ca2.js +0 -153
- package/dist/esm/composite.608a4ca2.js.map +0 -1
- package/dist/esm/composite.module.69a38fd1.css +0 -4
- package/dist/esm/core.4db8e452.js.map +0 -1
- package/dist/esm/data-provider.1506eb64.js.map +0 -1
- package/dist/esm/helpers.8a03cfc7.js +0 -94
- package/dist/esm/helpers.8a03cfc7.js.map +0 -1
- package/dist/esm/index.module.0844afd8.css +0 -65
- package/dist/esm/index.module.0844afd8.css.map +0 -1
- package/dist/esm/index.module.24fe3a2e.js +0 -37
- package/dist/esm/index.module.24fe3a2e.js.map +0 -1
- package/dist/esm/layers.ad5fd25d.js +0 -231
- package/dist/esm/layers.ad5fd25d.js.map +0 -1
- package/dist/esm/map.7aa26f17.js +0 -82
- package/dist/esm/map.7aa26f17.js.map +0 -1
- package/dist/esm/names.f6a4e9a4.js.map +0 -1
- package/dist/esm/providers.cd1e652f.js +0 -25
- package/dist/esm/providers.cd1e652f.js.map +0 -1
- package/dist/esm/resolvers.b5c82b78.js.map +0 -1
- package/dist/esm/section.cc1b1100.js +0 -118
- package/dist/esm/section.cc1b1100.js.map +0 -1
- package/dist/esm/selection-popover.17d1bd55.js +0 -60
- package/dist/esm/selection-popover.17d1bd55.js.map +0 -1
- package/dist/esm/selection-popover.module.0a701258.css.map +0 -1
- package/dist/esm/selection-popover.module.e22f5183.js +0 -22
- package/dist/esm/selection-popover.module.e22f5183.js.map +0 -1
- package/dist/esm/selection.bbf26d0e.js +0 -117
- package/dist/esm/selection.bbf26d0e.js.map +0 -1
- package/dist/esm/store.25eaa168.js +0 -18
- package/dist/esm/store.25eaa168.js.map +0 -1
- package/dist/esm/types.f016e032.js +0 -18
- package/dist/esm/types.f016e032.js.map +0 -1
- package/dist/esm/unit-details.56ff8b70.js +0 -209
- package/dist/esm/unit-details.56ff8b70.js.map +0 -1
- package/dist/esm/units.361088d4.js +0 -42
- package/dist/esm/units.361088d4.js.map +0 -1
- package/src/helpers.ts +0 -133
- package/src/providers.ts +0 -34
- package/src/selection-popover.ts +0 -71
- package/src/store.ts +0 -12
- package/src/units/units.scss +0 -16
- /package/src/{map → maps/column-navigation/svg}/animated.ts +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
.vpjVaa_page-header {
|
|
2
|
+
flex-direction: row;
|
|
3
|
+
justify-content: space-between;
|
|
4
|
+
margin-bottom: 1em;
|
|
5
|
+
display: flex;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.vpjVaa_diagram-container {
|
|
9
|
+
flex: 1;
|
|
10
|
+
min-height: 0;
|
|
11
|
+
display: flex;
|
|
12
|
+
position: relative;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.vpjVaa_diagram-container.vpjVaa_map-inset .vpjVaa_column-selection-map {
|
|
16
|
+
z-index: 1000;
|
|
17
|
+
width: 12em;
|
|
18
|
+
height: 12em;
|
|
19
|
+
position: absolute;
|
|
20
|
+
top: 1em;
|
|
21
|
+
right: 1em;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.vpjVaa_diagram-container.vpjVaa_map-expanded {
|
|
25
|
+
flex-direction: row;
|
|
26
|
+
gap: 1em;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.vpjVaa_diagram-container.vpjVaa_map-expanded .vpjVaa_assistant {
|
|
30
|
+
width: 40em;
|
|
31
|
+
position: relative;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.vpjVaa_column-selection-map, .vpjVaa_unit-details-panel, .vpjVaa_main-area {
|
|
35
|
+
border-radius: 6px;
|
|
36
|
+
box-shadow: 0 1px 3px #0000004d;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.vpjVaa_column-selection-map {
|
|
40
|
+
flex: 1;
|
|
41
|
+
width: 40em;
|
|
42
|
+
min-height: 12em;
|
|
43
|
+
max-height: 40em;
|
|
44
|
+
position: relative;
|
|
45
|
+
top: 0;
|
|
46
|
+
right: 0;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.vpjVaa_column-selection-map .vpjVaa_correlation-map {
|
|
51
|
+
height: 100%;
|
|
52
|
+
position: relative;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.vpjVaa_unit-details-panel {
|
|
56
|
+
background: var(--panel-secondary-background-color);
|
|
57
|
+
flex: 2;
|
|
58
|
+
max-width: 100%;
|
|
59
|
+
padding: 1em;
|
|
60
|
+
overflow: scroll;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.vpjVaa_main-area {
|
|
64
|
+
background-color: var(--panel-secondary-background-color);
|
|
65
|
+
flex: 1;
|
|
66
|
+
min-width: 0;
|
|
67
|
+
min-height: 0;
|
|
68
|
+
position: relative;
|
|
69
|
+
overflow: scroll;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.vpjVaa_correlation-diagram {
|
|
73
|
+
background-color: var(--panel-secondary-background-color);
|
|
74
|
+
--column-background-color: var(--background-color);
|
|
75
|
+
--column-stroke-color: var(--text-color);
|
|
76
|
+
padding: 1em 1em 1em 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.vpjVaa_package {
|
|
80
|
+
position: relative;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.vpjVaa_package .vpjVaa_package-overlay {
|
|
84
|
+
border: 2px solid red;
|
|
85
|
+
position: absolute;
|
|
86
|
+
top: 9px;
|
|
87
|
+
left: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.vpjVaa_package .vpjVaa_laterally-extensive-unit .vpjVaa_strat-col-span {
|
|
91
|
+
border: 2px solid red;
|
|
92
|
+
position: absolute;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.vpjVaa_package .vpjVaa_column-container {
|
|
96
|
+
flex-direction: row;
|
|
97
|
+
display: flex;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.vpjVaa_map-expanded-button {
|
|
101
|
+
z-index: 100;
|
|
102
|
+
position: absolute;
|
|
103
|
+
top: .5em;
|
|
104
|
+
right: .5em;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.vpjVaa_main-panel {
|
|
108
|
+
flex-direction: column;
|
|
109
|
+
height: 100%;
|
|
110
|
+
display: flex;
|
|
111
|
+
position: relative;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.vpjVaa_main-chart {
|
|
115
|
+
position: relative;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.vpjVaa_correlation-chart-inner {
|
|
119
|
+
flex-direction: row;
|
|
120
|
+
display: flex;
|
|
121
|
+
position: relative;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.vpjVaa_age-axis-container {
|
|
125
|
+
z-index: 100;
|
|
126
|
+
background-color: var(--panel-secondary-background-color);
|
|
127
|
+
flex-direction: row;
|
|
128
|
+
padding-left: 1em;
|
|
129
|
+
padding-right: 2px;
|
|
130
|
+
display: flex;
|
|
131
|
+
position: sticky;
|
|
132
|
+
left: 0;
|
|
133
|
+
}
|
|
134
|
+
/*# sourceMappingURL=column-views.338a7a83.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAGA;;;;;;;AAMA;;;;;;;AAOI;;;;;;;;;AAQF;;;;;AAIE;;;;;AAIJ;;;;;AAIA;;;;;;;;;;;AAGE;;;;;AAYF;;;;;;;;AAOA;;;;;;;;;AASA;;;;;;;AASA;;;;AAGE;;;;;;;AAMA;;;;;AAIA;;;;;AAIF;;;;;;;AAMA;;;;;;;AAMA;;;;AAGA;;;;;;AAKA","sources":["packages/column-views/src/correlation-chart/main.module.sass"],"sourcesContent":["$map-size: 40em\n$map-size-inset: 12em\n\n.page-header\n display: flex\n flex-direction: row\n justify-content: space-between\n margin-bottom: 1em\n\n.diagram-container\n flex: 1\n position: relative\n min-height: 0\n display: flex\n\n &.map-inset\n .column-selection-map\n position: absolute\n top: 1em\n right: 1em\n height: $map-size-inset\n width: $map-size-inset\n z-index: 1000\n\n &.map-expanded\n flex-direction: row\n gap: 1em\n\n .assistant\n width: 40em\n position: relative\n\n.column-selection-map, .unit-details-panel, .main-area\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3)\n border-radius: 6px\n\n.column-selection-map\n overflow: hidden\n\n .correlation-map\n height: 100%\n position: relative\n\n flex: 1\n min-height: $map-size-inset\n max-height: $map-size\n width: $map-size\n position: relative\n top: 0\n right: 0\n\n.unit-details-panel\n overflow: scroll\n background: var(--panel-secondary-background-color)\n flex: 2\n padding: 1em\n max-width: 100%\n\n.main-area\n position: relative\n flex: 1\n min-height: 0\n min-width: 0\n overflow: scroll\n background-color: var(--panel-secondary-background-color)\n\n\n.correlation-diagram\n padding: 1em\n padding-left: 0\n background-color: var(--panel-secondary-background-color)\n //box-shadow: 0 0 0.3em 0 var(--card-shadow-color)\n --column-background-color: var(--background-color)\n --column-stroke-color: var(--text-color)\n\n\n.package\n position: relative\n\n .package-overlay\n position: absolute\n top: 9px\n left: 0\n border: 2px solid red\n\n .laterally-extensive-unit .strat-col-span\n position: absolute\n border: 2px solid red\n\n .column-container\n display: flex\n flex-direction: row\n\n.map-expanded-button\n position: absolute\n top: 0.5em\n right: 0.5em\n z-index: 100\n\n.main-panel\n position: relative\n height: 100%\n display: flex\n flex-direction: column\n\n.main-chart\n position: relative\n\n.correlation-chart-inner\n display: flex\n flex-direction: row\n position: relative\n\n.age-axis-container\n display: flex\n flex-direction: row\n position: sticky\n left: 0\n z-index: 100\n padding-left: 1em\n padding-right: 2px\n background-color: var(--panel-secondary-background-color)\n"],"names":[],"version":3,"file":"column-views.338a7a83.css.map"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {getCSSVariable as $8F7e5$getCSSVariable} from "@macrostrat/color-utils";
|
|
2
|
+
import {buildGeoJSONSource as $8F7e5$buildGeoJSONSource} from "@macrostrat/mapbox-utils";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function $1dbfddc9637b572c$export$d2995719c3a4ae17(color) {
|
|
7
|
+
const columnColor = color ?? (0, $8F7e5$getCSSVariable)("--text-subtle-color", "black");
|
|
8
|
+
return {
|
|
9
|
+
sources: {
|
|
10
|
+
columns: (0, $8F7e5$buildGeoJSONSource)()
|
|
11
|
+
},
|
|
12
|
+
layers: [
|
|
13
|
+
{
|
|
14
|
+
id: "columns-fill",
|
|
15
|
+
type: "fill",
|
|
16
|
+
source: "columns",
|
|
17
|
+
paint: {
|
|
18
|
+
"fill-color": columnColor,
|
|
19
|
+
"fill-opacity": [
|
|
20
|
+
"case",
|
|
21
|
+
[
|
|
22
|
+
"boolean",
|
|
23
|
+
[
|
|
24
|
+
"feature-state",
|
|
25
|
+
"selected"
|
|
26
|
+
],
|
|
27
|
+
false
|
|
28
|
+
],
|
|
29
|
+
0.5,
|
|
30
|
+
[
|
|
31
|
+
"boolean",
|
|
32
|
+
[
|
|
33
|
+
"feature-state",
|
|
34
|
+
"hover"
|
|
35
|
+
],
|
|
36
|
+
false
|
|
37
|
+
],
|
|
38
|
+
0.3,
|
|
39
|
+
0.1
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: "columns-line",
|
|
45
|
+
type: "line",
|
|
46
|
+
source: "columns",
|
|
47
|
+
paint: {
|
|
48
|
+
"line-color": columnColor,
|
|
49
|
+
"line-width": 2,
|
|
50
|
+
"line-opacity": 0.5
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "columns-points",
|
|
55
|
+
type: "circle",
|
|
56
|
+
source: "columns",
|
|
57
|
+
paint: {
|
|
58
|
+
"circle-radius": 4,
|
|
59
|
+
"circle-color": columnColor,
|
|
60
|
+
"circle-opacity": [
|
|
61
|
+
"case",
|
|
62
|
+
[
|
|
63
|
+
"boolean",
|
|
64
|
+
[
|
|
65
|
+
"feature-state",
|
|
66
|
+
"selected"
|
|
67
|
+
],
|
|
68
|
+
false
|
|
69
|
+
],
|
|
70
|
+
1,
|
|
71
|
+
[
|
|
72
|
+
"boolean",
|
|
73
|
+
[
|
|
74
|
+
"feature-state",
|
|
75
|
+
"hover"
|
|
76
|
+
],
|
|
77
|
+
false
|
|
78
|
+
],
|
|
79
|
+
0.7,
|
|
80
|
+
0.5
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
filter: [
|
|
84
|
+
"==",
|
|
85
|
+
"$type",
|
|
86
|
+
"Point"
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
export {$1dbfddc9637b572c$export$d2995719c3a4ae17 as buildColumnsStyle};
|
|
95
|
+
//# sourceMappingURL=column-views.33dbc778.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;AAGO,SAAS,0CAAkB,KAAa;IAC7C,MAAM,cAAc,SAAS,CAAA,GAAA,qBAAa,EAAE,uBAAuB;IACnE,OAAO;QACL,SAAS;YACP,SAAS,CAAA,GAAA,yBAAiB;QAC5B;QACA,QAAQ;YACN;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,cAAc;oBACd,gBAAgB;wBACd;wBACA;4BAAC;4BAAW;gCAAC;gCAAiB;6BAAW;4BAAE;yBAAM;wBACjD;wBACA;4BAAC;4BAAW;gCAAC;gCAAiB;6BAAQ;4BAAE;yBAAM;wBAC9C;wBACA;qBACD;gBACH;YACF;YACA;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,cAAc;oBACd,cAAc;oBACd,gBAAgB;gBAClB;YACF;YACA;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,iBAAiB;oBACjB,gBAAgB;oBAChB,kBAAkB;wBAChB;wBACA;4BAAC;4BAAW;gCAAC;gCAAiB;6BAAW;4BAAE;yBAAM;wBACjD;wBACA;4BAAC;4BAAW;gCAAC;gCAAiB;6BAAQ;4BAAE;yBAAM;wBAC9C;wBACA;qBACD;gBACH;gBACA,QAAQ;oBAAC;oBAAM;oBAAS;iBAAQ;YAClC;SACD;IACH;AACF","sources":["packages/column-views/src/maps/_shared/styles.ts"],"sourcesContent":["import { getCSSVariable } from \"@macrostrat/color-utils\";\nimport { buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nexport function buildColumnsStyle(color: string) {\n const columnColor = color ?? getCSSVariable(\"--text-subtle-color\", \"black\");\n return {\n sources: {\n columns: buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"columns-fill\",\n type: \"fill\",\n source: \"columns\",\n paint: {\n \"fill-color\": columnColor,\n \"fill-opacity\": [\n \"case\",\n [\"boolean\", [\"feature-state\", \"selected\"], false],\n 0.5,\n [\"boolean\", [\"feature-state\", \"hover\"], false],\n 0.3,\n 0.1,\n ],\n },\n },\n {\n id: \"columns-line\",\n type: \"line\",\n source: \"columns\",\n paint: {\n \"line-color\": columnColor,\n \"line-width\": 2,\n \"line-opacity\": 0.5,\n },\n },\n {\n id: \"columns-points\",\n type: \"circle\",\n source: \"columns\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": columnColor,\n \"circle-opacity\": [\n \"case\",\n [\"boolean\", [\"feature-state\", \"selected\"], false],\n 1,\n [\"boolean\", [\"feature-state\", \"hover\"], false],\n 0.7,\n 0.5,\n ],\n },\n filter: [\"==\", \"$type\", \"Point\"],\n },\n ],\n };\n}\n"],"names":[],"version":3,"file":"column-views.33dbc778.js.map"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.650bd9f5.js";
|
|
2
|
+
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5c02fee2.js";
|
|
3
|
+
import {getMixedUnitColor as $6698edd2a743bf07$export$175d3e927f1a9860} from "./column-views.1edc7300.js";
|
|
4
|
+
import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, compositeScale as $8c8238faa5cde49c$export$723b790ebe9cdff8} from "./column-views.4c4c5bac.js";
|
|
5
|
+
import {useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.28ee5f43.js";
|
|
6
|
+
import {resolveID as $d3e69bd163d41f63$export$7be7d732f3de9464} from "./column-views.8dd877af.js";
|
|
7
|
+
import "./column-views.f9dab157.js";
|
|
8
|
+
import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5, useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./column-views.8e51206e.js";
|
|
9
|
+
import $7H3th$macrostrathyper from "@macrostrat/hyper";
|
|
10
|
+
import {LithologyColumn as $7H3th$LithologyColumn, useColumnLayout as $7H3th$useColumnLayout, useGeologicPattern as $7H3th$useGeologicPattern} from "@macrostrat/column-components";
|
|
11
|
+
import {useInDarkMode as $7H3th$useInDarkMode} from "@macrostrat/ui-components";
|
|
12
|
+
import {useMemo as $7H3th$useMemo} from "react";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
function $4c8184c4a7317749$export$3750278673318c9a({ width: width = 100 }) {
|
|
27
|
+
/*
|
|
28
|
+
A column showing units with USGS color fill
|
|
29
|
+
*/ return (0, $7H3th$macrostrathyper)((0, $7H3th$LithologyColumn), {
|
|
30
|
+
width: width
|
|
31
|
+
}, (0, $7H3th$macrostrathyper)((0, $d254716a820e9c85$export$5d1cdfabe8dc8085)));
|
|
32
|
+
}
|
|
33
|
+
function $4c8184c4a7317749$export$2006342ddaa547c6(props) {
|
|
34
|
+
/*
|
|
35
|
+
A column with units and names either
|
|
36
|
+
overlapping or offset to the right
|
|
37
|
+
*/ const { columnWidth: columnWidth, width: width, gutterWidth: gutterWidth = 0, labelOffset: labelOffset = 30 } = props;
|
|
38
|
+
return (0, $7H3th$macrostrathyper)([
|
|
39
|
+
(0, $7H3th$macrostrathyper)($4c8184c4a7317749$export$3750278673318c9a, {
|
|
40
|
+
width: columnWidth
|
|
41
|
+
}),
|
|
42
|
+
(0, $7H3th$macrostrathyper)((0, $bc17276da4abb183$export$594d19cdd88f8c16), {
|
|
43
|
+
transform: `translate(${columnWidth + gutterWidth})`,
|
|
44
|
+
paddingLeft: labelOffset,
|
|
45
|
+
width: width - columnWidth - gutterWidth
|
|
46
|
+
})
|
|
47
|
+
]);
|
|
48
|
+
}
|
|
49
|
+
function $4c8184c4a7317749$export$48a4cacf2b7a4441({ division: division, nColumns: nColumns = 2, ...rest }) {
|
|
50
|
+
const width = rest.width ?? (0, $7H3th$useColumnLayout)()?.width;
|
|
51
|
+
const nOverlappingUnits = division.overlappingUnits?.length ?? 0;
|
|
52
|
+
const columnIx = (division.column ?? 0) % nColumns;
|
|
53
|
+
return (0, $7H3th$macrostrathyper)((0, $8c8238faa5cde49c$export$f613830566442374), {
|
|
54
|
+
division: division,
|
|
55
|
+
...rest,
|
|
56
|
+
width: nOverlappingUnits > 0 ? width / nColumns : width,
|
|
57
|
+
x: columnIx * width / nColumns
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function $4c8184c4a7317749$export$6012fd1584b5d0c0(props) {
|
|
61
|
+
/** A unit component that is colored using a mixture of lithologies.
|
|
62
|
+
* This is a separate component because it depends on more providers/contexts to determine coloring. */ const lithMap = (0, $774a5efa27d1c77b$export$4d18a90c945d129f)();
|
|
63
|
+
const inDarkMode = (0, $7H3th$useInDarkMode)();
|
|
64
|
+
const backgroundColor = (0, $7H3th$useMemo)(()=>{
|
|
65
|
+
return (0, $6698edd2a743bf07$export$175d3e927f1a9860)(props.division, lithMap, inDarkMode);
|
|
66
|
+
}, [
|
|
67
|
+
props.division?.unit_id,
|
|
68
|
+
lithMap,
|
|
69
|
+
inDarkMode
|
|
70
|
+
]);
|
|
71
|
+
const patternID = (0, $7H3th$useMemo)(()=>{
|
|
72
|
+
return (0, $d3e69bd163d41f63$export$7be7d732f3de9464)(props.division); // ?? getPatternID(props.division.lith, lithMap);
|
|
73
|
+
}, [
|
|
74
|
+
props.division?.unit_id,
|
|
75
|
+
lithMap
|
|
76
|
+
]);
|
|
77
|
+
const fill = (0, $7H3th$useGeologicPattern)(patternID);
|
|
78
|
+
return (0, $7H3th$macrostrathyper)($4c8184c4a7317749$export$48a4cacf2b7a4441, {
|
|
79
|
+
fill: fill,
|
|
80
|
+
backgroundColor: backgroundColor,
|
|
81
|
+
...props
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function $4c8184c4a7317749$var$getPatternID(liths, lithMap) {
|
|
85
|
+
if (lithMap == null || liths == null || liths.length == 0) return null;
|
|
86
|
+
const patternIDs = new Set();
|
|
87
|
+
for (const lith of liths){
|
|
88
|
+
const lithData = lithMap.get(lith.lith_id);
|
|
89
|
+
if (lithData) patternIDs.add(`${lithData.fill}`);
|
|
90
|
+
}
|
|
91
|
+
let id = patternIDs.values()[0];
|
|
92
|
+
if (id == "0") return null;
|
|
93
|
+
return id;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$723b790ebe9cdff8 as compositeScale, $4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
|
|
98
|
+
//# sourceMappingURL=column-views.343b5aa2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,SAAS,0CAAY,SAAE,QAAQ,KAAK;IACzC;;EAEA,GACA,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,sBAAc,GAAG;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAQ;AACjD;AAEO,SAAS,0CAAkB,KAA0B;IAC1D;;;EAGA,GACA,MAAM,eAAE,WAAW,SAAE,KAAK,eAAE,cAAc,gBAAG,cAAc,IAAI,GAAG;IAElE,OAAO,CAAA,GAAA,sBAAA,EAAE;QACP,CAAA,GAAA,sBAAA,EAAE,2CAAa;YACb,OAAO;QACT;QACA,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAc,GAAG;YACjB,WAAW,CAAC,UAAU,EAAE,cAAc,YAAY,CAAC,CAAC;YACpD,aAAa;YACb,OAAO,QAAQ,cAAc;QAC/B;KACD;AACH;AAEO,SAAS,0CAAc,YAAE,QAAQ,YAAE,WAAW,GAAG,GAAG,MAAM;IAC/D,MAAM,QAAQ,KAAK,KAAK,IAAI,CAAA,GAAA,sBAAc,KAAK;IAE/C,MAAM,oBAAoB,SAAS,gBAAgB,EAAE,UAAU;IAC/D,MAAM,WAAW,AAAC,CAAA,SAAS,MAAM,IAAI,CAAA,IAAK;IAE1C,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAiB,GAAG;kBAC3B;QACA,GAAG,IAAI;QACP,OAAO,oBAAoB,IAAI,QAAQ,WAAW;QAClD,GAAG,AAAC,WAAW,QAAS;IAC1B;AACF;AAEO,SAAS,0CAAqB,KAAK;IACxC;uGACqG,GACrG,MAAM,UAAU,CAAA,GAAA,yCAAa;IAC7B,MAAM,aAAa,CAAA,GAAA,oBAAY;IAE/B,MAAM,kBAAkB,CAAA,GAAA,cAAM,EAAE;QAC9B,OAAO,CAAA,GAAA,yCAAgB,EAAE,MAAM,QAAQ,EAAE,SAAS;IACpD,GAAG;QAAC,MAAM,QAAQ,EAAE;QAAS;QAAS;KAAW;IAEjD,MAAM,YAAY,CAAA,GAAA,cAAM,EAAE;QACxB,OAAO,CAAA,GAAA,yCAAQ,EAAE,MAAM,QAAQ,GAAG,iDAAiD;IACrF,GAAG;QAAC,MAAM,QAAQ,EAAE;QAAS;KAAQ;IAErC,MAAM,OAAO,CAAA,GAAA,yBAAiB,EAAE;IAEhC,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAe;cACtB;yBACA;QACA,GAAG,KAAK;IACV;AACF;AAEA,SAAS,mCACP,KAAuB,EACvB,OAA+B;IAE/B,IAAI,WAAW,QAAQ,SAAS,QAAQ,MAAM,MAAM,IAAI,GACtD,OAAO;IAET,MAAM,aAAa,IAAI;IACvB,KAAK,MAAM,QAAQ,MAAO;QACxB,MAAM,WAAW,QAAQ,GAAG,CAAC,KAAK,OAAO;QACzC,IAAI,UACF,WAAW,GAAG,CAAC,GAAG,SAAS,IAAI,EAAE;IAErC;IACA,IAAI,KAAK,WAAW,MAAM,EAAE,CAAC,EAAE;IAC/B,IAAI,MAAM,KAAK,OAAO;IACtB,OAAO;AACT","sources":["packages/column-views/src/units/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./selection\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const columnIx = (division.column ?? 0) % nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: nOverlappingUnits > 0 ? width / nColumns : width,\n x: (columnIx * width) / nColumns,\n });\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n\n const backgroundColor = useMemo(() => {\n return getMixedUnitColor(props.division, lithMap, inDarkMode);\n }, [props.division?.unit_id, lithMap, inDarkMode]);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id, lithMap]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":[],"version":3,"file":"column-views.343b5aa2.js.map"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import {getSectionAgeRange as $663a0cdd08b02256$export$8093438ec3e4c6fd, groupUnitsIntoSections as $663a0cdd08b02256$export$dfbd00399d639b4c, mergeOverlappingSections as $663a0cdd08b02256$export$e7bb744b9be37f3d, preprocessUnits as $663a0cdd08b02256$export$55543e159517d62d} from "./column-views.1c589cc4.js";
|
|
2
|
+
import {computeSectionHeights as $728f6cf6c12cd490$export$7d3f3129a1a4b84e, collapseUnconformitiesByPixelHeight as $728f6cf6c12cd490$export$edbf01b435c75274, finalizeSectionHeights as $728f6cf6c12cd490$export$67442a0f5bef147b} from "./column-views.86c4b36f.js";
|
|
3
|
+
import {agesOverlap as $b6657fba8924a702$export$d92a67740c050efb, unitsOverlap as $b6657fba8924a702$export$f1a15f539858307, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a, createUnitSorter as $b6657fba8924a702$export$ab14c04795685c55, ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, ensureRealFloat as $b6657fba8924a702$export$97de5b0a6b4e4dac} from "./column-views.39657bbf.js";
|
|
4
|
+
import {ColumnAxisType as $iaXiN$ColumnAxisType} from "@macrostrat/column-components";
|
|
5
|
+
import {useMemo as $iaXiN$useMemo} from "react";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var $76e92a964ee11b97$export$e1644389ce074058 = /*#__PURE__*/ function(MergeSectionsMode) {
|
|
13
|
+
MergeSectionsMode["ALL"] = "all";
|
|
14
|
+
MergeSectionsMode["OVERLAPPING"] = "overlapping";
|
|
15
|
+
return MergeSectionsMode;
|
|
16
|
+
}({});
|
|
17
|
+
function $76e92a964ee11b97$export$206a0cb85295e433(data, options) {
|
|
18
|
+
/** This function wraps and memoizes all preparation steps for converting
|
|
19
|
+
* an array of units from the /units route to a form ready for usage.
|
|
20
|
+
*/ return (0, $iaXiN$useMemo)(()=>{
|
|
21
|
+
return $76e92a964ee11b97$export$be8c5a449df4bde4(data, options);
|
|
22
|
+
}, [
|
|
23
|
+
data,
|
|
24
|
+
...Object.values(options)
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
function $76e92a964ee11b97$export$be8c5a449df4bde4(units, options) {
|
|
28
|
+
/** Prepare units for rendering into Macrostrat columns */ const { t_age: t_age, b_age: b_age, mergeSections: mergeSections = "overlapping", axisType: axisType, unconformityHeight: unconformityHeight, collapseSmallUnconformities: collapseSmallUnconformities = false } = options;
|
|
29
|
+
/** Prototype filtering to age range */ let units1 = units.filter((d)=>{
|
|
30
|
+
// Filter units by t_age and b_age, inclusive
|
|
31
|
+
return (0, $b6657fba8924a702$export$d92a67740c050efb)(d, {
|
|
32
|
+
t_age: t_age,
|
|
33
|
+
b_age: b_age
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
let sections0;
|
|
37
|
+
if (mergeSections == "all" && axisType != (0, $iaXiN$ColumnAxisType).ORDINAL) {
|
|
38
|
+
// For the "merge sections" mode, we need to create a single section
|
|
39
|
+
const [b_unit_age, t_unit_age] = (0, $663a0cdd08b02256$export$8093438ec3e4c6fd)(units1);
|
|
40
|
+
sections0 = [
|
|
41
|
+
{
|
|
42
|
+
section_id: 0,
|
|
43
|
+
/**
|
|
44
|
+
* If ages limits are directly specified, use them to define the section bounds.
|
|
45
|
+
* */ t_age: t_age ?? t_unit_age,
|
|
46
|
+
b_age: b_age ?? b_unit_age,
|
|
47
|
+
units: units1
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
} else sections0 = (0, $663a0cdd08b02256$export$dfbd00399d639b4c)(units1, axisType);
|
|
51
|
+
/** Merging overlapping sections really only makes sense for age/height/depth
|
|
52
|
+
* columns. Ordinal columns are numbered by section so merging them
|
|
53
|
+
* results in collisions.
|
|
54
|
+
*/ let sections = sections0;
|
|
55
|
+
if (mergeSections == "overlapping" && axisType != (0, $iaXiN$ColumnAxisType).ORDINAL) sections = (0, $663a0cdd08b02256$export$e7bb744b9be37f3d)(sections);
|
|
56
|
+
// Filter out undefined sections just in case
|
|
57
|
+
sections = sections.filter((d)=>d != null);
|
|
58
|
+
/* Now that we are done merging sections, we can ensure that our sections
|
|
59
|
+
* are correctly limited to the t_age and b_age applied to the overall column.
|
|
60
|
+
*/ sections = sections.map((section)=>{
|
|
61
|
+
const { t_age: t_age, b_age: b_age } = section;
|
|
62
|
+
return {
|
|
63
|
+
...section,
|
|
64
|
+
t_age: Math.max(t_age, options.t_age ?? -Infinity),
|
|
65
|
+
b_age: Math.min(b_age, options.b_age ?? Infinity)
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
/* Compute pixel scales etc. for sections
|
|
69
|
+
* We need to do this now to determine which unconformities
|
|
70
|
+
* are small enough to collapse.
|
|
71
|
+
*/ let sectionsWithScales = (0, $728f6cf6c12cd490$export$7d3f3129a1a4b84e)(sections, options);
|
|
72
|
+
if (collapseSmallUnconformities ?? false) {
|
|
73
|
+
let threshold = unconformityHeight ?? 30;
|
|
74
|
+
if (typeof collapseSmallUnconformities == "number") threshold = collapseSmallUnconformities;
|
|
75
|
+
sectionsWithScales = (0, $728f6cf6c12cd490$export$edbf01b435c75274)(sectionsWithScales, threshold, options);
|
|
76
|
+
}
|
|
77
|
+
/** Reconstitute the units so that they are sorted by section.
|
|
78
|
+
* This is mostly important so that unit keyboard navigation
|
|
79
|
+
* predictably selects adjacent units.
|
|
80
|
+
*/ const units2 = sectionsWithScales.reduce((acc, group)=>{
|
|
81
|
+
const { units: units } = group;
|
|
82
|
+
for (const unit of units)acc.push(unit);
|
|
83
|
+
return acc;
|
|
84
|
+
}, []);
|
|
85
|
+
/** Prepare section scale information using groups */ const { totalHeight: totalHeight, sections: sections2 } = (0, $728f6cf6c12cd490$export$67442a0f5bef147b)(sectionsWithScales, unconformityHeight);
|
|
86
|
+
/** For each section, find units that are overlapping.
|
|
87
|
+
* We do this after merging sections so that we can
|
|
88
|
+
* handle cases where there are overlapping units across sections
|
|
89
|
+
* */ const sectionsOut = sections2.map((section)=>{
|
|
90
|
+
return {
|
|
91
|
+
...section,
|
|
92
|
+
units: (0, $663a0cdd08b02256$export$55543e159517d62d)(section, axisType)
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
return {
|
|
96
|
+
units: units2,
|
|
97
|
+
totalHeight: totalHeight,
|
|
98
|
+
sections: sectionsOut
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
export {$76e92a964ee11b97$export$e1644389ce074058 as MergeSectionsMode, $76e92a964ee11b97$export$206a0cb85295e433 as usePreparedColumnUnits, $76e92a964ee11b97$export$be8c5a449df4bde4 as prepareColumnUnits, $663a0cdd08b02256$export$55543e159517d62d as preprocessUnits, $663a0cdd08b02256$export$dfbd00399d639b4c as groupUnitsIntoSections, $b6657fba8924a702$export$f1a15f539858307 as unitsOverlap, $b6657fba8924a702$export$70e712e2ac0237a as getUnitHeightRange, $b6657fba8924a702$export$d92a67740c050efb as agesOverlap, $b6657fba8924a702$export$ab14c04795685c55 as createUnitSorter, $b6657fba8924a702$export$d0c8ecbd4ed8940c as ensureArray, $b6657fba8924a702$export$97de5b0a6b4e4dac as ensureRealFloat};
|
|
104
|
+
//# sourceMappingURL=column-views.34636ec7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;AAgCO,IAAA,AAAK,mEAAA;;;WAAA;;AAUL,SAAS,0CACd,IAAgB,EAChB,OAA6B;IAE7B;;GAEC,GACD,OAAO,CAAA,GAAA,cAAM,EAAE;QACb,OAAO,0CAAmB,MAAM;IAClC,GAAG;QAAC;WAAS,OAAO,MAAM,CAAC;KAAS;AACtC;AAEO,SAAS,0CACd,KAAiB,EACjB,OAA6B;IAE7B,wDAAwD,GAExD,MAAM,SACJ,KAAK,SACL,KAAK,iBACL,yCACA,QAAQ,sBACR,kBAAkB,+BAClB,8BAA8B,OAC/B,GAAG;IAEJ,qCAAqC,GACrC,IAAI,SAAS,MAAM,MAAM,CAAC,CAAC;QACzB,6CAA6C;QAC7C,OAAO,CAAA,GAAA,yCAAU,EAAE,GAAG;mBAAE;mBAAO;QAAM;IACvC;IAEA,IAAI;IACJ,IACE,0BACA,YAAY,CAAA,GAAA,qBAAa,EAAE,OAAO,EAClC;QACA,oEAAoE;QACpE,MAAM,CAAC,YAAY,WAAW,GAAG,CAAA,GAAA,yCAAiB,EAAE;QACpD,YAAY;YACV;gBACE,YAAY;gBACZ;;WAEG,GACH,OAAO,SAAS;gBAChB,OAAO,SAAS;gBAChB,OAAO;YACT;SACD;IACH,OACE,YAAY,CAAA,GAAA,yCAAqB,EAAE,QAAQ;IAG7C;;;GAGC,GACD,IAAI,WAAW;IACf,IACE,kCACA,YAAY,CAAA,GAAA,qBAAa,EAAE,OAAO,EAElC,WAAW,CAAA,GAAA,yCAAuB,EAAE;IAEtC,6CAA6C;IAC7C,WAAW,SAAS,MAAM,CAAC,CAAC,IAAM,KAAK;IAEvC;;GAEC,GACD,WAAW,SAAS,GAAG,CAAC,CAAC;QACvB,MAAM,SAAE,KAAK,SAAE,KAAK,EAAE,GAAG;QACzB,OAAO;YACL,GAAG,OAAO;YACV,OAAO,KAAK,GAAG,CAAC,OAAO,QAAQ,KAAK,IAAI,CAAC;YACzC,OAAO,KAAK,GAAG,CAAC,OAAO,QAAQ,KAAK,IAAI;QAC1C;IACF;IAEA;;;GAGC,GACD,IAAI,qBAAqB,CAAA,GAAA,yCAAoB,EAAE,UAAU;IAEzD,IAAI,+BAA+B,OAAO;QACxC,IAAI,YAAY,sBAAsB;QACtC,IAAI,OAAO,+BAA+B,UACxC,YAAY;QAGd,qBAAqB,CAAA,GAAA,yCAAkC,EACrD,oBACA,WACA;IAEJ;IAEA;;;GAGC,GACD,MAAM,SAAS,mBAAmB,MAAM,CAAC,CAAC,KAAK;QAC7C,MAAM,SAAE,KAAK,EAAE,GAAG;QAClB,KAAK,MAAM,QAAQ,MACjB,IAAI,IAAI,CAAC;QAEX,OAAO;IACT,GAAG,EAAE;IAEL,mDAAmD,GACnD,MAAM,eAAE,WAAW,EAAE,UAAU,SAAS,EAAE,GAAG,CAAA,GAAA,yCAAqB,EAChE,oBACA;IAGF;;;KAGG,GACH,MAAM,cAAc,UAAU,GAAG,CAAC,CAAC;QACjC,OAAO;YACL,GAAG,OAAO;YACV,OAAO,CAAA,GAAA,yCAAc,EAAE,SAAS;QAClC;IACF;IAEA,OAAO;QACL,OAAO;qBACP;QACA,UAAU;IACZ;AACF","sources":["packages/column-views/src/prepare-units/index.ts"],"sourcesContent":["import {\n getSectionAgeRange,\n groupUnitsIntoSections,\n mergeOverlappingSections,\n preprocessUnits,\n} from \"./helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { useMemo } from \"react\";\nimport type { ExtUnit } from \"./helpers\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport {\n collapseUnconformitiesByPixelHeight,\n ColumnScaleOptions,\n CompositeColumnData,\n computeSectionHeights,\n finalizeSectionHeights,\n PackageLayoutData,\n} from \"./composite-scale\";\nimport type { SectionInfo } from \"./helpers\";\nimport { agesOverlap, unitsOverlap } from \"./utils\";\n\nexport * from \"./utils\";\nexport { preprocessUnits, groupUnitsIntoSections };\n\nexport interface PrepareColumnOptions extends ColumnScaleOptions {\n axisType: ColumnAxisType;\n t_age?: number;\n b_age?: number;\n mergeSections?: MergeSectionsMode;\n collapseSmallUnconformities?: boolean | number;\n}\n\nexport enum MergeSectionsMode {\n ALL = \"all\",\n OVERLAPPING = \"overlapping\",\n}\n\nexport interface PreparedColumnData extends CompositeColumnData {\n sections: PackageLayoutData[];\n units: ExtUnit[];\n}\n\nexport function usePreparedColumnUnits(\n data: UnitLong[],\n options: PrepareColumnOptions\n): PreparedColumnData {\n /** This function wraps and memoizes all preparation steps for converting\n * an array of units from the /units route to a form ready for usage.\n */\n return useMemo(() => {\n return prepareColumnUnits(data, options);\n }, [data, ...Object.values(options)]);\n}\n\nexport function prepareColumnUnits(\n units: UnitLong[],\n options: PrepareColumnOptions\n): PreparedColumnData {\n /** Prepare units for rendering into Macrostrat columns */\n\n const {\n t_age,\n b_age,\n mergeSections = MergeSectionsMode.OVERLAPPING,\n axisType,\n unconformityHeight,\n collapseSmallUnconformities = false,\n } = options;\n\n /** Prototype filtering to age range */\n let units1 = units.filter((d) => {\n // Filter units by t_age and b_age, inclusive\n return agesOverlap(d, { t_age, b_age });\n });\n\n let sections0: SectionInfo<UnitLong>[];\n if (\n mergeSections == MergeSectionsMode.ALL &&\n axisType != ColumnAxisType.ORDINAL\n ) {\n // For the \"merge sections\" mode, we need to create a single section\n const [b_unit_age, t_unit_age] = getSectionAgeRange(units1);\n sections0 = [\n {\n section_id: 0,\n /**\n * If ages limits are directly specified, use them to define the section bounds.\n * */\n t_age: t_age ?? t_unit_age,\n b_age: b_age ?? b_unit_age,\n units: units1,\n },\n ];\n } else {\n sections0 = groupUnitsIntoSections(units1, axisType);\n }\n\n /** Merging overlapping sections really only makes sense for age/height/depth\n * columns. Ordinal columns are numbered by section so merging them\n * results in collisions.\n */\n let sections = sections0;\n if (\n mergeSections == MergeSectionsMode.OVERLAPPING &&\n axisType != ColumnAxisType.ORDINAL\n ) {\n sections = mergeOverlappingSections(sections);\n }\n // Filter out undefined sections just in case\n sections = sections.filter((d) => d != null);\n\n /* Now that we are done merging sections, we can ensure that our sections\n * are correctly limited to the t_age and b_age applied to the overall column.\n */\n sections = sections.map((section) => {\n const { t_age, b_age } = section;\n return {\n ...section,\n t_age: Math.max(t_age, options.t_age ?? -Infinity),\n b_age: Math.min(b_age, options.b_age ?? Infinity),\n };\n });\n\n /* Compute pixel scales etc. for sections\n * We need to do this now to determine which unconformities\n * are small enough to collapse.\n */\n let sectionsWithScales = computeSectionHeights(sections, options);\n\n if (collapseSmallUnconformities ?? false) {\n let threshold = unconformityHeight ?? 30;\n if (typeof collapseSmallUnconformities == \"number\") {\n threshold = collapseSmallUnconformities;\n }\n\n sectionsWithScales = collapseUnconformitiesByPixelHeight(\n sectionsWithScales,\n threshold,\n options\n );\n }\n\n /** Reconstitute the units so that they are sorted by section.\n * This is mostly important so that unit keyboard navigation\n * predictably selects adjacent units.\n */\n const units2 = sectionsWithScales.reduce((acc, group) => {\n const { units } = group;\n for (const unit of units) {\n acc.push(unit);\n }\n return acc;\n }, []);\n\n /** Prepare section scale information using groups */\n const { totalHeight, sections: sections2 } = finalizeSectionHeights(\n sectionsWithScales,\n unconformityHeight\n );\n\n /** For each section, find units that are overlapping.\n * We do this after merging sections so that we can\n * handle cases where there are overlapping units across sections\n * */\n const sectionsOut = sections2.map((section) => {\n return {\n ...section,\n units: preprocessUnits(section, axisType),\n };\n });\n\n return {\n units: units2,\n totalHeight,\n sections: sectionsOut,\n };\n}\n"],"names":[],"version":3,"file":"column-views.34636ec7.js.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=column-views.3465c8ad.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":"column-views.3465c8ad.js.map"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {compareAgeRanges as $1qVxh$compareAgeRanges, AgeRangeRelationship as $1qVxh$AgeRangeRelationship} from "@macrostrat/stratigraphy-utils";
|
|
2
|
+
import {ColumnAxisType as $1qVxh$ColumnAxisType} from "@macrostrat/column-components";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const $b6657fba8924a702$var$dt = 0.001;
|
|
7
|
+
const $b6657fba8924a702$export$f1a15f539858307 = function(a, b, axisType = (0, $1qVxh$ColumnAxisType).AGE, tolerance = 0.001) {
|
|
8
|
+
const rel = (0, $1qVxh$compareAgeRanges)($b6657fba8924a702$export$70e712e2ac0237a(a, axisType), $b6657fba8924a702$export$70e712e2ac0237a(b, axisType), tolerance);
|
|
9
|
+
return rel != (0, $1qVxh$AgeRangeRelationship).Disjoint;
|
|
10
|
+
};
|
|
11
|
+
function $b6657fba8924a702$export$d92a67740c050efb(a, b, tolerance = $b6657fba8924a702$var$dt) {
|
|
12
|
+
return $b6657fba8924a702$export$f1a15f539858307(a, b, (0, $1qVxh$ColumnAxisType).AGE, tolerance);
|
|
13
|
+
}
|
|
14
|
+
function $b6657fba8924a702$export$70e712e2ac0237a(unit, axisType) {
|
|
15
|
+
switch(axisType){
|
|
16
|
+
case (0, $1qVxh$ColumnAxisType).AGE:
|
|
17
|
+
return [
|
|
18
|
+
unit.b_clip_pos ?? unit.b_age,
|
|
19
|
+
unit.t_clip_pos ?? unit.t_age
|
|
20
|
+
];
|
|
21
|
+
case (0, $1qVxh$ColumnAxisType).DEPTH:
|
|
22
|
+
case (0, $1qVxh$ColumnAxisType).ORDINAL:
|
|
23
|
+
case (0, $1qVxh$ColumnAxisType).HEIGHT:
|
|
24
|
+
return [
|
|
25
|
+
unit.b_clip_pos ?? unit.b_pos,
|
|
26
|
+
unit.t_clip_pos ?? unit.t_pos
|
|
27
|
+
];
|
|
28
|
+
default:
|
|
29
|
+
throw new Error(`Unknown axis type: ${axisType}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const $b6657fba8924a702$export$ab14c04795685c55 = (axisType)=>{
|
|
33
|
+
return (a, b)=>{
|
|
34
|
+
const a_pos = $b6657fba8924a702$export$70e712e2ac0237a(a, axisType);
|
|
35
|
+
const b_pos = $b6657fba8924a702$export$70e712e2ac0237a(b, axisType);
|
|
36
|
+
const d_top = a_pos[1] - b_pos[1];
|
|
37
|
+
if (d_top != 0) return d_top;
|
|
38
|
+
return a_pos[0] - b_pos[0];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
function $b6657fba8924a702$export$d0c8ecbd4ed8940c(x) {
|
|
42
|
+
if (Array.isArray(x)) return x;
|
|
43
|
+
return [
|
|
44
|
+
x
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
function $b6657fba8924a702$export$97de5b0a6b4e4dac(x) {
|
|
48
|
+
if (typeof x == "string") x = parseFloat(x);
|
|
49
|
+
if (isNaN(x)) return null;
|
|
50
|
+
return x;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
export {$b6657fba8924a702$export$f1a15f539858307 as unitsOverlap, $b6657fba8924a702$export$70e712e2ac0237a as getUnitHeightRange, $b6657fba8924a702$export$d92a67740c050efb as agesOverlap, $b6657fba8924a702$export$ab14c04795685c55 as createUnitSorter, $b6657fba8924a702$export$d0c8ecbd4ed8940c as ensureArray, $b6657fba8924a702$export$97de5b0a6b4e4dac as ensureRealFloat};
|
|
55
|
+
//# sourceMappingURL=column-views.39657bbf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;AAQA,MAAM,2BAAK;AAiBJ,MAAM,2CAA6B,SACxC,CAAC,EACD,CAAC,EACD,WAA2B,CAAA,GAAA,qBAAa,EAAE,GAAG,EAC7C,YAAoB,KAAK;IAEzB,MAAM,MAAM,CAAA,GAAA,uBAAe,EACzB,yCAAmB,GAAG,WACtB,yCAAmB,GAAG,WACtB;IAEF,OAAO,OAAO,CAAA,GAAA,2BAAmB,EAAE,QAAQ;AAC7C;AAGO,SAAS,0CACd,CAAuB,EACvB,CAAuB,EACvB,YAAoB,wBAAE;IAEtB,OAAO,yCAAa,GAAG,GAAG,CAAA,GAAA,qBAAa,EAAE,GAAG,EAAE;AAChD;AAQO,SAAS,yCACd,IAAyB,EACzB,QAAwB;IAExB,OAAQ;QACN,KAAK,CAAA,GAAA,qBAAa,EAAE,GAAG;YACrB,OAAO;gBAAC,KAAK,UAAU,IAAI,KAAK,KAAK;gBAAE,KAAK,UAAU,IAAI,KAAK,KAAK;aAAC;QACvE,KAAK,CAAA,GAAA,qBAAa,EAAE,KAAK;QACzB,KAAK,CAAA,GAAA,qBAAa,EAAE,OAAO;QAC3B,KAAK,CAAA,GAAA,qBAAa,EAAE,MAAM;YACxB,OAAO;gBAAC,KAAK,UAAU,IAAI,KAAK,KAAK;gBAAE,KAAK,UAAU,IAAI,KAAK,KAAK;aAAC;QACvE;YACE,MAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,UAAU;IACpD;AACF;AAEO,MAAM,4CAAmB,CAAC;IAC/B,OAAO,CAAC,GAAa;QACnB,MAAM,QAAQ,yCAAmB,GAAG;QACpC,MAAM,QAAQ,yCAAmB,GAAG;QACpC,MAAM,QAAQ,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE;QACjC,IAAI,SAAS,GACX,OAAO;QAET,OAAO,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE;IAC5B;AACF;AAEO,SAAS,0CAAe,CAAU;IACvC,IAAI,MAAM,OAAO,CAAC,IAChB,OAAO;IAET,OAAO;QAAC;KAAE;AACZ;AAEO,SAAS,0CAAgB,CAAyB;IACvD,IAAI,OAAO,KAAK,UACd,IAAI,WAAW;IAEjB,IAAI,MAAM,IACR,OAAO;IAET,OAAO;AACT","sources":["packages/column-views/src/prepare-units/utils.ts"],"sourcesContent":["import type { BaseUnit } from \"@macrostrat/api-types\";\nimport {\n AgeRangeRelationship,\n compareAgeRanges,\n} from \"@macrostrat/stratigraphy-utils\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { StratigraphicPackage } from \"./helpers\";\n\nconst dt = 0.001;\n\ninterface UnitsOverlap {\n (\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n axisType?: ColumnAxisType.AGE,\n tolerance?: number\n ): boolean;\n (\n a: BaseUnit,\n b: BaseUnit,\n axisType: ColumnAxisType,\n tolerance?: number\n ): boolean;\n}\n\nexport const unitsOverlap: UnitsOverlap = function (\n a,\n b,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n tolerance: number = 0.001\n): boolean {\n const rel = compareAgeRanges(\n getUnitHeightRange(a, axisType),\n getUnitHeightRange(b, axisType),\n tolerance\n );\n return rel != AgeRangeRelationship.Disjoint;\n};\n\n/** A more permissive overlap function in the age space */\nexport function agesOverlap(\n a: StratigraphicPackage,\n b: StratigraphicPackage,\n tolerance: number = dt\n): boolean {\n return unitsOverlap(a, b, ColumnAxisType.AGE, tolerance);\n}\n\ninterface PossiblyClippedUnit extends BaseUnit {\n // Internally created clipped positions\n t_clip_pos?: number;\n b_clip_pos?: number;\n}\n\nexport function getUnitHeightRange(\n unit: PossiblyClippedUnit,\n axisType: ColumnAxisType\n): [number, number] {\n switch (axisType) {\n case ColumnAxisType.AGE:\n return [unit.b_clip_pos ?? unit.b_age, unit.t_clip_pos ?? unit.t_age];\n case ColumnAxisType.DEPTH:\n case ColumnAxisType.ORDINAL:\n case ColumnAxisType.HEIGHT:\n return [unit.b_clip_pos ?? unit.b_pos, unit.t_clip_pos ?? unit.t_pos];\n default:\n throw new Error(`Unknown axis type: ${axisType}`);\n }\n}\n\nexport const createUnitSorter = (axisType: ColumnAxisType) => {\n return (a: BaseUnit, b: BaseUnit) => {\n const a_pos = getUnitHeightRange(a, axisType);\n const b_pos = getUnitHeightRange(b, axisType);\n const d_top = a_pos[1] - b_pos[1];\n if (d_top != 0) {\n return d_top;\n }\n return a_pos[0] - b_pos[0];\n };\n};\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n if (Array.isArray(x)) {\n return x;\n }\n return [x];\n}\n\nexport function ensureRealFloat(x: number | string | null): number | null {\n if (typeof x == \"string\") {\n x = parseFloat(x);\n }\n if (isNaN(x)) {\n return null;\n }\n return x;\n}\n"],"names":[],"version":3,"file":"column-views.39657bbf.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAAA","sources":["packages/column-views/src/units/composite.module.sass"],"sourcesContent":[".unit-label\n text-align: center\n"],"names":[],"version":3,"file":"
|
|
1
|
+
{"mappings":"AAAA","sources":["packages/column-views/src/units/composite.module.sass"],"sourcesContent":[".unit-label\n text-align: center\n"],"names":[],"version":3,"file":"column-views.3b972a9b.css.map"}
|