@macrostrat/column-views 3.9.0 → 3.11.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 +44 -0
- package/dist/column-views.css +10 -0
- package/dist/correlation-chart/main.cjs +11 -3
- package/dist/correlation-chart/main.cjs.map +1 -1
- package/dist/correlation-chart/main.d.ts +1 -1
- package/dist/correlation-chart/main.js +11 -3
- package/dist/correlation-chart/main.js.map +1 -1
- package/dist/index.cjs +18 -42
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -34
- package/dist/index.js.map +1 -1
- package/dist/unit-details/age-window-tag.cjs +68 -0
- package/dist/unit-details/age-window-tag.cjs.map +1 -0
- package/dist/unit-details/age-window-tag.d.ts +26 -0
- package/dist/unit-details/age-window-tag.js +66 -0
- package/dist/unit-details/age-window-tag.js.map +1 -0
- package/dist/unit-details/age-window-tag.module.sass.cjs +12 -0
- package/dist/unit-details/age-window-tag.module.sass.cjs.map +1 -0
- package/dist/unit-details/age-window-tag.module.sass.js +11 -0
- package/dist/unit-details/age-window-tag.module.sass.js.map +1 -0
- package/dist/unit-details/index.d.ts +1 -0
- package/dist/units/boxes.cjs +3 -3
- package/dist/units/boxes.cjs.map +1 -1
- package/dist/units/boxes.js +3 -3
- package/dist/units/boxes.js.map +1 -1
- package/dist/units/index.cjs +7 -11
- package/dist/units/index.cjs.map +1 -1
- package/dist/units/index.d.ts +0 -1
- package/dist/units/index.js +4 -9
- package/dist/units/index.js.map +1 -1
- package/package.json +6 -27
- package/src/correlation-chart/main.ts +14 -2
- package/src/index.ts +3 -1
- package/src/unit-details/age-window-tag.module.sass +10 -0
- package/src/unit-details/age-window-tag.ts +102 -0
- package/src/unit-details/index.ts +1 -0
- package/src/units/boxes.ts +7 -4
- package/src/units/index.ts +9 -26
- package/dist/maps/column-correlation/core.cjs +0 -288
- package/dist/maps/column-correlation/core.cjs.map +0 -1
- package/dist/maps/column-correlation/core.d.ts +0 -9
- package/dist/maps/column-correlation/core.js +0 -286
- package/dist/maps/column-correlation/core.js.map +0 -1
- package/dist/maps/column-correlation/index.d.ts +0 -2
- package/dist/maps/column-correlation/state.cjs +0 -193
- package/dist/maps/column-correlation/state.cjs.map +0 -1
- package/dist/maps/column-correlation/state.d.ts +0 -62
- package/dist/maps/column-correlation/state.js +0 -190
- package/dist/maps/column-correlation/state.js.map +0 -1
- package/dist/maps/column-navigation/index.d.ts +0 -2
- package/dist/maps/column-navigation/mapbox/index.cjs +0 -215
- package/dist/maps/column-navigation/mapbox/index.cjs.map +0 -1
- package/dist/maps/column-navigation/mapbox/index.d.ts +0 -38
- package/dist/maps/column-navigation/mapbox/index.js +0 -213
- package/dist/maps/column-navigation/mapbox/index.js.map +0 -1
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs +0 -105
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs.map +0 -1
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.d.ts +0 -8
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.js +0 -105
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.js.map +0 -1
- package/dist/maps/column-navigation/mapbox/state.cjs +0 -73
- package/dist/maps/column-navigation/mapbox/state.cjs.map +0 -1
- package/dist/maps/column-navigation/mapbox/state.d.ts +0 -23
- package/dist/maps/column-navigation/mapbox/state.js +0 -71
- package/dist/maps/column-navigation/mapbox/state.js.map +0 -1
- package/dist/maps/column-navigation/svg/animated.d.ts +0 -1
- package/dist/maps/column-navigation/svg/data-fetcher.cjs +0 -25
- package/dist/maps/column-navigation/svg/data-fetcher.cjs.map +0 -1
- package/dist/maps/column-navigation/svg/data-fetcher.d.ts +0 -6
- package/dist/maps/column-navigation/svg/data-fetcher.js +0 -25
- package/dist/maps/column-navigation/svg/data-fetcher.js.map +0 -1
- package/dist/maps/column-navigation/svg/index.cjs +0 -94
- package/dist/maps/column-navigation/svg/index.cjs.map +0 -1
- package/dist/maps/column-navigation/svg/index.d.ts +0 -9
- package/dist/maps/column-navigation/svg/index.js +0 -93
- package/dist/maps/column-navigation/svg/index.js.map +0 -1
- package/dist/maps/column-navigation/svg/layers.cjs +0 -177
- package/dist/maps/column-navigation/svg/layers.cjs.map +0 -1
- package/dist/maps/column-navigation/svg/layers.d.ts +0 -54
- package/dist/maps/column-navigation/svg/layers.js +0 -174
- package/dist/maps/column-navigation/svg/layers.js.map +0 -1
- package/dist/maps/column-navigation/utils/keyboard-navigation.cjs +0 -50
- package/dist/maps/column-navigation/utils/keyboard-navigation.cjs.map +0 -1
- package/dist/maps/column-navigation/utils/keyboard-navigation.d.ts +0 -10
- package/dist/maps/column-navigation/utils/keyboard-navigation.js +0 -50
- package/dist/maps/column-navigation/utils/keyboard-navigation.js.map +0 -1
- package/dist/maps/index.d.ts +0 -4
- package/dist/maps/inset-map/index.cjs +0 -71
- package/dist/maps/inset-map/index.cjs.map +0 -1
- package/dist/maps/inset-map/index.d.ts +0 -16
- package/dist/maps/inset-map/index.js +0 -69
- package/dist/maps/inset-map/index.js.map +0 -1
- package/dist/maps/layers/columns.cjs +0 -165
- package/dist/maps/layers/columns.cjs.map +0 -1
- package/dist/maps/layers/columns.d.ts +0 -28
- package/dist/maps/layers/columns.js +0 -165
- package/dist/maps/layers/columns.js.map +0 -1
- package/dist/maps/layers/index.d.ts +0 -2
- package/dist/maps/layers/units.cjs +0 -207
- package/dist/maps/layers/units.cjs.map +0 -1
- package/dist/maps/layers/units.d.ts +0 -14
- package/dist/maps/layers/units.js +0 -204
- package/dist/maps/layers/units.js.map +0 -1
- package/dist/units/colors.cjs +0 -115
- package/dist/units/colors.cjs.map +0 -1
- package/dist/units/colors.d.ts +0 -20
- package/dist/units/colors.js +0 -113
- package/dist/units/colors.js.map +0 -1
- package/dist/units/resolvers.cjs +0 -125
- package/dist/units/resolvers.cjs.map +0 -1
- package/dist/units/resolvers.d.ts +0 -8
- package/dist/units/resolvers.js +0 -125
- package/dist/units/resolvers.js.map +0 -1
- package/src/maps/column-correlation/column-correlation-map.stories.ts +0 -108
- package/src/maps/column-correlation/core.ts +0 -342
- package/src/maps/column-correlation/index.ts +0 -2
- package/src/maps/column-correlation/state.ts +0 -315
- package/src/maps/column-navigation/index.ts +0 -2
- package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +0 -278
- package/src/maps/column-navigation/mapbox/index.ts +0 -276
- package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +0 -133
- package/src/maps/column-navigation/mapbox/state.ts +0 -119
- package/src/maps/column-navigation/svg/animated.ts +0 -78
- package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +0 -46
- package/src/maps/column-navigation/svg/data-fetcher.ts +0 -34
- package/src/maps/column-navigation/svg/index.ts +0 -96
- package/src/maps/column-navigation/svg/layers.ts +0 -233
- package/src/maps/column-navigation/utils/keyboard-navigation.ts +0 -58
- package/src/maps/index.ts +0 -4
- package/src/maps/inset-map/index.ts +0 -87
- package/src/maps/inset-map/inset-map.stories.ts +0 -20
- package/src/maps/layers/columns.ts +0 -216
- package/src/maps/layers/index.ts +0 -2
- package/src/maps/layers/units.ts +0 -286
- package/src/maps/unit-map.stories.ts +0 -79
- package/src/units/colors.ts +0 -183
- package/src/units/resolvers.ts +0 -141
package/dist/units/colors.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import chroma from "chroma-js";
|
|
2
|
-
function getMixedUnitColor(unit, lithMap, inDarkMode = false, asBackground = true, keyOpts = null) {
|
|
3
|
-
const { key = "lith", id_key = "lith_id" } = keyOpts ?? {};
|
|
4
|
-
const liths = unit[key];
|
|
5
|
-
const getColor = (data) => {
|
|
6
|
-
return lithMap?.get(data[id_key])?.color ?? null;
|
|
7
|
-
};
|
|
8
|
-
return getMixedColorForData(liths, getColor, {
|
|
9
|
-
inDarkMode,
|
|
10
|
-
asBackground
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
function flattenLithologies(liths, normalize = true) {
|
|
14
|
-
if (liths == null || liths.length === 0) {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
const unitCount = liths.length;
|
|
18
|
-
let newLiths = [];
|
|
19
|
-
for (const unitLiths of liths) {
|
|
20
|
-
let l1 = unitLiths;
|
|
21
|
-
if (normalize) {
|
|
22
|
-
l1 = addProportionsToAllData(unitLiths);
|
|
23
|
-
}
|
|
24
|
-
for (const lith of l1) {
|
|
25
|
-
if (lith.prop == null || isNaN(lith.prop) || lith.prop <= 0) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
lith.prop = lith.prop / unitCount;
|
|
29
|
-
}
|
|
30
|
-
newLiths.push(...l1);
|
|
31
|
-
}
|
|
32
|
-
if (newLiths[0]?.lith_id != null) {
|
|
33
|
-
newLiths = mergeLikeData(newLiths, "lith_id");
|
|
34
|
-
} else if (newLiths[0]?.environ_id != null) {
|
|
35
|
-
newLiths = mergeLikeData(newLiths, "environ_id");
|
|
36
|
-
}
|
|
37
|
-
newLiths.sort((a, b) => b.prop - a.prop);
|
|
38
|
-
return newLiths;
|
|
39
|
-
}
|
|
40
|
-
function getMixedColorForData(liths, getColor, options = {}) {
|
|
41
|
-
const { inDarkMode = false, asBackground = true } = options;
|
|
42
|
-
if (liths == null || liths.length === 0) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
const lithData = liths.map((d) => {
|
|
46
|
-
let prop = d.prop;
|
|
47
|
-
if (prop == null || isNaN(prop) || prop <= 0) {
|
|
48
|
-
prop = null;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
...d,
|
|
52
|
-
prop,
|
|
53
|
-
color: getColor?.(d) ?? d.color
|
|
54
|
-
};
|
|
55
|
-
}).filter((d) => d.color != null);
|
|
56
|
-
if (lithData.length == 0) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
const lithsWithProp = addProportionsToAllData(lithData);
|
|
60
|
-
const baseColor = chroma.average(
|
|
61
|
-
lithsWithProp.map((d) => d.color),
|
|
62
|
-
"lrgb",
|
|
63
|
-
lithsWithProp.map((d) => d.prop)
|
|
64
|
-
);
|
|
65
|
-
if (!asBackground) {
|
|
66
|
-
return baseColor.hex();
|
|
67
|
-
}
|
|
68
|
-
if (inDarkMode) {
|
|
69
|
-
return baseColor.set("hsl.l", 0.2).hex();
|
|
70
|
-
} else {
|
|
71
|
-
return baseColor.set("hsl.l", 0.9).hex();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
function addProportionsToAllData(liths) {
|
|
75
|
-
const lithsWithProp = liths.filter((d) => d.prop != null);
|
|
76
|
-
const lithsWithoutProp = liths.filter((d) => d.prop == null);
|
|
77
|
-
const totalProp = lithsWithProp.reduce((sum, d) => sum + d.prop, 0);
|
|
78
|
-
let overallTotal = 1;
|
|
79
|
-
if (totalProp < overallTotal && lithsWithoutProp.length > 0) {
|
|
80
|
-
const remainingProp = overallTotal - totalProp;
|
|
81
|
-
const equalProp = remainingProp / lithsWithoutProp.length;
|
|
82
|
-
lithsWithoutProp.forEach((d) => {
|
|
83
|
-
lithsWithProp.push({
|
|
84
|
-
...d,
|
|
85
|
-
prop: equalProp
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return lithsWithProp;
|
|
90
|
-
}
|
|
91
|
-
function mergeLikeData(liths, key) {
|
|
92
|
-
const mergedMap = /* @__PURE__ */ new Map();
|
|
93
|
-
for (const lith of liths) {
|
|
94
|
-
const id = lith[key];
|
|
95
|
-
if (id == null) continue;
|
|
96
|
-
if (mergedMap.has(id)) {
|
|
97
|
-
const existing = mergedMap.get(id);
|
|
98
|
-
mergedMap.set(id, {
|
|
99
|
-
...existing,
|
|
100
|
-
prop: existing.prop + lith.prop
|
|
101
|
-
});
|
|
102
|
-
} else {
|
|
103
|
-
mergedMap.set(id, { ...lith });
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return Array.from(mergedMap.values());
|
|
107
|
-
}
|
|
108
|
-
export {
|
|
109
|
-
flattenLithologies,
|
|
110
|
-
getMixedColorForData,
|
|
111
|
-
getMixedUnitColor
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=colors.js.map
|
package/dist/units/colors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sources":["../../src/units/colors.ts"],"sourcesContent":["import chroma from \"chroma-js\";\nimport {\n Environment,\n Lithology,\n UnitLithology,\n UnitLong,\n} from \"@macrostrat/api-types\";\n\ninterface KeyOptions {\n key?: \"lith\" | \"environ\";\n id_key?: \"lith_id\" | \"environ_id\";\n}\n\nexport function getMixedUnitColor(\n unit: UnitLong,\n lithMap: Map<number, { color: string }>,\n inDarkMode = false,\n asBackground = true,\n keyOpts: KeyOptions = null,\n): string | null {\n const { key = \"lith\", id_key = \"lith_id\" } = keyOpts ?? {};\n const liths = unit[key];\n const getColor = (data: UnitLithology): string | null => {\n return lithMap?.get(data[id_key])?.color ?? null;\n };\n\n return getMixedColorForData(liths, getColor, {\n inDarkMode,\n asBackground,\n key: id_key,\n });\n}\n\ninterface ColorBuilderOptions {\n key?: \"lith_id\" | \"environ_id\";\n inDarkMode?: boolean;\n asBackground?: boolean;\n}\n\nexport function flattenLithologies<\n T extends { prop: number | null; lith_id?: number; environ_id?: number },\n>(liths: T[][], normalize: boolean = true): T[] {\n /** Unify proportions in lithology/environment data across several units, normalizing if needed.\n * If normalize is true, proportions are scaled to sum to 1 within each unit (with remaining proportions\n * distributed equally among liths without specified proportions). This helps ensure that units with a\n * few lithologies with specified proportions don't skew the color mixing.\n *\n * Lithologies are deduplicated based on their identifying property (lith_id or environ_id) if that is present.\n */\n if (liths == null || liths.length === 0) {\n return [];\n }\n\n const unitCount = liths.length;\n\n let newLiths: T[] = [];\n for (const unitLiths of liths) {\n let l1 = unitLiths;\n if (normalize) {\n l1 = addProportionsToAllData(unitLiths);\n }\n // Divide proportions by number of units to balance influence\n for (const lith of l1) {\n if (lith.prop == null || isNaN(lith.prop) || lith.prop <= 0) {\n continue;\n }\n lith.prop = lith.prop / unitCount;\n }\n newLiths.push(...l1);\n }\n if (newLiths[0]?.lith_id != null) {\n newLiths = mergeLikeData(newLiths, \"lith_id\");\n } else if (newLiths[0]?.environ_id != null) {\n newLiths = mergeLikeData(newLiths, \"environ_id\");\n }\n // Sort by proportion descending\n newLiths.sort((a, b) => b.prop - a.prop);\n return newLiths;\n}\n\nexport function getMixedColorForData<\n T extends UnitLithology | Lithology | Environment,\n>(\n liths: T[] | null,\n getColor: (val: T) => string | null,\n options: ColorBuilderOptions = {},\n): string | null {\n const { inDarkMode = false, asBackground = true } = options;\n if (liths == null || liths.length === 0) {\n return null;\n }\n const lithData = liths\n .map((d) => {\n let prop = d.prop;\n if (prop == null || isNaN(prop) || prop <= 0) {\n prop = null;\n }\n return {\n ...d,\n prop,\n color: getColor?.(d) ?? d.color,\n };\n })\n .filter((d) => d.color != null);\n\n if (lithData.length == 0) {\n return null;\n }\n\n const lithsWithProp = addProportionsToAllData(lithData);\n\n // Mix colors proportionally\n const baseColor = chroma.average(\n lithsWithProp.map((d) => d.color),\n \"lrgb\",\n lithsWithProp.map((d) => d.prop),\n );\n\n if (!asBackground) {\n return baseColor.hex();\n }\n\n if (inDarkMode) {\n return baseColor.set(\"hsl.l\", 0.2).hex();\n } else {\n return baseColor.set(\"hsl.l\", 0.9).hex();\n }\n}\n\nfunction addProportionsToAllData<T extends { prop?: number }>(liths: T[]): T[] {\n /** Make sure that all lithologies/environments have a defined proportion,\n * and that proportions sum to 1. If some liths lack a defined proportion,\n * the remaining proportion is distributed equally among them.\n *\n * NOTE: This function does not normalize proportions if they already sum to more than 1.\n */\n const lithsWithProp = liths.filter((d) => d.prop != null);\n const lithsWithoutProp = liths.filter((d) => d.prop == null);\n\n const totalProp = lithsWithProp.reduce((sum, d) => sum + d.prop, 0);\n let overallTotal = 1;\n\n if (totalProp < overallTotal && lithsWithoutProp.length > 0) {\n const remainingProp = overallTotal - totalProp;\n // Distribute remaining proportion equally among liths without prop\n const equalProp = remainingProp / lithsWithoutProp.length;\n lithsWithoutProp.forEach((d) => {\n lithsWithProp.push({\n ...d,\n prop: equalProp,\n } as T);\n });\n }\n return lithsWithProp as T[];\n}\n\nfunction mergeLikeData<\n T extends { prop: number; lith_id?: number; environ_id?: number },\n>(liths: T[], key: \"lith_id\" | \"environ_id\"): T[] {\n /** Merge lithology/environment data with the same identifying property (lith_id or environ_id),\n * summing their proportions.\n *\n * TODO: handle attribute merging\n */\n const mergedMap: Map<number, T> = new Map();\n\n for (const lith of liths) {\n const id = lith[key];\n if (id == null) continue;\n\n if (mergedMap.has(id)) {\n const existing = mergedMap.get(id);\n mergedMap.set(id, {\n ...existing,\n prop: existing.prop + lith.prop,\n });\n } else {\n mergedMap.set(id, { ...lith });\n }\n }\n\n return Array.from(mergedMap.values());\n}\n"],"names":[],"mappings":";AAaO,SAAS,kBACd,MACA,SACA,aAAa,OACb,eAAe,MACf,UAAsB,MACP;AACf,QAAM,EAAE,MAAM,QAAQ,SAAS,UAAA,IAAc,WAAW,CAAA;AACxD,QAAM,QAAQ,KAAK,GAAG;AACtB,QAAM,WAAW,CAAC,SAAuC;AACvD,WAAO,SAAS,IAAI,KAAK,MAAM,CAAC,GAAG,SAAS;AAAA,EAC9C;AAEA,SAAO,qBAAqB,OAAO,UAAU;AAAA,IAC3C;AAAA,IACA;AAAA,EAEF,CAAC;AACH;AAQO,SAAS,mBAEd,OAAc,YAAqB,MAAW;AAQ9C,MAAI,SAAS,QAAQ,MAAM,WAAW,GAAG;AACvC,WAAO,CAAA;AAAA,EACT;AAEA,QAAM,YAAY,MAAM;AAExB,MAAI,WAAgB,CAAA;AACpB,aAAW,aAAa,OAAO;AAC7B,QAAI,KAAK;AACT,QAAI,WAAW;AACb,WAAK,wBAAwB,SAAS;AAAA,IACxC;AAEA,eAAW,QAAQ,IAAI;AACrB,UAAI,KAAK,QAAQ,QAAQ,MAAM,KAAK,IAAI,KAAK,KAAK,QAAQ,GAAG;AAC3D;AAAA,MACF;AACA,WAAK,OAAO,KAAK,OAAO;AAAA,IAC1B;AACA,aAAS,KAAK,GAAG,EAAE;AAAA,EACrB;AACA,MAAI,SAAS,CAAC,GAAG,WAAW,MAAM;AAChC,eAAW,cAAc,UAAU,SAAS;AAAA,EAC9C,WAAW,SAAS,CAAC,GAAG,cAAc,MAAM;AAC1C,eAAW,cAAc,UAAU,YAAY;AAAA,EACjD;AAEA,WAAS,KAAK,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI;AACvC,SAAO;AACT;AAEO,SAAS,qBAGd,OACA,UACA,UAA+B,CAAA,GAChB;AACf,QAAM,EAAE,aAAa,OAAO,eAAe,SAAS;AACpD,MAAI,SAAS,QAAQ,MAAM,WAAW,GAAG;AACvC,WAAO;AAAA,EACT;AACA,QAAM,WAAW,MACd,IAAI,CAAC,MAAM;AACV,QAAI,OAAO,EAAE;AACb,QAAI,QAAQ,QAAQ,MAAM,IAAI,KAAK,QAAQ,GAAG;AAC5C,aAAO;AAAA,IACT;AACA,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA,OAAO,WAAW,CAAC,KAAK,EAAE;AAAA,IAAA;AAAA,EAE9B,CAAC,EACA,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI;AAEhC,MAAI,SAAS,UAAU,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,wBAAwB,QAAQ;AAGtD,QAAM,YAAY,OAAO;AAAA,IACvB,cAAc,IAAI,CAAC,MAAM,EAAE,KAAK;AAAA,IAChC;AAAA,IACA,cAAc,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,EAAA;AAGjC,MAAI,CAAC,cAAc;AACjB,WAAO,UAAU,IAAA;AAAA,EACnB;AAEA,MAAI,YAAY;AACd,WAAO,UAAU,IAAI,SAAS,GAAG,EAAE,IAAA;AAAA,EACrC,OAAO;AACL,WAAO,UAAU,IAAI,SAAS,GAAG,EAAE,IAAA;AAAA,EACrC;AACF;AAEA,SAAS,wBAAqD,OAAiB;AAO7E,QAAM,gBAAgB,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI;AACxD,QAAM,mBAAmB,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI;AAE3D,QAAM,YAAY,cAAc,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,MAAM,CAAC;AAClE,MAAI,eAAe;AAEnB,MAAI,YAAY,gBAAgB,iBAAiB,SAAS,GAAG;AAC3D,UAAM,gBAAgB,eAAe;AAErC,UAAM,YAAY,gBAAgB,iBAAiB;AACnD,qBAAiB,QAAQ,CAAC,MAAM;AAC9B,oBAAc,KAAK;AAAA,QACjB,GAAG;AAAA,QACH,MAAM;AAAA,MAAA,CACF;AAAA,IACR,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEA,SAAS,cAEP,OAAY,KAAoC;AAMhD,QAAM,gCAAgC,IAAA;AAEtC,aAAW,QAAQ,OAAO;AACxB,UAAM,KAAK,KAAK,GAAG;AACnB,QAAI,MAAM,KAAM;AAEhB,QAAI,UAAU,IAAI,EAAE,GAAG;AACrB,YAAM,WAAW,UAAU,IAAI,EAAE;AACjC,gBAAU,IAAI,IAAI;AAAA,QAChB,GAAG;AAAA,QACH,MAAM,SAAS,OAAO,KAAK;AAAA,MAAA,CAC5B;AAAA,IACH,OAAO;AACL,gBAAU,IAAI,IAAI,EAAE,GAAG,MAAM;AAAA,IAC/B;AAAA,EACF;AAEA,SAAO,MAAM,KAAK,UAAU,OAAA,CAAQ;AACtC;"}
|
package/dist/units/resolvers.cjs
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const symbolIndex = {
|
|
4
|
-
"dolomite-limestone": 641,
|
|
5
|
-
lime_mudstone: 627,
|
|
6
|
-
sandstone: 607,
|
|
7
|
-
"quartz arenite": 607,
|
|
8
|
-
litharenite: 608,
|
|
9
|
-
sand: 608,
|
|
10
|
-
siltstone: 616,
|
|
11
|
-
silt: 616,
|
|
12
|
-
siliciclastic: 615,
|
|
13
|
-
mud: 620,
|
|
14
|
-
"dolomitic siltstone": 616,
|
|
15
|
-
shale: 620,
|
|
16
|
-
limestone: 627,
|
|
17
|
-
dolomite: 642,
|
|
18
|
-
conglomerate: 602,
|
|
19
|
-
carbonate: 627,
|
|
20
|
-
"dolomite-mudstone": 642,
|
|
21
|
-
dolostone: 642,
|
|
22
|
-
mudstone: 620,
|
|
23
|
-
slate: 703,
|
|
24
|
-
"sandy-dolomite": 645,
|
|
25
|
-
quartzite: 702,
|
|
26
|
-
halite: 668,
|
|
27
|
-
gypsum: 667,
|
|
28
|
-
evaporite: 667,
|
|
29
|
-
claystone: 620,
|
|
30
|
-
anhydrite: 667,
|
|
31
|
-
gabbro: 720,
|
|
32
|
-
basalt: 717,
|
|
33
|
-
diabase: 717,
|
|
34
|
-
rhyolite: 722,
|
|
35
|
-
andesite: 723,
|
|
36
|
-
till: 681,
|
|
37
|
-
loess: 684,
|
|
38
|
-
"calcareous ooze": 653,
|
|
39
|
-
"siliceous ooze": 653,
|
|
40
|
-
chalk: 626,
|
|
41
|
-
gravel: 601,
|
|
42
|
-
plutonic: 721,
|
|
43
|
-
granite: 719,
|
|
44
|
-
clay: 660,
|
|
45
|
-
syenite: 722,
|
|
46
|
-
tuff: 711,
|
|
47
|
-
volcanic: 725,
|
|
48
|
-
metamorphic: 707,
|
|
49
|
-
volcaniclastic: 714,
|
|
50
|
-
migmatite: 709,
|
|
51
|
-
gneiss: 708,
|
|
52
|
-
tonalite: 727,
|
|
53
|
-
granodiorite: 725,
|
|
54
|
-
monzonite: 723,
|
|
55
|
-
argillite: 624,
|
|
56
|
-
diamictite: 681
|
|
57
|
-
};
|
|
58
|
-
function getBestFGDCPatternForLithologyList(liths) {
|
|
59
|
-
let lithsSorted = [...liths];
|
|
60
|
-
lithsSorted.sort((a, b) => b.prop - a.prop);
|
|
61
|
-
let firstLith = lithsSorted[0];
|
|
62
|
-
let sym = symbolIndex[firstLith.name];
|
|
63
|
-
if (sym != null) {
|
|
64
|
-
return { lith: firstLith, patternID: `${sym}` };
|
|
65
|
-
}
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
const resolveID = (d) => {
|
|
69
|
-
if (d.lith == null || d.lith.length == 0) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
let liths = [...d.lith];
|
|
73
|
-
let environs = d.environ.map((d2) => d2.name).join(" ");
|
|
74
|
-
liths.sort((a, b) => b.prop - a.prop);
|
|
75
|
-
let sym = null;
|
|
76
|
-
if (d.unit_name == "clay") {
|
|
77
|
-
return "650";
|
|
78
|
-
}
|
|
79
|
-
if (d.unit_name == "calcareous clay") {
|
|
80
|
-
return "651";
|
|
81
|
-
}
|
|
82
|
-
for (const k of liths) {
|
|
83
|
-
if (k.name == "sandstone") {
|
|
84
|
-
if (environs.includes("dune")) {
|
|
85
|
-
return "609";
|
|
86
|
-
}
|
|
87
|
-
if (environs.includes("marine")) {
|
|
88
|
-
return "608";
|
|
89
|
-
}
|
|
90
|
-
if (environs.includes("shore")) {
|
|
91
|
-
return "611";
|
|
92
|
-
}
|
|
93
|
-
if (environs.includes("loess")) {
|
|
94
|
-
return "686";
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (k.name == "conglomerate") {
|
|
98
|
-
if (environs.includes("fluvial")) {
|
|
99
|
-
return "603";
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (k.name.includes("tuff")) {
|
|
103
|
-
return "711";
|
|
104
|
-
}
|
|
105
|
-
sym = symbolIndex[k.name];
|
|
106
|
-
if (sym != null) {
|
|
107
|
-
return sym;
|
|
108
|
-
}
|
|
109
|
-
if (k.type == "volcanic") {
|
|
110
|
-
return "725";
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return sym;
|
|
114
|
-
};
|
|
115
|
-
const patternScale = {
|
|
116
|
-
"609": 1.5,
|
|
117
|
-
"603": 1.5
|
|
118
|
-
};
|
|
119
|
-
const scalePattern = (id) => {
|
|
120
|
-
return patternScale[`${id}`] ?? 1;
|
|
121
|
-
};
|
|
122
|
-
exports.getBestFGDCPatternForLithologyList = getBestFGDCPatternForLithologyList;
|
|
123
|
-
exports.resolveID = resolveID;
|
|
124
|
-
exports.scalePattern = scalePattern;
|
|
125
|
-
//# sourceMappingURL=resolvers.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.cjs","sources":["../../src/units/resolvers.ts"],"sourcesContent":["import { Lithology, UnitLithology } from \"@macrostrat/api-types\";\nimport { LithologyCore } from \"@macrostrat/api-types/src/lithologies\";\n\nconst symbolIndex = {\n \"dolomite-limestone\": 641,\n lime_mudstone: 627,\n sandstone: 607,\n \"quartz arenite\": 607,\n litharenite: 608,\n sand: 608,\n siltstone: 616,\n silt: 616,\n siliciclastic: 615,\n mud: 620,\n \"dolomitic siltstone\": 616,\n shale: 620,\n limestone: 627,\n dolomite: 642,\n conglomerate: 602,\n carbonate: 627,\n \"dolomite-mudstone\": 642,\n dolostone: 642,\n mudstone: 620,\n slate: 703,\n \"sandy-dolomite\": 645,\n quartzite: 702,\n halite: 668,\n gypsum: 667,\n evaporite: 667,\n claystone: 620,\n anhydrite: 667,\n gabbro: 720,\n basalt: 717,\n diabase: 717,\n rhyolite: 722,\n andesite: 723,\n till: 681,\n loess: 684,\n \"calcareous ooze\": 653,\n \"siliceous ooze\": 653,\n chalk: 626,\n gravel: 601,\n plutonic: 721,\n granite: 719,\n clay: 660,\n syenite: 722,\n tuff: 711,\n volcanic: 725,\n metamorphic: 707,\n volcaniclastic: 714,\n migmatite: 709,\n gneiss: 708,\n tonalite: 727,\n granodiorite: 725,\n monzonite: 723,\n argillite: 624,\n diamictite: 681,\n};\n\nexport function getBestFGDCPatternForLithologyList<\n T extends UnitLithology | Lithology,\n>(liths: T[]): { lith: T; patternID: string } | null {\n let lithsSorted = [...liths];\n lithsSorted.sort((a, b) => b.prop - a.prop);\n let firstLith = lithsSorted[0];\n let sym = symbolIndex[firstLith.name];\n if (sym != null) {\n return { lith: firstLith, patternID: `${sym}` };\n }\n return null;\n}\n\nconst resolveID = (d: any) => {\n if (d.lith == null || d.lith.length == 0) {\n return null;\n }\n let liths = [...d.lith];\n let environs = d.environ.map((d) => d.name).join(\" \");\n liths.sort((a, b) => b.prop - a.prop);\n\n //console.log(d, d.unit_name, liths.map(d => d.name), environs)\n\n let sym = null;\n\n // overrides for IODP columns\n if (d.unit_name == \"clay\") {\n return \"650\";\n }\n if (d.unit_name == \"calcareous clay\") {\n return \"651\";\n }\n\n for (const k of liths) {\n if (k.name == \"sandstone\") {\n // Special cases for sandstone\n if (environs.includes(\"dune\")) {\n return \"609\";\n }\n if (environs.includes(\"marine\")) {\n return \"608\";\n }\n if (environs.includes(\"shore\")) {\n return \"611\";\n }\n if (environs.includes(\"loess\")) {\n return \"686\";\n }\n }\n\n if (k.name == \"conglomerate\") {\n // Special cases for sandstone\n if (environs.includes(\"fluvial\")) {\n return \"603\";\n }\n }\n\n if (k.name.includes(\"tuff\")) {\n return \"711\";\n }\n sym = symbolIndex[k.name];\n if (sym != null) {\n return sym;\n }\n\n if (k.type == \"volcanic\") {\n return \"725\";\n }\n }\n return sym;\n};\n\nconst patternScale = {\n \"609\": 1.5,\n \"603\": 1.5,\n};\n\nconst scalePattern = (id) => {\n return patternScale[`${id}`] ?? 1;\n};\n\nexport { resolveID, scalePattern };\n"],"names":["d"],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Lithology, UnitLithology } from '@macrostrat/api-types';
|
|
2
|
-
export declare function getBestFGDCPatternForLithologyList<T extends UnitLithology | Lithology>(liths: T[]): {
|
|
3
|
-
lith: T;
|
|
4
|
-
patternID: string;
|
|
5
|
-
} | null;
|
|
6
|
-
declare const resolveID: (d: any) => "650" | "651" | "609" | "608" | "611" | "686" | "603" | "711" | "725" | null;
|
|
7
|
-
declare const scalePattern: (id: any) => any;
|
|
8
|
-
export { resolveID, scalePattern };
|
package/dist/units/resolvers.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
const symbolIndex = {
|
|
2
|
-
"dolomite-limestone": 641,
|
|
3
|
-
lime_mudstone: 627,
|
|
4
|
-
sandstone: 607,
|
|
5
|
-
"quartz arenite": 607,
|
|
6
|
-
litharenite: 608,
|
|
7
|
-
sand: 608,
|
|
8
|
-
siltstone: 616,
|
|
9
|
-
silt: 616,
|
|
10
|
-
siliciclastic: 615,
|
|
11
|
-
mud: 620,
|
|
12
|
-
"dolomitic siltstone": 616,
|
|
13
|
-
shale: 620,
|
|
14
|
-
limestone: 627,
|
|
15
|
-
dolomite: 642,
|
|
16
|
-
conglomerate: 602,
|
|
17
|
-
carbonate: 627,
|
|
18
|
-
"dolomite-mudstone": 642,
|
|
19
|
-
dolostone: 642,
|
|
20
|
-
mudstone: 620,
|
|
21
|
-
slate: 703,
|
|
22
|
-
"sandy-dolomite": 645,
|
|
23
|
-
quartzite: 702,
|
|
24
|
-
halite: 668,
|
|
25
|
-
gypsum: 667,
|
|
26
|
-
evaporite: 667,
|
|
27
|
-
claystone: 620,
|
|
28
|
-
anhydrite: 667,
|
|
29
|
-
gabbro: 720,
|
|
30
|
-
basalt: 717,
|
|
31
|
-
diabase: 717,
|
|
32
|
-
rhyolite: 722,
|
|
33
|
-
andesite: 723,
|
|
34
|
-
till: 681,
|
|
35
|
-
loess: 684,
|
|
36
|
-
"calcareous ooze": 653,
|
|
37
|
-
"siliceous ooze": 653,
|
|
38
|
-
chalk: 626,
|
|
39
|
-
gravel: 601,
|
|
40
|
-
plutonic: 721,
|
|
41
|
-
granite: 719,
|
|
42
|
-
clay: 660,
|
|
43
|
-
syenite: 722,
|
|
44
|
-
tuff: 711,
|
|
45
|
-
volcanic: 725,
|
|
46
|
-
metamorphic: 707,
|
|
47
|
-
volcaniclastic: 714,
|
|
48
|
-
migmatite: 709,
|
|
49
|
-
gneiss: 708,
|
|
50
|
-
tonalite: 727,
|
|
51
|
-
granodiorite: 725,
|
|
52
|
-
monzonite: 723,
|
|
53
|
-
argillite: 624,
|
|
54
|
-
diamictite: 681
|
|
55
|
-
};
|
|
56
|
-
function getBestFGDCPatternForLithologyList(liths) {
|
|
57
|
-
let lithsSorted = [...liths];
|
|
58
|
-
lithsSorted.sort((a, b) => b.prop - a.prop);
|
|
59
|
-
let firstLith = lithsSorted[0];
|
|
60
|
-
let sym = symbolIndex[firstLith.name];
|
|
61
|
-
if (sym != null) {
|
|
62
|
-
return { lith: firstLith, patternID: `${sym}` };
|
|
63
|
-
}
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
const resolveID = (d) => {
|
|
67
|
-
if (d.lith == null || d.lith.length == 0) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
let liths = [...d.lith];
|
|
71
|
-
let environs = d.environ.map((d2) => d2.name).join(" ");
|
|
72
|
-
liths.sort((a, b) => b.prop - a.prop);
|
|
73
|
-
let sym = null;
|
|
74
|
-
if (d.unit_name == "clay") {
|
|
75
|
-
return "650";
|
|
76
|
-
}
|
|
77
|
-
if (d.unit_name == "calcareous clay") {
|
|
78
|
-
return "651";
|
|
79
|
-
}
|
|
80
|
-
for (const k of liths) {
|
|
81
|
-
if (k.name == "sandstone") {
|
|
82
|
-
if (environs.includes("dune")) {
|
|
83
|
-
return "609";
|
|
84
|
-
}
|
|
85
|
-
if (environs.includes("marine")) {
|
|
86
|
-
return "608";
|
|
87
|
-
}
|
|
88
|
-
if (environs.includes("shore")) {
|
|
89
|
-
return "611";
|
|
90
|
-
}
|
|
91
|
-
if (environs.includes("loess")) {
|
|
92
|
-
return "686";
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (k.name == "conglomerate") {
|
|
96
|
-
if (environs.includes("fluvial")) {
|
|
97
|
-
return "603";
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (k.name.includes("tuff")) {
|
|
101
|
-
return "711";
|
|
102
|
-
}
|
|
103
|
-
sym = symbolIndex[k.name];
|
|
104
|
-
if (sym != null) {
|
|
105
|
-
return sym;
|
|
106
|
-
}
|
|
107
|
-
if (k.type == "volcanic") {
|
|
108
|
-
return "725";
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return sym;
|
|
112
|
-
};
|
|
113
|
-
const patternScale = {
|
|
114
|
-
"609": 1.5,
|
|
115
|
-
"603": 1.5
|
|
116
|
-
};
|
|
117
|
-
const scalePattern = (id) => {
|
|
118
|
-
return patternScale[`${id}`] ?? 1;
|
|
119
|
-
};
|
|
120
|
-
export {
|
|
121
|
-
getBestFGDCPatternForLithologyList,
|
|
122
|
-
resolveID,
|
|
123
|
-
scalePattern
|
|
124
|
-
};
|
|
125
|
-
//# sourceMappingURL=resolvers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sources":["../../src/units/resolvers.ts"],"sourcesContent":["import { Lithology, UnitLithology } from \"@macrostrat/api-types\";\nimport { LithologyCore } from \"@macrostrat/api-types/src/lithologies\";\n\nconst symbolIndex = {\n \"dolomite-limestone\": 641,\n lime_mudstone: 627,\n sandstone: 607,\n \"quartz arenite\": 607,\n litharenite: 608,\n sand: 608,\n siltstone: 616,\n silt: 616,\n siliciclastic: 615,\n mud: 620,\n \"dolomitic siltstone\": 616,\n shale: 620,\n limestone: 627,\n dolomite: 642,\n conglomerate: 602,\n carbonate: 627,\n \"dolomite-mudstone\": 642,\n dolostone: 642,\n mudstone: 620,\n slate: 703,\n \"sandy-dolomite\": 645,\n quartzite: 702,\n halite: 668,\n gypsum: 667,\n evaporite: 667,\n claystone: 620,\n anhydrite: 667,\n gabbro: 720,\n basalt: 717,\n diabase: 717,\n rhyolite: 722,\n andesite: 723,\n till: 681,\n loess: 684,\n \"calcareous ooze\": 653,\n \"siliceous ooze\": 653,\n chalk: 626,\n gravel: 601,\n plutonic: 721,\n granite: 719,\n clay: 660,\n syenite: 722,\n tuff: 711,\n volcanic: 725,\n metamorphic: 707,\n volcaniclastic: 714,\n migmatite: 709,\n gneiss: 708,\n tonalite: 727,\n granodiorite: 725,\n monzonite: 723,\n argillite: 624,\n diamictite: 681,\n};\n\nexport function getBestFGDCPatternForLithologyList<\n T extends UnitLithology | Lithology,\n>(liths: T[]): { lith: T; patternID: string } | null {\n let lithsSorted = [...liths];\n lithsSorted.sort((a, b) => b.prop - a.prop);\n let firstLith = lithsSorted[0];\n let sym = symbolIndex[firstLith.name];\n if (sym != null) {\n return { lith: firstLith, patternID: `${sym}` };\n }\n return null;\n}\n\nconst resolveID = (d: any) => {\n if (d.lith == null || d.lith.length == 0) {\n return null;\n }\n let liths = [...d.lith];\n let environs = d.environ.map((d) => d.name).join(\" \");\n liths.sort((a, b) => b.prop - a.prop);\n\n //console.log(d, d.unit_name, liths.map(d => d.name), environs)\n\n let sym = null;\n\n // overrides for IODP columns\n if (d.unit_name == \"clay\") {\n return \"650\";\n }\n if (d.unit_name == \"calcareous clay\") {\n return \"651\";\n }\n\n for (const k of liths) {\n if (k.name == \"sandstone\") {\n // Special cases for sandstone\n if (environs.includes(\"dune\")) {\n return \"609\";\n }\n if (environs.includes(\"marine\")) {\n return \"608\";\n }\n if (environs.includes(\"shore\")) {\n return \"611\";\n }\n if (environs.includes(\"loess\")) {\n return \"686\";\n }\n }\n\n if (k.name == \"conglomerate\") {\n // Special cases for sandstone\n if (environs.includes(\"fluvial\")) {\n return \"603\";\n }\n }\n\n if (k.name.includes(\"tuff\")) {\n return \"711\";\n }\n sym = symbolIndex[k.name];\n if (sym != null) {\n return sym;\n }\n\n if (k.type == \"volcanic\") {\n return \"725\";\n }\n }\n return sym;\n};\n\nconst patternScale = {\n \"609\": 1.5,\n \"603\": 1.5,\n};\n\nconst scalePattern = (id) => {\n return patternScale[`${id}`] ?? 1;\n};\n\nexport { resolveID, scalePattern };\n"],"names":["d"],"mappings":"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"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import h from "@macrostrat/hyper";
|
|
2
|
-
|
|
3
|
-
const mapboxToken = import.meta.env.VITE_MAPBOX_API_TOKEN;
|
|
4
|
-
|
|
5
|
-
import { Meta } from "@storybook/react-vite";
|
|
6
|
-
import {
|
|
7
|
-
ColumnCorrelationMap,
|
|
8
|
-
ColumnCorrelationProvider,
|
|
9
|
-
CorrelationMapProps,
|
|
10
|
-
CorrelationProviderProps,
|
|
11
|
-
} from ".";
|
|
12
|
-
|
|
13
|
-
function ColumnCorrelationMapExt(
|
|
14
|
-
props: CorrelationMapProps & CorrelationProviderProps,
|
|
15
|
-
) {
|
|
16
|
-
const {
|
|
17
|
-
focusedLine,
|
|
18
|
-
manualColumns,
|
|
19
|
-
columns,
|
|
20
|
-
onSelectColumns,
|
|
21
|
-
projectID,
|
|
22
|
-
inProcess,
|
|
23
|
-
...rest
|
|
24
|
-
} = props;
|
|
25
|
-
|
|
26
|
-
return h(
|
|
27
|
-
ColumnCorrelationProvider,
|
|
28
|
-
{
|
|
29
|
-
focusedLine,
|
|
30
|
-
manualColumns,
|
|
31
|
-
columns,
|
|
32
|
-
onSelectColumns,
|
|
33
|
-
projectID,
|
|
34
|
-
inProcess,
|
|
35
|
-
},
|
|
36
|
-
h(ColumnCorrelationMap, { accessToken: mapboxToken, ...rest }),
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
41
|
-
export default {
|
|
42
|
-
title: "Column views/Maps/Column correlation",
|
|
43
|
-
component: ColumnCorrelationMapExt,
|
|
44
|
-
description: "Cross section creation map",
|
|
45
|
-
} as Meta<typeof ColumnCorrelationMapExt>;
|
|
46
|
-
|
|
47
|
-
export const ColumnCorrelation = {
|
|
48
|
-
args: {
|
|
49
|
-
style: { width: "800px", height: "600px" },
|
|
50
|
-
padding: 100,
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export const withPreloadedCrossSection = {
|
|
55
|
-
args: {
|
|
56
|
-
style: { width: "800px", height: "600px" },
|
|
57
|
-
padding: 100,
|
|
58
|
-
focusedLine: {
|
|
59
|
-
type: "LineString",
|
|
60
|
-
coordinates: [
|
|
61
|
-
[-122.399, 37.791],
|
|
62
|
-
[-100, 45],
|
|
63
|
-
],
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// Manual selection: click columns to add/remove them (no line of section).
|
|
69
|
-
// Hovering highlights a column; the dashed line shows the selection order.
|
|
70
|
-
export const manualColumnSelection = {
|
|
71
|
-
args: {
|
|
72
|
-
style: { width: "800px", height: "600px" },
|
|
73
|
-
padding: 100,
|
|
74
|
-
manualColumns: [432, 490],
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const nonStandardProject = {
|
|
79
|
-
args: {
|
|
80
|
-
style: { width: "800px", height: "600px" },
|
|
81
|
-
padding: 100,
|
|
82
|
-
projectID: 10,
|
|
83
|
-
inProcess: true,
|
|
84
|
-
mapPosition: {
|
|
85
|
-
camera: {
|
|
86
|
-
lng: -100,
|
|
87
|
-
lat: 38,
|
|
88
|
-
altitude: 5000000,
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export const eODP = {
|
|
95
|
-
args: {
|
|
96
|
-
style: { width: "800px", height: "600px" },
|
|
97
|
-
padding: 100,
|
|
98
|
-
projectID: 3,
|
|
99
|
-
inProcess: true,
|
|
100
|
-
mapPosition: {
|
|
101
|
-
camera: {
|
|
102
|
-
lng: -100,
|
|
103
|
-
lat: 38,
|
|
104
|
-
altitude: 5000000,
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
};
|