@macrostrat/map-interface 2.0.2 → 2.2.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/dev/vector-tile-features.cjs +3 -3
  3. package/dist/dev/vector-tile-features.cjs.map +1 -1
  4. package/dist/dev/vector-tile-features.js +1 -1
  5. package/dist/dev/vector-tile-features.js.map +1 -1
  6. package/dist/index.cjs +6 -18
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.ts +0 -1
  9. package/dist/index.js +1 -13
  10. package/dist/index.js.map +1 -1
  11. package/dist/location-details/index.d.ts +0 -1
  12. package/dist/location-details/info-blocks.cjs +0 -22
  13. package/dist/location-details/info-blocks.cjs.map +1 -1
  14. package/dist/location-details/info-blocks.js +0 -22
  15. package/dist/location-details/info-blocks.js.map +1 -1
  16. package/dist/location-details/macrostrat-linked.cjs +82 -129
  17. package/dist/location-details/macrostrat-linked.cjs.map +1 -1
  18. package/dist/location-details/macrostrat-linked.js +29 -75
  19. package/dist/location-details/macrostrat-linked.js.map +1 -1
  20. package/dist/location-details/physiography.cjs +2 -2
  21. package/dist/location-details/physiography.cjs.map +1 -1
  22. package/dist/location-details/physiography.js +1 -1
  23. package/dist/location-details/physiography.js.map +1 -1
  24. package/dist/location-details/reg-strat.cjs +2 -2
  25. package/dist/location-details/reg-strat.cjs.map +1 -1
  26. package/dist/location-details/reg-strat.js +1 -1
  27. package/dist/location-details/reg-strat.js.map +1 -1
  28. package/dist/map-interface.css +43 -215
  29. package/dist/map-view.cjs +6 -9
  30. package/dist/map-view.cjs.map +1 -1
  31. package/dist/map-view.d.ts +1 -1
  32. package/dist/map-view.js +7 -10
  33. package/dist/map-view.js.map +1 -1
  34. package/package.json +3 -4
  35. package/src/dev/vector-tile-features.ts +1 -1
  36. package/src/index.ts +0 -1
  37. package/src/location-details/index.ts +0 -1
  38. package/src/location-details/macrostrat-linked.ts +29 -81
  39. package/src/location-details/main.module.sass +0 -1
  40. package/src/location-details/physiography.ts +1 -1
  41. package/src/location-details/reg-strat.ts +1 -1
  42. package/src/map-view.ts +11 -8
  43. package/dist/expansion-panel/headers.cjs +0 -22
  44. package/dist/expansion-panel/headers.cjs.map +0 -1
  45. package/dist/expansion-panel/headers.d.ts +0 -1
  46. package/dist/expansion-panel/headers.js +0 -20
  47. package/dist/expansion-panel/headers.js.map +0 -1
  48. package/dist/expansion-panel/index.cjs +0 -128
  49. package/dist/expansion-panel/index.cjs.map +0 -1
  50. package/dist/expansion-panel/index.d.ts +0 -18
  51. package/dist/expansion-panel/index.js +0 -125
  52. package/dist/expansion-panel/index.js.map +0 -1
  53. package/dist/expansion-panel/main.module.sass.cjs +0 -32
  54. package/dist/expansion-panel/main.module.sass.cjs.map +0 -1
  55. package/dist/expansion-panel/main.module.sass.js +0 -30
  56. package/dist/expansion-panel/main.module.sass.js.map +0 -1
  57. package/dist/location-details/fetch.d.ts +0 -4
  58. package/dist/location-details/utils/index.cjs +0 -15
  59. package/dist/location-details/utils/index.cjs.map +0 -1
  60. package/dist/location-details/utils/index.js +0 -15
  61. package/dist/location-details/utils/index.js.map +0 -1
  62. package/dist/location-details/xdd-panel/article.cjs +0 -64
  63. package/dist/location-details/xdd-panel/article.cjs.map +0 -1
  64. package/dist/location-details/xdd-panel/article.d.ts +0 -1
  65. package/dist/location-details/xdd-panel/article.js +0 -62
  66. package/dist/location-details/xdd-panel/article.js.map +0 -1
  67. package/dist/location-details/xdd-panel/index.cjs +0 -71
  68. package/dist/location-details/xdd-panel/index.cjs.map +0 -1
  69. package/dist/location-details/xdd-panel/index.d.ts +0 -18
  70. package/dist/location-details/xdd-panel/index.js +0 -69
  71. package/dist/location-details/xdd-panel/index.js.map +0 -1
  72. package/dist/location-details/xdd-panel/journal.cjs +0 -27
  73. package/dist/location-details/xdd-panel/journal.cjs.map +0 -1
  74. package/dist/location-details/xdd-panel/journal.d.ts +0 -20
  75. package/dist/location-details/xdd-panel/journal.js +0 -25
  76. package/dist/location-details/xdd-panel/journal.js.map +0 -1
  77. package/src/expansion-panel/headers.ts +0 -18
  78. package/src/expansion-panel/index.ts +0 -135
  79. package/src/expansion-panel/main.module.sass +0 -157
  80. package/src/location-details/fetch.ts +0 -57
  81. package/src/location-details/location-details.stories.ts +0 -92
  82. package/src/location-details/xdd-panel/article.ts +0 -67
  83. package/src/location-details/xdd-panel/index.ts +0 -70
  84. package/src/location-details/xdd-panel/journal.ts +0 -60
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const h$1 = require("@macrostrat/hyper");
4
- const mapInterface = require("@macrostrat/map-interface");
5
- const main_module = require("./main.module.sass.cjs");
3
+ const dataComponents = require("@macrostrat/data-components");
6
4
  const scale = require("@visx/scale");
7
5
  const axis = require("@visx/axis");
8
6
  const chroma = require("chroma-js");
9
- const dataComponents = require("@macrostrat/data-components");
10
7
  const infoBlocks = require("./info-blocks.cjs");
8
+ const main_module = require("./main.module.sass.cjs");
11
9
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
- const h__default = /* @__PURE__ */ _interopDefault(h$1);
13
10
  const chroma__default = /* @__PURE__ */ _interopDefault(chroma);
14
- const h = h__default.default.styled(main_module.default);
15
11
  function MacrostratLinkedData(props) {
16
12
  const {
17
13
  mapInfo,
@@ -23,8 +19,8 @@ function MacrostratLinkedData(props) {
23
19
  expanded = true
24
20
  } = props;
25
21
  if (!mapInfo.mapData[0]) return null;
26
- return h(
27
- mapInterface.ExpansionPanel,
22
+ return main_module.default(
23
+ dataComponents.ExpansionPanel,
28
24
  {
29
25
  className: "regional-panel",
30
26
  title: "Macrostrat-linked data",
@@ -32,15 +28,14 @@ function MacrostratLinkedData(props) {
32
28
  expanded
33
29
  },
34
30
  [
35
- h("div", { classes: expansionPanelDetailClasses }, [
36
- h(MatchBasis, { source, stratNameURL }),
37
- h(AgeInformation, { mapInfo, source, intervalURL }),
38
- h(Thickness, { source }),
39
- h(MinorFossilCollections, { source }),
40
- h(FossilOccs, { source }),
41
- h(LithsAndClasses, { source, lithologyURL }),
42
- h(Environments, { source, environmentURL }),
43
- h(Economy, { source })
31
+ main_module.default("div", { classes: expansionPanelDetailClasses }, [
32
+ main_module.default(MatchBasis, { source, stratNameURL }),
33
+ main_module.default(AgeInformation, { mapInfo, source, intervalURL }),
34
+ main_module.default(Thickness, { source }),
35
+ main_module.default(MinorFossilCollections, { source }),
36
+ main_module.default(FossilOccs, { source }),
37
+ main_module.default(LithsAndClasses, { source, lithologyURL }),
38
+ main_module.default(Environments, { source, environmentURL })
44
39
  ])
45
40
  ]
46
41
  );
@@ -51,15 +46,15 @@ const expansionPanelDetailClasses = {
51
46
  function AgeInformation(props) {
52
47
  const { source, mapInfo, intervalURL } = props;
53
48
  const { macrostrat } = source;
54
- if (!macrostrat?.b_age) return h(MapAgeRenderer, { mapInfo, intervalURL });
55
- return h(MacrostratAgeInfo, { macrostrat, mapInfo, intervalURL });
49
+ if (!macrostrat?.b_age) return main_module.default(MapAgeRenderer, { mapInfo, intervalURL });
50
+ return main_module.default(MacrostratAgeInfo, { macrostrat, mapInfo, intervalURL });
56
51
  }
57
52
  function MapAgeRenderer(props) {
58
53
  const { mapInfo, intervalURL, ...rest } = props;
59
- return h(
54
+ return main_module.default(
60
55
  DescribedAgeInfo,
61
56
  {
62
- ageElement: h(infoBlocks.AgeChip, {
57
+ ageElement: main_module.default(infoBlocks.AgeChip, {
63
58
  b_int: mapInfo.mapData[0].b_int,
64
59
  t_int: mapInfo.mapData[0].t_int,
65
60
  intervalURL
@@ -70,10 +65,10 @@ function MapAgeRenderer(props) {
70
65
  }
71
66
  function DescribedAgeInfo(props) {
72
67
  const { ageElement, children, className } = props;
73
- return h("div.described-age.macrostrast-detail", [
74
- h("div.expansion-summary-title", "Age"),
75
- h("div.age-chips", null, ageElement),
76
- h("div.description", children)
68
+ return main_module.default("div.described-age.macrostrast-detail", [
69
+ main_module.default("div.expansion-summary-title", "Age"),
70
+ main_module.default("div.age-chips", null, ageElement),
71
+ main_module.default("div.description", children)
77
72
  ]);
78
73
  }
79
74
  function AgeRefinementBar({ scale: scale2, data, color, label = null }) {
@@ -95,7 +90,7 @@ function AgeRefinementBar({ scale: scale2, data, color, label = null }) {
95
90
  textAlign = "end";
96
91
  }
97
92
  }
98
- return h(
93
+ return main_module.default(
99
94
  "div.age-refinement-bar",
100
95
  {
101
96
  style: {
@@ -107,7 +102,7 @@ function AgeRefinementBar({ scale: scale2, data, color, label = null }) {
107
102
  position: "relative"
108
103
  }
109
104
  },
110
- h(
105
+ main_module.default(
111
106
  "div.age-refinement-bar-label",
112
107
  {
113
108
  style: {
@@ -130,20 +125,20 @@ function AgeRefinementPlot({ macrostrat, mapInfo, intervalURL }) {
130
125
  domain: [1.02 * b_age, t_age * 0.98],
131
126
  range: [20, 360]
132
127
  });
133
- return h("div.age-refinement-plot", [
134
- h(AgeRefinementBar, {
128
+ return main_module.default("div.age-refinement-plot", [
129
+ main_module.default(AgeRefinementBar, {
135
130
  scale: scale$1,
136
131
  data: macrostrat,
137
132
  label: "Macrostrat age model"
138
133
  }),
139
- h(AgeRefinementBar, {
134
+ main_module.default(AgeRefinementBar, {
140
135
  scale: scale$1,
141
136
  data: mapData,
142
137
  label: "Map legend"
143
138
  }),
144
139
  // Age axis
145
- h("svg", { width: "100%", height: "40px" }, [
146
- h(axis.AxisBottom, {
140
+ main_module.default("svg", { width: "100%", height: "40px" }, [
141
+ main_module.default(axis.AxisBottom, {
147
142
  scale: scale$1,
148
143
  numTicks: 5,
149
144
  top: 1,
@@ -160,10 +155,10 @@ function MacrostratAgeInfoCore({ macrostrat, intervalURL }) {
160
155
  if (b_int.int_id !== t_int.int_id) {
161
156
  age += ` - ${t_int.int_name}`;
162
157
  }
163
- return h(
158
+ return main_module.default(
164
159
  DescribedAgeInfo,
165
160
  {
166
- ageElement: h(infoBlocks.AgeChip, {
161
+ ageElement: main_module.default(infoBlocks.AgeChip, {
167
162
  b_int: { ...b_int, int_name: age, b_age, t_age },
168
163
  t_int: { ...b_int, int_name: age, b_age, t_age },
169
164
  intervalURL
@@ -173,50 +168,48 @@ function MacrostratAgeInfoCore({ macrostrat, intervalURL }) {
173
168
  );
174
169
  }
175
170
  function MacrostratAgeInfo(props) {
176
- return h(
177
- mapInterface.ExpandableDetailsPanel,
178
- { headerElement: h(MacrostratAgeInfoCore, props) },
179
- h(mapInterface.ExpansionBody, { title: "Age refinement" }, h(AgeRefinementPlot, props))
171
+ return main_module.default(
172
+ dataComponents.ExpandableDetailsPanel,
173
+ { headerElement: main_module.default(MacrostratAgeInfoCore, props) },
174
+ main_module.default(AgeRefinementPlot, props)
180
175
  );
181
176
  }
182
177
  function MatchBasis(props) {
183
178
  const { source, stratNameURL } = props;
184
179
  if (!source.macrostrat?.strat_names) return null;
185
- return h(
186
- mapInterface.ExpandableDetailsPanel,
180
+ return main_module.default(
181
+ dataComponents.ExpandableDetailsPanel,
187
182
  {
188
183
  className: "macrostrat-unit",
189
- headerElement: h([
190
- h("h3", source.macrostrat.strat_names[0].rank_name),
191
- h("div.description", "Matched stratigraphic unit")
184
+ headerElement: main_module.default([
185
+ main_module.default("h3", source.macrostrat.strat_names[0].rank_name),
186
+ main_module.default("div.description", "Matched stratigraphic unit")
192
187
  ])
193
188
  },
194
- h(mapInterface.ExpansionBody, { title: "All matched names" }, [
195
- source.macrostrat.strat_names?.map((name, i) => {
196
- let lastElement = i == source.macrostrat.strat_names.length - 1;
197
- return h("span", { key: i }, [
198
- h(
199
- "a.externalLink",
200
- {
201
- href: stratNameURL + "/" + name.strat_name_id,
202
- key: i
203
- },
204
- [name.rank_name]
205
- ),
206
- h.if(!lastElement)([", "])
207
- ]);
208
- })
209
- ])
189
+ source.macrostrat.strat_names?.map((name, i) => {
190
+ let lastElement = i == source.macrostrat.strat_names.length - 1;
191
+ return main_module.default("span", { key: i }, [
192
+ main_module.default(
193
+ "a.externalLink",
194
+ {
195
+ href: stratNameURL + "/" + name.strat_name_id,
196
+ key: i
197
+ },
198
+ [name.rank_name]
199
+ ),
200
+ main_module.default.if(!lastElement)([", "])
201
+ ]);
202
+ })
210
203
  );
211
204
  }
212
205
  function Thickness(props) {
213
206
  const { source } = props;
214
- if (!source.macrostrat.max_thick) return h("div");
215
- return h.if(source.macrostrat && source.macrostrat.max_thick)(
207
+ if (!source.macrostrat.max_thick) return main_module.default("div");
208
+ return main_module.default.if(source.macrostrat && source.macrostrat.max_thick)(
216
209
  "div.macrostrat-detail",
217
210
  [
218
- h("div.expansion-summary-title", "Thickness"),
219
- h("div", [
211
+ main_module.default("div.expansion-summary-title", "Thickness"),
212
+ main_module.default("div", [
220
213
  source.macrostrat.min_min_thick,
221
214
  " - ",
222
215
  source.macrostrat.max_thick,
@@ -228,12 +221,12 @@ function Thickness(props) {
228
221
  function MinorFossilCollections(props) {
229
222
  const { source } = props;
230
223
  const { macrostrat } = source;
231
- if (!macrostrat.pbdb_collections) return h("div");
232
- return h.if(macrostrat && macrostrat.pbdb_collections)(
224
+ if (!macrostrat.pbdb_collections) return main_module.default("div");
225
+ return main_module.default.if(macrostrat && macrostrat.pbdb_collections)(
233
226
  "div.macrostrat-detail",
234
227
  [
235
- h("div.expansion-summary-title", "Fossil collections"),
236
- h("div", [macrostrat.pbdb_collections])
228
+ main_module.default("div.expansion-summary-title", "Fossil collections"),
229
+ main_module.default("div", [macrostrat.pbdb_collections])
237
230
  ]
238
231
  );
239
232
  }
@@ -241,17 +234,17 @@ function FossilOccs(props) {
241
234
  const { source } = props;
242
235
  const { macrostrat } = source;
243
236
  if (!macrostrat?.pbdb_occs) return null;
244
- return h("div.macrostrat-detail", [
245
- h("div.expansion-summary-title", "Fossil occurrences"),
246
- h("div", [macrostrat.pbdb_occs])
237
+ return main_module.default("div.macrostrat-detail", [
238
+ main_module.default("div.expansion-summary-title", "Fossil occurrences"),
239
+ main_module.default("div", [macrostrat.pbdb_occs])
247
240
  ]);
248
241
  }
249
242
  function LithTypes(props) {
250
243
  const { lith_types } = props;
251
- return h.if(lith_types && lith_types.length > 0)(
244
+ return main_module.default.if(lith_types && lith_types.length > 0)(
252
245
  "div.lithologies.lithology-types",
253
246
  [
254
- h(dataComponents.LithologyList, {
247
+ main_module.default(dataComponents.LithologyList, {
255
248
  lithologies: lith_types
256
249
  })
257
250
  ]
@@ -269,25 +262,24 @@ function LithsAndClasses(props) {
269
262
  color: lith.color || "#000000"
270
263
  };
271
264
  });
272
- return h(
273
- mapInterface.ExpandableDetailsPanel,
265
+ return main_module.default(
266
+ dataComponents.ExpandableDetailsPanel,
274
267
  {
275
268
  title: "Lithology",
276
- value: h(LithTypes, { lith_types })
269
+ value: main_module.default(LithTypes, { lith_types })
277
270
  },
278
- h(mapInterface.ExpansionBody, { title: "Matched lithologies" }, [
279
- h(dataComponents.LithologyList, {
280
- lithologies,
281
- onClickItem: (e, lith) => {
282
- window.open(lithologyURL + "/" + lith.lith_id, "_self");
283
- }
284
- })
285
- ])
271
+ main_module.default(dataComponents.LithologyList, {
272
+ label: "Matched lithologies",
273
+ lithologies,
274
+ onClickItem: (e, lith) => {
275
+ window.open(lithologyURL + "/" + lith.lith_id, "_self");
276
+ }
277
+ })
286
278
  );
287
279
  }
288
280
  function EnvironTypes(props) {
289
281
  const { environ_types } = props;
290
- return h.if(environ_types && environ_types.length > 0)(dataComponents.LithologyList, {
282
+ return main_module.default.if(environ_types && environ_types.length > 0)(dataComponents.LithologyList, {
291
283
  lithologies: environ_types?.filter((e) => e.name != "")
292
284
  });
293
285
  }
@@ -303,55 +295,16 @@ function Environments(props) {
303
295
  color: environ.color || "#000000"
304
296
  };
305
297
  });
306
- return h(
307
- mapInterface.ExpandableDetailsPanel,
298
+ return main_module.default(
299
+ dataComponents.ExpandableDetailsPanel,
308
300
  {
309
301
  title: "Environment",
310
- value: h(EnvironTypes, { environ_types })
302
+ value: main_module.default(EnvironTypes, { environ_types })
311
303
  },
312
- h(mapInterface.ExpansionBody, { title: "Matched environments" }, [
313
- h(dataComponents.LithologyList, {
314
- lithologies,
315
- onClickItem: (e, environ) => {
316
- console.log("environ", environmentURL);
317
- window.open(environmentURL + "/" + environ.environ_id, "_self");
318
- }
319
- })
320
- ])
321
- );
322
- }
323
- function EconType(props) {
324
- const { econ_types } = props;
325
- return h.if(econ_types && econ_types.length > 0)("div", [
326
- econ_types?.map((econClass, i) => {
327
- return h(infoBlocks.AttrChip, {
328
- key: i,
329
- name: econClass.name,
330
- color: econClass.color
331
- });
304
+ main_module.default(dataComponents.LithologyList, {
305
+ label: "Matched environments",
306
+ lithologies
332
307
  })
333
- ]);
334
- }
335
- function Economy(props) {
336
- const { source } = props;
337
- const { macrostrat } = source;
338
- const { econs = null, econ_types = null } = macrostrat;
339
- if (!econs) return h("div");
340
- return h.if(econs && econs.length > 0)(
341
- mapInterface.ExpandableDetailsPanel,
342
- {
343
- title: "Economy ",
344
- value: h(EconType, { econ_types })
345
- },
346
- h(mapInterface.ExpansionBody, { title: "Matched economic attributes" }, [
347
- econs?.map((econ, i) => {
348
- return h(infoBlocks.AttrChip, {
349
- key: i,
350
- name: econ.econ,
351
- color: econ.color
352
- });
353
- })
354
- ])
355
308
  );
356
309
  }
357
310
  exports.MacrostratLinkedData = MacrostratLinkedData;
@@ -1 +1 @@
1
- {"version":3,"file":"macrostrat-linked.cjs","sources":["../../src/location-details/macrostrat-linked.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n ExpansionPanel,\n ExpandableDetailsPanel,\n ExpansionBody,\n} from \"@macrostrat/map-interface\";\nimport styles from \"./main.module.sass\";\nimport { scaleLinear } from \"@visx/scale\";\nimport { AxisBottom } from \"@visx/axis\";\nimport chroma from \"chroma-js\";\nimport { LithologyList } from \"@macrostrat/data-components\";\nimport { AttrChip, AgeChip } from \"./info-blocks\";\n\nconst h = hyper.styled(styles);\n\nexport function MacrostratLinkedData(props) {\n const {\n mapInfo,\n source,\n stratNameURL,\n environmentURL,\n intervalURL,\n lithologyURL,\n expanded = true,\n } = props;\n\n if (!mapInfo.mapData[0]) return null;\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Macrostrat-linked data\",\n helpText: \"via Macrostrat\",\n expanded,\n },\n [\n h(\"div\", { classes: expansionPanelDetailClasses }, [\n h(MatchBasis, { source, stratNameURL }),\n h(AgeInformation, { mapInfo, source, intervalURL }),\n h(Thickness, { source }),\n h(MinorFossilCollections, { source }),\n h(FossilOccs, { source }),\n h(LithsAndClasses, { source, lithologyURL }),\n h(Environments, { source, environmentURL }),\n h(Economy, { source }),\n ]),\n ],\n );\n}\n\nconst expansionPanelDetailClasses = {\n root: \"expansion-panel-detail\",\n};\n\nfunction AgeInformation(props) {\n const { source, mapInfo, intervalURL } = props;\n const { macrostrat } = source;\n\n if (!macrostrat?.b_age) return h(MapAgeRenderer, { mapInfo, intervalURL });\n\n return h(MacrostratAgeInfo, { macrostrat, mapInfo, intervalURL });\n}\n\nfunction MapAgeRenderer(props) {\n const { mapInfo, intervalURL, ...rest } = props;\n return h(\n DescribedAgeInfo,\n {\n ageElement: h(AgeChip, {\n b_int: mapInfo.mapData[0].b_int,\n t_int: mapInfo.mapData[0].t_int,\n intervalURL,\n }),\n },\n \"Based on geologic map description.\",\n );\n}\n\nfunction DescribedAgeInfo(props) {\n const { ageElement, children, className } = props;\n\n return h(\"div.described-age.macrostrast-detail\", [\n h(\"div.expansion-summary-title\", \"Age\"),\n h(\"div.age-chips\", null, ageElement),\n h(\"div.description\", children),\n ]);\n}\n\nfunction AgeRefinementBar({ scale, data, color, label = null }) {\n const { b_int, t_int } = data;\n const b_age = data.b_age ?? b_int.b_age;\n const t_age = data.t_age ?? t_int.t_age;\n const backgroundColor = color ?? b_int.color;\n const accentColor = chroma(backgroundColor).darken(0.5).hex();\n const labelColor = chroma(backgroundColor).darken(2).hex();\n\n const left = scale(b_age);\n const width = scale(t_age) - scale(b_age);\n\n let labelTranslate = 5;\n let textAlign = \"start\";\n\n // Adjust label placement\n\n if (width < 100) {\n if (left < 100) {\n labelTranslate = width + 5;\n } else {\n labelTranslate = -305;\n textAlign = \"end\";\n }\n }\n\n return h(\n \"div.age-refinement-bar\",\n {\n style: {\n marginLeft: `${left}px`,\n width: `${width}px`,\n height: \"18px\",\n backgroundColor,\n border: `2px solid ${accentColor}`,\n position: \"relative\",\n },\n },\n h(\n \"div.age-refinement-bar-label\",\n {\n style: {\n transform: `translateX(${labelTranslate}px)`,\n color: labelColor,\n fontSize: \"10px\",\n width: 300,\n textAlign,\n },\n },\n label,\n ),\n );\n}\n\nfunction AgeRefinementPlot({ macrostrat, mapInfo, intervalURL }) {\n // Plot the amount by which the age was refined\n\n const mapData = mapInfo.mapData[0];\n const b_age = Math.max(mapData.b_int.b_age, macrostrat.b_age);\n const t_age = Math.min(mapData.t_int.t_age, macrostrat.t_age);\n\n const scale = scaleLinear({\n domain: [1.02 * b_age, t_age * 0.98],\n range: [20, 360],\n });\n\n // use visx to plot the age refinement\n return h(\"div.age-refinement-plot\", [\n h(AgeRefinementBar, {\n scale,\n data: macrostrat,\n label: \"Macrostrat age model\",\n }),\n h(AgeRefinementBar, {\n scale,\n data: mapData,\n label: \"Map legend\",\n }),\n // Age axis\n h(\"svg\", { width: \"100%\", height: \"40px\" }, [\n h(AxisBottom, {\n scale,\n numTicks: 5,\n top: 1,\n left: 0,\n label: \"Age (Ma)\",\n }),\n ]),\n ]);\n}\n\nfunction MacrostratAgeInfoCore({ macrostrat, intervalURL }) {\n const { b_age, t_age, b_int, t_int } = macrostrat;\n\n if (!b_age) return null;\n\n let age = b_int.int_name;\n if (b_int.int_id !== t_int.int_id) {\n age += ` - ${t_int.int_name}`;\n }\n return h(\n DescribedAgeInfo,\n {\n ageElement: h(AgeChip, {\n b_int: { ...b_int, int_name: age, b_age, t_age },\n t_int: { ...b_int, int_name: age, b_age, t_age },\n intervalURL,\n }),\n },\n \"Refined using the Macrostrat age model.\",\n );\n}\n\nfunction MacrostratAgeInfo(props) {\n return h(\n ExpandableDetailsPanel,\n { headerElement: h(MacrostratAgeInfoCore, props) },\n h(ExpansionBody, { title: \"Age refinement\" }, h(AgeRefinementPlot, props)),\n );\n}\n\nfunction MatchBasis(props) {\n const { source, stratNameURL } = props;\n if (!source.macrostrat?.strat_names) return null;\n\n return h(\n ExpandableDetailsPanel,\n {\n className: \"macrostrat-unit\",\n headerElement: h([\n h(\"h3\", source.macrostrat.strat_names[0].rank_name),\n h(\"div.description\", \"Matched stratigraphic unit\"),\n ]),\n },\n h(ExpansionBody, { title: \"All matched names\" }, [\n source.macrostrat.strat_names?.map((name, i) => {\n let lastElement: boolean =\n i == source.macrostrat.strat_names.length - 1;\n return h(\"span\", { key: i }, [\n h(\n \"a.externalLink\",\n {\n href: stratNameURL + \"/\" + name.strat_name_id,\n key: i,\n },\n [name.rank_name],\n ),\n h.if(!lastElement)([\", \"]),\n ]);\n }),\n ]),\n );\n}\n\nfunction Thickness(props) {\n const { source } = props;\n if (!source.macrostrat.max_thick) return h(\"div\");\n\n return h.if(source.macrostrat && source.macrostrat.max_thick)(\n \"div.macrostrat-detail\",\n [\n h(\"div.expansion-summary-title\", \"Thickness\"),\n h(\"div\", [\n source.macrostrat.min_min_thick,\n \" - \",\n source.macrostrat.max_thick,\n \"m\",\n ]),\n ],\n );\n}\n\nfunction MinorFossilCollections(props) {\n const { source } = props;\n const { macrostrat } = source;\n if (!macrostrat.pbdb_collections) return h(\"div\");\n\n return h.if(macrostrat && macrostrat.pbdb_collections)(\n \"div.macrostrat-detail\",\n [\n h(\"div.expansion-summary-title\", \"Fossil collections\"),\n h(\"div\", [macrostrat.pbdb_collections]),\n ],\n );\n}\n\nfunction FossilOccs(props) {\n const { source } = props;\n const { macrostrat } = source;\n\n if (!macrostrat?.pbdb_occs) return null;\n\n return h(\"div.macrostrat-detail\", [\n h(\"div.expansion-summary-title\", \"Fossil occurrences\"),\n h(\"div\", [macrostrat.pbdb_occs]),\n ]);\n}\n\nfunction LithTypes(props) {\n const { lith_types } = props;\n\n return h.if(lith_types && lith_types.length > 0)(\n \"div.lithologies.lithology-types\",\n [\n h(LithologyList, {\n lithologies: lith_types,\n }),\n ],\n );\n}\n\nfunction LithsAndClasses(props) {\n const { source, lithologyURL } = props;\n const { macrostrat } = source;\n const { liths = null, lith_types = null } = macrostrat;\n\n if (!liths || liths.length == 0) return null;\n\n const lithologies = liths?.map((lith) => {\n return {\n ...lith,\n name: lith.lith,\n color: lith.color || \"#000000\",\n };\n });\n\n return h(\n ExpandableDetailsPanel,\n {\n title: \"Lithology\",\n value: h(LithTypes, { lith_types }),\n },\n h(ExpansionBody, { title: \"Matched lithologies\" }, [\n h(LithologyList, {\n lithologies,\n onClickItem: (e, lith) => {\n window.open(lithologyURL + \"/\" + lith.lith_id, \"_self\");\n },\n }),\n ]),\n );\n}\n\nfunction EnvironTypes(props) {\n const { environ_types } = props;\n return h.if(environ_types && environ_types.length > 0)(LithologyList, {\n lithologies: environ_types?.filter((e) => e.name != \"\"),\n });\n}\n\nfunction Environments(props) {\n const { source, environmentURL } = props;\n const { macrostrat } = source;\n const { environs = null, environ_types = null } = macrostrat;\n\n if (!environs || environs.length == 0) return null;\n\n const lithologies = environs?.map((environ) => {\n return {\n ...environ,\n name: environ.environ,\n color: environ.color || \"#000000\",\n };\n });\n\n return h(\n ExpandableDetailsPanel,\n {\n title: \"Environment\",\n value: h(EnvironTypes, { environ_types }),\n },\n h(ExpansionBody, { title: \"Matched environments\" }, [\n h(LithologyList, {\n lithologies,\n onClickItem: (e, environ) => {\n console.log(\"environ\", environmentURL);\n window.open(environmentURL + \"/\" + environ.environ_id, \"_self\");\n },\n }),\n ]),\n );\n}\n\nfunction EconType(props) {\n const { econ_types } = props;\n\n return h.if(econ_types && econ_types.length > 0)(\"div\", [\n econ_types?.map((econClass, i) => {\n return h(AttrChip, {\n key: i,\n name: econClass.name,\n color: econClass.color,\n });\n }),\n ]);\n}\n\nfunction Economy(props) {\n const { source } = props;\n const { macrostrat } = source;\n const { econs = null, econ_types = null } = macrostrat;\n if (!econs) return h(\"div\");\n\n return h.if(econs && econs.length > 0)(\n ExpandableDetailsPanel,\n {\n title: \"Economy \",\n value: h(EconType, { econ_types }),\n },\n h(ExpansionBody, { title: \"Matched economic attributes\" }, [\n econs?.map((econ, i) => {\n return h(AttrChip, {\n key: i,\n name: econ.econ,\n color: econ.color,\n });\n }),\n ]),\n );\n}\n"],"names":["hyper","styles","ExpansionPanel","AgeChip","scale","chroma","scaleLinear","AxisBottom","ExpandableDetailsPanel","ExpansionBody","LithologyList","AttrChip"],"mappings":"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"}
1
+ {"version":3,"file":"macrostrat-linked.cjs","sources":["../../src/location-details/macrostrat-linked.ts"],"sourcesContent":["import {\n ExpansionPanel,\n ExpandableDetailsPanel,\n LithologyList,\n} from \"@macrostrat/data-components\";\nimport { scaleLinear } from \"@visx/scale\";\nimport { AxisBottom } from \"@visx/axis\";\nimport chroma from \"chroma-js\";\nimport { AgeChip } from \"./info-blocks\";\nimport h from \"./main.module.sass\";\n\nexport function MacrostratLinkedData(props) {\n const {\n mapInfo,\n source,\n stratNameURL,\n environmentURL,\n intervalURL,\n lithologyURL,\n expanded = true,\n } = props;\n\n if (!mapInfo.mapData[0]) return null;\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Macrostrat-linked data\",\n helpText: \"via Macrostrat\",\n expanded,\n },\n [\n h(\"div\", { classes: expansionPanelDetailClasses }, [\n h(MatchBasis, { source, stratNameURL }),\n h(AgeInformation, { mapInfo, source, intervalURL }),\n h(Thickness, { source }),\n h(MinorFossilCollections, { source }),\n h(FossilOccs, { source }),\n h(LithsAndClasses, { source, lithologyURL }),\n h(Environments, { source, environmentURL }),\n ]),\n ],\n );\n}\n\nconst expansionPanelDetailClasses = {\n root: \"expansion-panel-detail\",\n};\n\nfunction AgeInformation(props) {\n const { source, mapInfo, intervalURL } = props;\n const { macrostrat } = source;\n\n if (!macrostrat?.b_age) return h(MapAgeRenderer, { mapInfo, intervalURL });\n\n return h(MacrostratAgeInfo, { macrostrat, mapInfo, intervalURL });\n}\n\nfunction MapAgeRenderer(props) {\n const { mapInfo, intervalURL, ...rest } = props;\n return h(\n DescribedAgeInfo,\n {\n ageElement: h(AgeChip, {\n b_int: mapInfo.mapData[0].b_int,\n t_int: mapInfo.mapData[0].t_int,\n intervalURL,\n }),\n },\n \"Based on geologic map description.\",\n );\n}\n\nfunction DescribedAgeInfo(props) {\n const { ageElement, children, className } = props;\n\n return h(\"div.described-age.macrostrast-detail\", [\n h(\"div.expansion-summary-title\", \"Age\"),\n h(\"div.age-chips\", null, ageElement),\n h(\"div.description\", children),\n ]);\n}\n\nfunction AgeRefinementBar({ scale, data, color, label = null }) {\n const { b_int, t_int } = data;\n const b_age = data.b_age ?? b_int.b_age;\n const t_age = data.t_age ?? t_int.t_age;\n const backgroundColor = color ?? b_int.color;\n const accentColor = chroma(backgroundColor).darken(0.5).hex();\n const labelColor = chroma(backgroundColor).darken(2).hex();\n\n const left = scale(b_age);\n const width = scale(t_age) - scale(b_age);\n\n let labelTranslate = 5;\n let textAlign = \"start\";\n\n // Adjust label placement\n\n if (width < 100) {\n if (left < 100) {\n labelTranslate = width + 5;\n } else {\n labelTranslate = -305;\n textAlign = \"end\";\n }\n }\n\n return h(\n \"div.age-refinement-bar\",\n {\n style: {\n marginLeft: `${left}px`,\n width: `${width}px`,\n height: \"18px\",\n backgroundColor,\n border: `2px solid ${accentColor}`,\n position: \"relative\",\n },\n },\n h(\n \"div.age-refinement-bar-label\",\n {\n style: {\n transform: `translateX(${labelTranslate}px)`,\n color: labelColor,\n fontSize: \"10px\",\n width: 300,\n textAlign,\n },\n },\n label,\n ),\n );\n}\n\nfunction AgeRefinementPlot({ macrostrat, mapInfo, intervalURL }) {\n // Plot the amount by which the age was refined\n\n const mapData = mapInfo.mapData[0];\n const b_age = Math.max(mapData.b_int.b_age, macrostrat.b_age);\n const t_age = Math.min(mapData.t_int.t_age, macrostrat.t_age);\n\n const scale = scaleLinear({\n domain: [1.02 * b_age, t_age * 0.98],\n range: [20, 360],\n });\n\n // use visx to plot the age refinement\n return h(\"div.age-refinement-plot\", [\n h(AgeRefinementBar, {\n scale,\n data: macrostrat,\n label: \"Macrostrat age model\",\n }),\n h(AgeRefinementBar, {\n scale,\n data: mapData,\n label: \"Map legend\",\n }),\n // Age axis\n h(\"svg\", { width: \"100%\", height: \"40px\" }, [\n h(AxisBottom, {\n scale,\n numTicks: 5,\n top: 1,\n left: 0,\n label: \"Age (Ma)\",\n }),\n ]),\n ]);\n}\n\nfunction MacrostratAgeInfoCore({ macrostrat, intervalURL }) {\n const { b_age, t_age, b_int, t_int } = macrostrat;\n\n if (!b_age) return null;\n\n let age = b_int.int_name;\n if (b_int.int_id !== t_int.int_id) {\n age += ` - ${t_int.int_name}`;\n }\n return h(\n DescribedAgeInfo,\n {\n ageElement: h(AgeChip, {\n b_int: { ...b_int, int_name: age, b_age, t_age },\n t_int: { ...b_int, int_name: age, b_age, t_age },\n intervalURL,\n }),\n },\n \"Refined using the Macrostrat age model.\",\n );\n}\n\nfunction MacrostratAgeInfo(props) {\n return h(\n ExpandableDetailsPanel,\n { headerElement: h(MacrostratAgeInfoCore, props) },\n h(AgeRefinementPlot, props),\n );\n}\n\nfunction MatchBasis(props) {\n const { source, stratNameURL } = props;\n if (!source.macrostrat?.strat_names) return null;\n\n return h(\n ExpandableDetailsPanel,\n {\n className: \"macrostrat-unit\",\n headerElement: h([\n h(\"h3\", source.macrostrat.strat_names[0].rank_name),\n h(\"div.description\", \"Matched stratigraphic unit\"),\n ]),\n },\n source.macrostrat.strat_names?.map((name, i) => {\n let lastElement: boolean = i == source.macrostrat.strat_names.length - 1;\n return h(\"span\", { key: i }, [\n h(\n \"a.externalLink\",\n {\n href: stratNameURL + \"/\" + name.strat_name_id,\n key: i,\n },\n [name.rank_name],\n ),\n h.if(!lastElement)([\", \"]),\n ]);\n }),\n );\n}\n\nfunction Thickness(props) {\n const { source } = props;\n if (!source.macrostrat.max_thick) return h(\"div\");\n\n return h.if(source.macrostrat && source.macrostrat.max_thick)(\n \"div.macrostrat-detail\",\n [\n h(\"div.expansion-summary-title\", \"Thickness\"),\n h(\"div\", [\n source.macrostrat.min_min_thick,\n \" - \",\n source.macrostrat.max_thick,\n \"m\",\n ]),\n ],\n );\n}\n\nfunction MinorFossilCollections(props) {\n const { source } = props;\n const { macrostrat } = source;\n if (!macrostrat.pbdb_collections) return h(\"div\");\n\n return h.if(macrostrat && macrostrat.pbdb_collections)(\n \"div.macrostrat-detail\",\n [\n h(\"div.expansion-summary-title\", \"Fossil collections\"),\n h(\"div\", [macrostrat.pbdb_collections]),\n ],\n );\n}\n\nfunction FossilOccs(props) {\n const { source } = props;\n const { macrostrat } = source;\n\n if (!macrostrat?.pbdb_occs) return null;\n\n return h(\"div.macrostrat-detail\", [\n h(\"div.expansion-summary-title\", \"Fossil occurrences\"),\n h(\"div\", [macrostrat.pbdb_occs]),\n ]);\n}\n\nfunction LithTypes(props) {\n const { lith_types } = props;\n\n return h.if(lith_types && lith_types.length > 0)(\n \"div.lithologies.lithology-types\",\n [\n h(LithologyList, {\n lithologies: lith_types,\n }),\n ],\n );\n}\n\nfunction LithsAndClasses(props) {\n const { source, lithologyURL } = props;\n const { macrostrat } = source;\n const { liths = null, lith_types = null } = macrostrat;\n\n if (!liths || liths.length == 0) return null;\n\n const lithologies = liths?.map((lith) => {\n return {\n ...lith,\n name: lith.lith,\n color: lith.color || \"#000000\",\n };\n });\n\n return h(\n ExpandableDetailsPanel,\n {\n title: \"Lithology\",\n value: h(LithTypes, { lith_types }),\n },\n h(LithologyList, {\n label: \"Matched lithologies\",\n lithologies,\n onClickItem: (e, lith) => {\n window.open(lithologyURL + \"/\" + lith.lith_id, \"_self\");\n },\n }),\n );\n}\n\nfunction EnvironTypes(props) {\n const { environ_types } = props;\n return h.if(environ_types && environ_types.length > 0)(LithologyList, {\n lithologies: environ_types?.filter((e) => e.name != \"\"),\n });\n}\n\nfunction Environments(props) {\n const { source, environmentURL } = props;\n const { macrostrat } = source;\n const { environs = null, environ_types = null } = macrostrat;\n\n if (!environs || environs.length == 0) return null;\n\n const lithologies = environs?.map((environ) => {\n return {\n ...environ,\n name: environ.environ,\n color: environ.color || \"#000000\",\n };\n });\n\n return h(\n ExpandableDetailsPanel,\n {\n title: \"Environment\",\n value: h(EnvironTypes, { environ_types }),\n },\n h(LithologyList, {\n label: \"Matched environments\",\n lithologies,\n }),\n );\n}\n"],"names":["h","ExpansionPanel","AgeChip","scale","chroma","scaleLinear","AxisBottom","ExpandableDetailsPanel","LithologyList"],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- import h$1 from "@macrostrat/hyper";
2
- import { ExpansionPanel, ExpandableDetailsPanel, ExpansionBody } from "@macrostrat/map-interface";
3
- import h$2 from "./main.module.sass.js";
1
+ import { ExpansionPanel, ExpandableDetailsPanel, LithologyList } from "@macrostrat/data-components";
4
2
  import { scaleLinear } from "@visx/scale";
5
3
  import { AxisBottom } from "@visx/axis";
6
4
  import chroma from "chroma-js";
7
- import { LithologyList } from "@macrostrat/data-components";
8
- import { AttrChip, AgeChip } from "./info-blocks.js";
9
- const h = h$1.styled(h$2);
5
+ import { AgeChip } from "./info-blocks.js";
6
+ import h from "./main.module.sass.js";
10
7
  function MacrostratLinkedData(props) {
11
8
  const {
12
9
  mapInfo,
@@ -34,8 +31,7 @@ function MacrostratLinkedData(props) {
34
31
  h(MinorFossilCollections, { source }),
35
32
  h(FossilOccs, { source }),
36
33
  h(LithsAndClasses, { source, lithologyURL }),
37
- h(Environments, { source, environmentURL }),
38
- h(Economy, { source })
34
+ h(Environments, { source, environmentURL })
39
35
  ])
40
36
  ]
41
37
  );
@@ -171,7 +167,7 @@ function MacrostratAgeInfo(props) {
171
167
  return h(
172
168
  ExpandableDetailsPanel,
173
169
  { headerElement: h(MacrostratAgeInfoCore, props) },
174
- h(ExpansionBody, { title: "Age refinement" }, h(AgeRefinementPlot, props))
170
+ h(AgeRefinementPlot, props)
175
171
  );
176
172
  }
177
173
  function MatchBasis(props) {
@@ -186,22 +182,20 @@ function MatchBasis(props) {
186
182
  h("div.description", "Matched stratigraphic unit")
187
183
  ])
188
184
  },
189
- h(ExpansionBody, { title: "All matched names" }, [
190
- source.macrostrat.strat_names?.map((name, i) => {
191
- let lastElement = i == source.macrostrat.strat_names.length - 1;
192
- return h("span", { key: i }, [
193
- h(
194
- "a.externalLink",
195
- {
196
- href: stratNameURL + "/" + name.strat_name_id,
197
- key: i
198
- },
199
- [name.rank_name]
200
- ),
201
- h.if(!lastElement)([", "])
202
- ]);
203
- })
204
- ])
185
+ source.macrostrat.strat_names?.map((name, i) => {
186
+ let lastElement = i == source.macrostrat.strat_names.length - 1;
187
+ return h("span", { key: i }, [
188
+ h(
189
+ "a.externalLink",
190
+ {
191
+ href: stratNameURL + "/" + name.strat_name_id,
192
+ key: i
193
+ },
194
+ [name.rank_name]
195
+ ),
196
+ h.if(!lastElement)([", "])
197
+ ]);
198
+ })
205
199
  );
206
200
  }
207
201
  function Thickness(props) {
@@ -270,14 +264,13 @@ function LithsAndClasses(props) {
270
264
  title: "Lithology",
271
265
  value: h(LithTypes, { lith_types })
272
266
  },
273
- h(ExpansionBody, { title: "Matched lithologies" }, [
274
- h(LithologyList, {
275
- lithologies,
276
- onClickItem: (e, lith) => {
277
- window.open(lithologyURL + "/" + lith.lith_id, "_self");
278
- }
279
- })
280
- ])
267
+ h(LithologyList, {
268
+ label: "Matched lithologies",
269
+ lithologies,
270
+ onClickItem: (e, lith) => {
271
+ window.open(lithologyURL + "/" + lith.lith_id, "_self");
272
+ }
273
+ })
281
274
  );
282
275
  }
283
276
  function EnvironTypes(props) {
@@ -304,49 +297,10 @@ function Environments(props) {
304
297
  title: "Environment",
305
298
  value: h(EnvironTypes, { environ_types })
306
299
  },
307
- h(ExpansionBody, { title: "Matched environments" }, [
308
- h(LithologyList, {
309
- lithologies,
310
- onClickItem: (e, environ) => {
311
- console.log("environ", environmentURL);
312
- window.open(environmentURL + "/" + environ.environ_id, "_self");
313
- }
314
- })
315
- ])
316
- );
317
- }
318
- function EconType(props) {
319
- const { econ_types } = props;
320
- return h.if(econ_types && econ_types.length > 0)("div", [
321
- econ_types?.map((econClass, i) => {
322
- return h(AttrChip, {
323
- key: i,
324
- name: econClass.name,
325
- color: econClass.color
326
- });
300
+ h(LithologyList, {
301
+ label: "Matched environments",
302
+ lithologies
327
303
  })
328
- ]);
329
- }
330
- function Economy(props) {
331
- const { source } = props;
332
- const { macrostrat } = source;
333
- const { econs = null, econ_types = null } = macrostrat;
334
- if (!econs) return h("div");
335
- return h.if(econs && econs.length > 0)(
336
- ExpandableDetailsPanel,
337
- {
338
- title: "Economy ",
339
- value: h(EconType, { econ_types })
340
- },
341
- h(ExpansionBody, { title: "Matched economic attributes" }, [
342
- econs?.map((econ, i) => {
343
- return h(AttrChip, {
344
- key: i,
345
- name: econ.econ,
346
- color: econ.color
347
- });
348
- })
349
- ])
350
304
  );
351
305
  }
352
306
  export {