@macrostrat/column-views 2.3.0 → 2.3.2
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 +9 -2
- package/dist/esm/{column-views.c3c7901a.js → column-views.029ea8f1.js} +6 -3
- package/dist/esm/column-views.029ea8f1.js.map +1 -0
- package/dist/esm/{column-views.5eb4e6ff.js → column-views.0a010643.js} +2 -2
- package/dist/esm/column-views.0a010643.js.map +1 -0
- package/dist/esm/{column-views.44373a90.js → column-views.18aac6a5.js} +2 -2
- package/dist/esm/{column-views.44373a90.js.map → column-views.18aac6a5.js.map} +1 -1
- package/dist/esm/{column-views.322790f3.js → column-views.24060b85.js} +5 -9
- package/dist/esm/column-views.24060b85.js.map +1 -0
- package/dist/esm/{column-views.de433f18.js → column-views.26e0e0b6.js} +3 -3
- package/dist/esm/column-views.26e0e0b6.js.map +1 -0
- package/dist/esm/column-views.2c45a7b5.js.map +1 -1
- package/dist/esm/{column-views.92575b87.js → column-views.2f979aee.js} +2 -2
- package/dist/esm/{column-views.92575b87.js.map → column-views.2f979aee.js.map} +1 -1
- package/dist/esm/{column-views.2bac03a2.js → column-views.3f1cdc18.js} +2 -2
- package/dist/esm/{column-views.2bac03a2.js.map → column-views.3f1cdc18.js.map} +1 -1
- package/dist/esm/{column-views.40094dd9.js → column-views.4685ea28.js} +15 -14
- package/dist/esm/column-views.4685ea28.js.map +1 -0
- package/dist/esm/column-views.4b259f9e.js.map +1 -1
- package/dist/esm/{column-views.dc195174.js → column-views.4e6eead3.js} +2 -2
- package/dist/esm/{column-views.dc195174.js.map → column-views.4e6eead3.js.map} +1 -1
- package/dist/esm/{column-views.403a7b48.css → column-views.6f9511d1.css} +2 -1
- package/dist/esm/column-views.6f9511d1.css.map +1 -0
- package/dist/esm/{column-views.107b47b4.js → column-views.6f96d1c3.js} +6 -6
- package/dist/esm/{column-views.107b47b4.js.map → column-views.6f96d1c3.js.map} +1 -1
- package/dist/esm/{column-views.343fc926.js → column-views.6fff7602.js} +5 -10
- package/dist/esm/column-views.6fff7602.js.map +1 -0
- package/dist/esm/{column-views.5ca2b219.js → column-views.73fc96cb.js} +3 -3
- package/dist/esm/{column-views.5ca2b219.js.map → column-views.73fc96cb.js.map} +1 -1
- package/dist/esm/column-views.75b83110.js +13 -0
- package/dist/esm/{column-views.3c9cba65.js.map → column-views.75b83110.js.map} +1 -1
- package/dist/esm/{column-views.d524075b.js → column-views.82a5112b.js} +4 -4
- package/dist/esm/{column-views.d524075b.js.map → column-views.82a5112b.js.map} +1 -1
- package/dist/esm/column-views.82eb5026.js.map +1 -1
- package/dist/esm/{column-views.6df65dab.js → column-views.8d972657.js} +3 -3
- package/dist/esm/{column-views.6df65dab.js.map → column-views.8d972657.js.map} +1 -1
- package/dist/esm/column-views.9ffc089b.js.map +1 -1
- package/dist/esm/{column-views.63d40878.js → column-views.a665cbb2.js} +2 -2
- package/dist/esm/{column-views.63d40878.js.map → column-views.a665cbb2.js.map} +1 -1
- package/dist/esm/{column-views.565b193a.js → column-views.b9265595.js} +2 -2
- package/dist/esm/{column-views.565b193a.js.map → column-views.b9265595.js.map} +1 -1
- package/dist/esm/{column-views.afe0bb48.js → column-views.b977da35.js} +3 -3
- package/dist/esm/{column-views.afe0bb48.js.map → column-views.b977da35.js.map} +1 -1
- package/dist/esm/{column-views.7fa0d026.js → column-views.d5fff9b8.js} +4 -5
- package/dist/esm/column-views.d5fff9b8.js.map +1 -0
- package/dist/esm/column-views.e075af15.js.map +1 -1
- package/dist/esm/{column-views.2708e176.js → column-views.e3f0cd7b.js} +6 -6
- package/dist/esm/{column-views.2708e176.js.map → column-views.e3f0cd7b.js.map} +1 -1
- package/dist/esm/{column-views.6c9e5069.js → column-views.ee9d71ba.js} +4 -5
- package/dist/esm/column-views.ee9d71ba.js.map +1 -0
- package/dist/esm/index.d.ts +70 -49
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -8
- package/dist/node/{column-views.b40c1b9c.js → column-views.00ad98fa.js} +2 -2
- package/dist/node/{column-views.b40c1b9c.js.map → column-views.00ad98fa.js.map} +1 -1
- package/dist/node/{column-views.7cc1a14f.js → column-views.02869dc5.js} +2 -2
- package/dist/node/{column-views.7cc1a14f.js.map → column-views.02869dc5.js.map} +1 -1
- package/dist/node/{column-views.c9880a4d.js → column-views.0a2596c2.js} +2 -2
- package/dist/node/{column-views.c9880a4d.js.map → column-views.0a2596c2.js.map} +1 -1
- package/dist/node/column-views.3a079e34.css +2 -0
- package/dist/node/column-views.3a079e34.css.map +1 -0
- package/dist/node/{column-views.1d064426.js → column-views.3a947d58.js} +2 -2
- package/dist/node/{column-views.1d064426.js.map → column-views.3a947d58.js.map} +1 -1
- package/dist/node/{column-views.8ee8469d.js → column-views.3d0c2bea.js} +2 -2
- package/dist/node/{column-views.8ee8469d.js.map → column-views.3d0c2bea.js.map} +1 -1
- package/dist/node/column-views.46efb749.js.map +1 -1
- package/dist/node/column-views.4ec769a6.js +2 -0
- package/dist/node/column-views.4ec769a6.js.map +1 -0
- package/dist/node/{column-views.b103acbc.js → column-views.59ce629d.js} +2 -2
- package/dist/node/{column-views.b103acbc.js.map → column-views.59ce629d.js.map} +1 -1
- package/dist/node/column-views.5fd6e11a.js.map +1 -1
- package/dist/node/column-views.6556e004.js +2 -0
- package/dist/node/column-views.6556e004.js.map +1 -0
- package/dist/node/column-views.67e7a200.js +2 -0
- package/dist/node/column-views.67e7a200.js.map +1 -0
- package/dist/node/{column-views.d8821a96.js → column-views.6b391d60.js} +2 -2
- package/dist/node/{column-views.d8821a96.js.map → column-views.6b391d60.js.map} +1 -1
- package/dist/node/column-views.75456275.js.map +1 -1
- package/dist/node/{column-views.d77d260b.js → column-views.825d2719.js} +2 -2
- package/dist/node/{column-views.d77d260b.js.map → column-views.825d2719.js.map} +1 -1
- package/dist/node/{column-views.f577d065.js → column-views.868c04dc.js} +2 -2
- package/dist/node/{column-views.f577d065.js.map → column-views.868c04dc.js.map} +1 -1
- package/dist/node/column-views.8eae7028.js +2 -0
- package/dist/node/column-views.8eae7028.js.map +1 -0
- package/dist/node/column-views.8f540f78.js +2 -0
- package/dist/node/column-views.8f540f78.js.map +1 -0
- package/dist/node/column-views.9efa91f1.js +2 -0
- package/dist/node/column-views.9efa91f1.js.map +1 -0
- package/dist/node/column-views.c007152b.js.map +1 -1
- package/dist/node/{column-views.ec691859.js → column-views.c4188442.js} +2 -2
- package/dist/node/{column-views.ec691859.js.map → column-views.c4188442.js.map} +1 -1
- package/dist/node/{column-views.56f88b8c.js → column-views.dfe9a971.js} +2 -2
- package/dist/node/{column-views.56f88b8c.js.map → column-views.dfe9a971.js.map} +1 -1
- package/dist/node/column-views.e153680b.js +2 -0
- package/dist/node/column-views.e153680b.js.map +1 -0
- package/dist/node/{column-views.42bc66a8.js → column-views.ed2fd268.js} +2 -2
- package/dist/node/{column-views.42bc66a8.js.map → column-views.ed2fd268.js.map} +1 -1
- package/dist/node/{column-views.5559de6a.js → column-views.fafbc028.js} +2 -2
- package/dist/node/{column-views.5559de6a.js.map → column-views.fafbc028.js.map} +1 -1
- package/dist/node/{column-views.6c7f9245.js → column-views.fee4e65d.js} +2 -2
- package/dist/node/{column-views.6c7f9245.js.map → column-views.fee4e65d.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -4
- package/src/data-provider/base.ts +1 -0
- package/src/data-provider/store.ts +1 -1
- package/src/facets/carbon-isotopes/isotopes-column.ts +2 -2
- package/src/facets/detrital-zircon/index.module.sass +2 -3
- package/src/facets/detrital-zircon/index.ts +3 -0
- package/src/facets/fossils/index.ts +19 -12
- package/src/facets/fossils/provider.ts +30 -17
- package/src/facets/fossils/taxon-ranges.ts +14 -7
- package/src/facets/measurements/base.ts +7 -3
- package/src/facets/measurements/sgp.ts +4 -5
- package/src/prepare-units/index.ts +2 -0
- package/src/unit-details/panel.ts +12 -10
- package/src/units/composite.ts +4 -10
- package/src/units/names.ts +26 -28
- package/dist/esm/column-views.322790f3.js.map +0 -1
- package/dist/esm/column-views.343fc926.js.map +0 -1
- package/dist/esm/column-views.3c9cba65.js +0 -13
- package/dist/esm/column-views.40094dd9.js.map +0 -1
- package/dist/esm/column-views.403a7b48.css.map +0 -1
- package/dist/esm/column-views.5eb4e6ff.js.map +0 -1
- package/dist/esm/column-views.6c9e5069.js.map +0 -1
- package/dist/esm/column-views.7fa0d026.js.map +0 -1
- package/dist/esm/column-views.c3c7901a.js.map +0 -1
- package/dist/esm/column-views.de433f18.js.map +0 -1
- package/dist/node/column-views.28609db2.css +0 -2
- package/dist/node/column-views.28609db2.css.map +0 -1
- package/dist/node/column-views.5361f0e2.js +0 -2
- package/dist/node/column-views.5361f0e2.js.map +0 -1
- package/dist/node/column-views.777b9bb6.js +0 -2
- package/dist/node/column-views.777b9bb6.js.map +0 -1
- package/dist/node/column-views.93bde6c1.js +0 -2
- package/dist/node/column-views.93bde6c1.js.map +0 -1
- package/dist/node/column-views.af480651.js +0 -2
- package/dist/node/column-views.af480651.js.map +0 -1
- package/dist/node/column-views.b6e86cf0.js +0 -2
- package/dist/node/column-views.b6e86cf0.js.map +0 -1
- package/dist/node/column-views.ec7cc7cc.js +0 -2
- package/dist/node/column-views.ec7cc7cc.js.map +0 -1
- package/dist/node/column-views.fac4baff.js +0 -2
- package/dist/node/column-views.fac4baff.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,O,C,C,kB,C,K,2B,A,Q,S,C,K,U,A,Q,a,C,C,kB,C,K,+B,A,Q,U,C,K,O,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,wB,I,G,E,E,iB,I,A,E,S,c,E,I,E,E,S,E,E,S,E,E,SCaA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAIhB,SAAS,EAAsB,CAAA,SAAE,CAAQ,CAAE,EAIhD,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,EAAU,AAAA,EAAA,cAAa,CAAE,WAAW,EACzD,EAAM,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACN,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,EAAc,OAAO,KAKzB,IAAM,EAAgB,IAAI,IAHZ,AAAA,EAAM,EAAM,AAAC,GAAM,EAAE,OAAO,GAOpC,CAAA,YAAE,CAAW,CAAE,CAFN,AAuGjB,SACE,CAAiB,CACjB,CAAmC,CACnC,EAA2B,AAAA,EAAe,GAAG,EAE7C,IAAM,EAAe,IAAI,IACnB,EAAqB,IAAI,IAE/B,IAAK,GAAM,CAAC,EAAS,EAAY,GAAI,EAAK,OAAO,GAC/C,IAAK,IAAM,KAAO,EAAa,CAC7B,IAAM,EAAY,EAAI,SAAS,EAAI,EAAI,UAAU,CAC5C,EAAa,GAAG,CAAC,KACpB,EAAa,GAAG,CAAC,EAAW,IAAI,KAChC,EAAmB,GAAG,CAAC,EAAW,EAAE,GAEtC,EAAa,GAAG,CAAC,GAAW,GAAG,CAAC,GAChC,EAAmB,GAAG,CAAC,GAAW,IAAI,CAAC,EACzC,CAIF,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","sources":["<anon>","packages/column-views/src/facets/fossils/taxon-ranges.ts"],"sourcesContent":["import \"./column-views.fac4baff.js\";\nimport \"./column-views.46efb749.js\";\nimport \"./column-views.672b683c.js\";\nimport $1vN9E$macrostrathyper from \"@macrostrat/hyper\";\nimport {Box as $1vN9E$Box, useElementSize as $1vN9E$useElementSize} from \"@macrostrat/ui-components\";\nimport {group as $1vN9E$group} from \"d3-array\";\nimport {ColumnSVG as $1vN9E$ColumnSVG, ColumnAxisType as $1vN9E$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {useRef as $1vN9E$useRef} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $9cea14fa75e12a56$exports = {};\n\n$parcel$export($9cea14fa75e12a56$exports, \"PBDBOccurrencesMatrix\", () => $9cea14fa75e12a56$export$652730986cccff7a);\n$parcel$export($9cea14fa75e12a56$exports, \"FossilDataType\", () => (parcelRequire(\"dx7no\")).FossilDataType);\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $f7qDU = parcelRequire(\"f7qDU\");\n\nconst $9cea14fa75e12a56$var$h = (0, $1vN9E$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($f7qDU))));\nfunction $9cea14fa75e12a56$export$652730986cccff7a({ columnID: columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */ const data = (0, $dx7no.useFossilData)(columnID, (0, $dx7no.FossilDataType).Occurrences);\n const col = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null) return null;\n const data1 = (0, $1vN9E$group)(data, (d)=>d.unit_id);\n // convert the data to a map\n const occurrenceMap = new Map(data1);\n const matrix = $9cea14fa75e12a56$var$createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n const { taxonRanges: taxonRanges } = matrix;\n const padding = 16;\n const spacing = 16;\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n const width = padding * 2 + spacing * taxonEntries.length;\n return $9cea14fa75e12a56$var$h((0, $1vN9E$Box), {\n className: \"taxon-ranges\",\n width: width,\n height: col.totalHeight\n }, [\n $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonOccurrenceLabels, {\n taxonEntries: taxonEntries,\n padding: padding,\n spacing: spacing,\n scale: scale\n }),\n $9cea14fa75e12a56$var$h((0, $1vN9E$ColumnSVG), {\n width: padding * 2 + spacing * taxonEntries.length\n }, $9cea14fa75e12a56$var$h(\"g.taxa-occurrences-matrix\", taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const xPosition = padding + rowIndex * spacing;\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n })))\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceLabels({ taxonEntries: taxonEntries, padding: padding, spacing: spacing, scale: scale }) {\n return $9cea14fa75e12a56$var$h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex)=>{\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n return $9cea14fa75e12a56$var$h($9cea14fa75e12a56$var$TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName: taxonName\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$TaxonLabel({ top: top, left: left, taxonName: taxonName }) {\n const ref = (0, $1vN9E$useRef)();\n const textSize = (0, $1vN9E$useElementSize)(ref);\n const labelWidth = textSize?.height ?? 200;\n return $9cea14fa75e12a56$var$h(\"div.taxon-label\", {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`\n }\n }, $9cea14fa75e12a56$var$h(\"div.taxon-label-inner\", $9cea14fa75e12a56$var$h(\"div.taxon-label-text\", {\n ref: ref\n }, taxonName)));\n}\nfunction $9cea14fa75e12a56$var$TaxonOccurrenceEntry({ xPosition: xPosition, ranges: ranges, scale: scale, name: name }) {\n return $9cea14fa75e12a56$var$h(\"g\", {\n transform: `translate(${xPosition})`\n }, [\n ranges.map(([top, bottom])=>{\n return $9cea14fa75e12a56$var$h(\"line\", {\n y1: scale(top),\n y2: scale(bottom)\n });\n })\n ]);\n}\nfunction $9cea14fa75e12a56$var$createOccurrenceMatrix(units, data, axisType = (0, $1vN9E$ColumnAxisType).AGE) {\n const taxonUnitMap = new Map();\n const taxonOccurrenceMap = new Map();\n for (const [unit_id, occurrences] of data.entries())for (const occ of occurrences){\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b)=>{\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n const taxonRanges = new Map();\n for (const [taxonName, unitSet] of taxonUnitMap.entries())taxonRanges.set(taxonName, $9cea14fa75e12a56$var$accumulatePresenceDomains(units, unitSet, axisType));\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges: taxonRanges\n };\n}\nfunction $9cea14fa75e12a56$var$accumulatePresenceDomains(unit, presenceUnits, axisType) {\n const domains = [];\n let currentDomain = null;\n for (const u of unit){\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain = [\n u.t_pos,\n u.b_pos\n ];\n else currentDomain = [\n u.t_age,\n u.b_age\n ];\n } else if (axisType == (0, $1vN9E$ColumnAxisType).DEPTH || axisType == (0, $1vN9E$ColumnAxisType).HEIGHT) currentDomain[1] = u.b_pos;\n else currentDomain[1] = u.b_age;\n } else if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n if (currentDomain != null) domains.push(currentDomain);\n return domains;\n}\n\n\nexport {$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix, $8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType};\n//# sourceMappingURL=column-views.b6e86cf0.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport { FossilDataType, PBDBOccurrence, useFossilData } from \"./provider\";\nimport { Box, useElementSize } from \"@macrostrat/ui-components\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType, ColumnSVG } from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useCompositeScale,\n} from \"../../data-provider\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport styles from \"./taxon-ranges.module.sass\";\nimport { useRef } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport { FossilDataType };\n\nexport function PBDBOccurrencesMatrix({ columnID }) {\n /* A column for a matrix of taxon occurrences displayed as a table beside the main column. This will\n eventually be extended with first/last occurrence markers and range bars.\n */\n const data = useFossilData(columnID, FossilDataType.Occurrences);\n const col = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null) return null;\n\n const data1 = group(data, (d) => d.unit_id);\n\n // convert the data to a map\n const occurrenceMap = new Map(data1);\n\n const matrix = createOccurrenceMatrix(col.units, occurrenceMap, col.axisType);\n\n const { taxonRanges } = matrix;\n\n const padding = 16;\n const spacing = 16;\n\n const taxonEntries = Array.from(taxonRanges.entries());\n //const taxon = taxonEntries.slice(0, 50); // limit to top 50 taxa\n\n const width = padding * 2 + spacing * taxonEntries.length;\n\n return h(Box, { className: \"taxon-ranges\", width, height: col.totalHeight }, [\n h(TaxonOccurrenceLabels, {\n taxonEntries,\n padding,\n spacing,\n scale,\n }),\n h(\n ColumnSVG,\n {\n width: padding * 2 + spacing * taxonEntries.length,\n },\n h(\n \"g.taxa-occurrences-matrix\",\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const xPosition = padding + rowIndex * spacing;\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n }),\n ),\n ),\n ]);\n}\n\nfunction TaxonOccurrenceLabels({ taxonEntries, padding, spacing, scale }) {\n return h(\"div.taxon-labels\", [\n taxonEntries.map(([taxonName, ranges], rowIndex) => {\n const top = ranges[0]?.[0] ?? 0;\n let topPx = scale(top) - 20;\n if (topPx < 200) topPx = 0;\n\n return h(TaxonLabel, {\n top: topPx,\n left: padding + rowIndex * spacing,\n taxonName,\n });\n }),\n ]);\n}\n\nfunction TaxonLabel({ top, left, taxonName }) {\n const ref = useRef();\n const textSize = useElementSize(ref);\n const labelWidth = textSize?.height ?? 200;\n return h(\n \"div.taxon-label\",\n {\n style: {\n top: `${top}px`,\n marginLeft: `${left}px`,\n \"--label-width\": `${labelWidth}px`,\n },\n },\n h(\"div.taxon-label-inner\", h(\"div.taxon-label-text\", { ref }, taxonName)),\n );\n}\n\ntype TaxonUnitMap = Map<string, Set<number>>;\n\ninterface OccurrenceMatrixData {\n occurrenceMap: Map<number, PBDBOccurrence[]>; // Map of unit IDs to occurrences (original data)\n taxonUnitMap: TaxonUnitMap; // Map of taxon names to sets of unit IDs\n taxonOccurrenceMap: Map<string, PBDBOccurrence[]>; // Map of taxon names to occurrences\n taxonRanges: Map<string, [number, number][]>; // Map of taxon names to [top, bottom] pixel ranges\n}\n\nfunction TaxonOccurrenceEntry({\n xPosition,\n ranges,\n scale,\n name,\n}: {\n xPosition: number;\n units: Set<number>;\n}) {\n return h(\"g\", { transform: `translate(${xPosition})` }, [\n ranges.map(([top, bottom]) => {\n return h(\"line\", {\n y1: scale(top),\n y2: scale(bottom),\n });\n }),\n ]);\n}\n\nfunction createOccurrenceMatrix(\n units: UnitLong[],\n data: Map<number, PBDBOccurrence[]>,\n axisType: ColumnAxisType = ColumnAxisType.AGE,\n): OccurrenceMatrixData {\n const taxonUnitMap = new Map<string, Set<number>>();\n const taxonOccurrenceMap = new Map<string, PBDBOccurrence[]>();\n\n for (const [unit_id, occurrences] of data.entries()) {\n for (const occ of occurrences) {\n const taxonName = occ.best_name ?? occ.taxon_name;\n if (!taxonUnitMap.has(taxonName)) {\n taxonUnitMap.set(taxonName, new Set());\n taxonOccurrenceMap.set(taxonName, []);\n }\n taxonUnitMap.get(taxonName).add(unit_id);\n taxonOccurrenceMap.get(taxonName).push(occ);\n }\n }\n\n // sort the taxon occurrence map by number of occurrences\n const sortedTaxa = Array.from(taxonUnitMap.entries()).sort((a, b) => {\n // Sort alphabetically by taxon name\n return b[0].localeCompare(a[0]);\n });\n\n const taxonRanges = new Map<string, [number, number][]>();\n for (const [taxonName, unitSet] of taxonUnitMap.entries()) {\n taxonRanges.set(\n taxonName,\n accumulatePresenceDomains(units, unitSet, axisType),\n );\n }\n\n return {\n occurrenceMap: data,\n taxonUnitMap: new Map(sortedTaxa),\n taxonOccurrenceMap: taxonOccurrenceMap,\n taxonRanges,\n };\n}\n\nfunction accumulatePresenceDomains(\n unit: UnitLong[],\n presenceUnits: Set<number>,\n axisType: ColumnAxisType,\n): Array<[number, number]> {\n const domains: Array<[number, number]> = [];\n let currentDomain: [number, number] | null = null;\n\n for (const u of unit) {\n if (presenceUnits.has(u.unit_id)) {\n if (currentDomain == null) {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain = [u.t_pos, u.b_pos];\n } else {\n currentDomain = [u.t_age, u.b_age];\n }\n } else {\n if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.HEIGHT\n ) {\n currentDomain[1] = u.b_pos;\n } else {\n currentDomain[1] = u.b_age;\n }\n }\n } else {\n if (currentDomain != null) {\n domains.push(currentDomain);\n currentDomain = null;\n }\n }\n }\n\n if (currentDomain != null) {\n domains.push(currentDomain);\n }\n\n return domains;\n}\n"],"names":["$1vN9E$macrostrathyper","Box","$1vN9E$Box","useElementSize","$1vN9E$useElementSize","group","$1vN9E$group","ColumnSVG","$1vN9E$ColumnSVG","ColumnAxisType","$1vN9E$ColumnAxisType","useRef","$1vN9E$useRef","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$9cea14fa75e12a56$exports","$9cea14fa75e12a56$export$652730986cccff7a","FossilDataType","$dx7no","$wtIgl","$f7qDU","$9cea14fa75e12a56$var$h","styled","a","__esModule","default","columnID","data","useFossilData","Occurrences","col","useMacrostratColumnData","scale","useCompositeScale","occurrenceMap","Map","d","unit_id","taxonRanges","$9cea14fa75e12a56$var$createOccurrenceMatrix","units","axisType","AGE","taxonUnitMap","taxonOccurrenceMap","occurrences","entries","occ","taxonName","best_name","taxon_name","has","Set","add","push","sortedTaxa","Array","from","sort","b","localeCompare","unitSet","$9cea14fa75e12a56$var$accumulatePresenceDomains","unit","presenceUnits","domains","currentDomain","u","DEPTH","HEIGHT","t_pos","b_pos","t_age","b_age","taxonEntries","className","width","padding","spacing","length","height","totalHeight","$9cea14fa75e12a56$var$TaxonOccurrenceLabels","map","ranges","rowIndex","transform","top","bottom","y1","y2","topPx","$9cea14fa75e12a56$var$TaxonLabel","left","ref","textSize","labelWidth","style","marginLeft","PBDBOccurrencesMatrix","$8e174c7ae24a4598$export$a990c76b38782f57"],"version":3,"file":"column-views.b6e86cf0.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.1d064426.js";import"./column-views.46efb749.js";import e from"@macrostrat/hyper";import{useAPIResult as t}from"@macrostrat/ui-components";var n=globalThis,r={},a={},o=n.parcelRequirea149;null==o&&((o=function(e){if(e in r)return r[e].exports;if(e in a){var t=a[e];delete a[e];var n={id:e,exports:{}};return r[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){a[e]=t},n.parcelRequirea149=o),o.register,Object.defineProperty({},"SGPMeasurementsColumn",{get:()=>s,set:void 0,enumerable:!0,configurable:!0});var l=o("kIQUG"),u=o("wtIgl");function s({columnID:n,color:r="magenta"}){let a=function({col_id:e}){return t("https://dev.macrostrat.org/api/pg/sgp_unit_matches",{col_id:`eq.${e}`},e=>e)}({col_id:n}),{axisType:o,units:s}=(0,u.useMacrostratColumnData)(),c=(0,u.useCompositeScale)();if(null==a||null==s||null==c)return null;let m=function(e,t,n,r){let a=e.map(e=>{let t=e.sgp_samples;if(null==t||0===t.length)return null;let a=(0,l.standardizeMeasurementHeight)({unit_id:e.unit_id},n,r);return null==a?null:(t.sort((e,t)=>e.id-t.id),{...a,data:t,id:e.unit_id})}).filter(Boolean);return(0,l.groupNotesByPixelDistance)(a,t,r,5)}(a,c,s,o);return e(l.BaseMeasurementsColumn,{data:m,noteComponent:i,focusedNoteComponent:i})}function i(t){let{note:n,focused:r}=t,a=n?.data;return null==a||0===a.length?null:e(l.TruncatedList,{className:"sgp-samples",data:a,itemRenderer:t=>e("span",t.data.name),maxItems:r?1/0:5})}export{s as SGPMeasurementsColumn};
|
|
2
|
-
//# sourceMappingURL=column-views.ec7cc7cc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,gB,C,K,2B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,wB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,SCiCO,SAAS,EAAsB,CAAA,SAAE,CAAQ,CAAA,MAAE,EAAQ,SAAA,CAAW,EACnE,IAAM,EAA+B,AAlBvC,SAAoB,CAAA,OAAE,CAAM,CAAE,EAQ5B,OAPY,AAAA,EACV,qDACA,CACE,OAAQ,CAAC,GAAG,EAAE,EAAA,CAAQ,AACxB,EACA,AAAC,GAAM,EAGX,EASkD,CAAE,OAAQ,CAAS,GAC7D,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACtB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,GAAiB,AAAS,MAAT,EAAe,OAAO,KAE3D,IAAM,EAAQ,AAuBhB,SACE,CAAqB,CACrB,CAA2B,CAC3B,CAAiB,CACjB,CAAwB,EAGxB,IAAM,EAAK,EACR,GAAG,CAAC,AAAC,IACJ,IAAM,EAAO,EAAO,WAAW,CAC/B,GAAI,AAAQ,MAAR,GAAgB,AAAgB,IAAhB,EAAK,MAAM,CAAQ,OAAO,KAC9C,IAAM,EAAa,AAAA,CAAA,EAAA,EAAA,4BAA2B,AAA3B,EACjB,CAAE,QAAS,EAAO,OAAO,AAAC,EAC1B,EACA,UAEF,AAAI,AAAc,MAAd,EAA2B,MAC/B,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,EAAE,CAAG,EAAE,EAAE,EACxB,CACL,GAAG,CAAU,CACb,KAAA,EACA,GAAI,EAAO,OAAO,AACpB,EACF,GACC,MAAM,CAAC,SAEV,MAAO,AAAA,CAAA,EAAA,EAAA,yBAAwB,AAAxB,EAA0B,EAAI,EAAO,EAAU,EACxD,EAlD+B,EAAM,EAAO,EAAO,GAEjD,OAAO,AAAA,EAAE,EAAA,sBAAqB,CAAG,CAC/B,KAAM,EACN,cAAe,EACf,qBAAsB,CACxB,EACF,CAEA,SAAS,EAAe,CAAK,EAC3B,GAAM,CAAA,KAAE,CAAI,CAAA,QAAE,CAAO,CAAE,CAAG,EACpB,EAAc,GAAM,YAE1B,AAAI,AAAe,MAAf,GAAuB,AAAuB,IAAvB,EAAY,MAAM,CAAe,KAErD,AAAA,EAAE,EAAA,aAAY,CAAG,CACtB,UAAW,cACX,KAAM,EACN,aAAc,AAAC,GAAM,AAAA,EAAE,OAAQ,EAAE,IAAI,CAAC,IAAI,EAC1C,SAAU,EAAU,IAAW,CACjC,EACF,Q,K,qB","sources":["<anon>","packages/column-views/src/facets/measurements/sgp.ts"],"sourcesContent":["import \"./column-views.1d064426.js\";\nimport \"./column-views.46efb749.js\";\nimport $lw8jS$macrostrathyper from \"@macrostrat/hyper\";\nimport {useAPIResult as $lw8jS$useAPIResult} from \"@macrostrat/ui-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $48680a4cd2abcbe4$exports = {};\n\n$parcel$export($48680a4cd2abcbe4$exports, \"SGPMeasurementsColumn\", () => $48680a4cd2abcbe4$export$c49cf57576706bab);\n\n\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $48680a4cd2abcbe4$var$useSGPData({ col_id: col_id }) {\n const res = (0, $lw8jS$useAPIResult)(\"https://dev.macrostrat.org/api/pg/sgp_unit_matches\", {\n col_id: `eq.${col_id}`\n }, (d)=>d);\n return res;\n}\nfunction $48680a4cd2abcbe4$export$c49cf57576706bab({ columnID: columnID, color: color = \"magenta\" }) {\n const data = $48680a4cd2abcbe4$var$useSGPData({\n col_id: columnID\n });\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null || units == null || scale == null) return null;\n const data1 = $48680a4cd2abcbe4$var$prepareSGPData(data, scale, units, axisType);\n return (0, $lw8jS$macrostrathyper)((0, $kIQUG.BaseMeasurementsColumn), {\n data: data1,\n noteComponent: $48680a4cd2abcbe4$var$SGPSamplesNote,\n focusedNoteComponent: $48680a4cd2abcbe4$var$SGPSamplesNote\n });\n}\nfunction $48680a4cd2abcbe4$var$SGPSamplesNote(props) {\n const { note: note, focused: focused } = props;\n const sgp_samples = note?.data;\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n return (0, $lw8jS$macrostrathyper)((0, $kIQUG.TruncatedList), {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p)=>(0, $lw8jS$macrostrathyper)(\"span\", p.data.name),\n maxItems: focused ? Infinity : 5\n });\n}\nfunction $48680a4cd2abcbe4$var$prepareSGPData(data, scale, units, axisType) {\n // Find matching units for samples\n const d1 = data.map((sample)=>{\n const data = sample.sgp_samples;\n if (data == null || data.length === 0) return null;\n const heightData = (0, $kIQUG.standardizeMeasurementHeight)({\n unit_id: sample.unit_id\n }, units, axisType);\n if (heightData == null) return null;\n data.sort((a, b)=>a.id - b.id);\n return {\n ...heightData,\n data: data,\n id: sample.unit_id\n };\n }).filter(Boolean);\n return (0, $kIQUG.groupNotesByPixelDistance)(d1, scale, axisType, 5);\n}\n\n\nexport {$48680a4cd2abcbe4$export$c49cf57576706bab as SGPMeasurementsColumn};\n//# sourceMappingURL=column-views.ec7cc7cc.js.map\n","import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport {\n BaseMeasurementsColumn,\n groupNotesByPixelDistance,\n standardizeMeasurementHeight,\n TruncatedList,\n} from \"./base\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n} from \"../../data-provider\";\nimport { CompositeColumnScale } from \"../../prepare-units/composite-scale\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\ninterface SGPSampleData {\n col_id: number;\n unit_id: number;\n sgp_samples: { name: string; id: number }[];\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data: SGPSampleData[] | null = useSGPData({ col_id: columnID });\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null || units == null || scale == null) return null;\n\n const data1 = prepareSGPData(data, scale, units, axisType);\n\n return h(BaseMeasurementsColumn, {\n data: data1,\n noteComponent: SGPSamplesNote,\n focusedNoteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note, focused } = props;\n const sgp_samples = note?.data;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n maxItems: focused ? Infinity : 5,\n });\n}\n\nfunction prepareSGPData(\n data: SGPSampleData[],\n scale: CompositeColumnScale,\n units: UnitLong[],\n axisType: ColumnAxisType,\n) {\n // Find matching units for samples\n const d1 = data\n .map((sample) => {\n const data = sample.sgp_samples;\n if (data == null || data.length === 0) return null;\n const heightData = standardizeMeasurementHeight(\n { unit_id: sample.unit_id },\n units,\n axisType,\n );\n if (heightData == null) return null;\n data.sort((a, b) => a.id - b.id);\n return {\n ...heightData,\n data,\n id: sample.unit_id,\n };\n })\n .filter(Boolean);\n\n return groupNotesByPixelDistance(d1, scale, axisType, 5);\n}\n"],"names":["$lw8jS$macrostrathyper","useAPIResult","$lw8jS$useAPIResult","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$48680a4cd2abcbe4$export$c49cf57576706bab","set","s","enumerable","configurable","$kIQUG","$wtIgl","columnID","color","data","$48680a4cd2abcbe4$var$useSGPData","col_id","d","axisType","units","useMacrostratColumnData","scale","useCompositeScale","data1","$48680a4cd2abcbe4$var$prepareSGPData","d1","map","sample","sgp_samples","length","heightData","standardizeMeasurementHeight","unit_id","sort","a","b","filter","Boolean","groupNotesByPixelDistance","BaseMeasurementsColumn","noteComponent","$48680a4cd2abcbe4$var$SGPSamplesNote","focusedNoteComponent","props","note","focused","TruncatedList","className","itemRenderer","p","name","maxItems","Infinity","SGPMeasurementsColumn"],"version":3,"file":"column-views.ec7cc7cc.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createAPIContext as t,useAsyncMemo as a}from"@macrostrat/ui-components";let e="https://paleobiodb.org/data1.2";t({baseURL:e,unwrapResponse:t=>t.records});var n,c=((n={}).Occurrences="occs",n.Collections="colls",n);function l(t,e="colls"){return a(async()=>null==t?null:await r(t,e),[t,e])}async function s(t,a){if("colls"!==a)return[];let e=await fetch(`https://macrostrat.org/api/fossils?col_id=${t}`);return(await e.json()).success.data}async function o(t,a){let n=await fetch(e+`/${a}/list.json?ms_column=${t}&show=mslink,stratext`);return(await n.json()).records.map("colls"==a?u:i)}async function r(t,a){let[e,n]=await Promise.all([s(t,a),o(t,a)]);return[...e,...n]}function i(t){if(null==t.msu||null==t.msc)return t;let a=parseInt(t.msu.replace(/^\w+:/,"")),e=parseInt(t.msc.replace(/^\w+:/,"")),n=parseInt(t.oid.replace(/^occ:/,"")),c=parseInt(t.cid.replace(/^col:/,""));return{...t,unit_id:a,col_id:e,taxon_name:t.tna,best_name:t.idn??t.tna,occ_id:n,cltn_id:c,cltn_name:t.nam}}function u(t){let a=null,e=null;null!=t.msu&&(a=parseInt(t.msu.replace(/^\w+:/,""))),null!=t.msc&&(e=parseInt(t.msc.replace(/^\w+:/,"")));let n=t.tna,c=null;null!=t.oid&&t.oid.startsWith("occ:")&&(c=parseInt(t.oid.replace(/^occ:/,""))),null!=t.idn&&(n=t.idn);let l=t.cltn_id;return null!=t.oid&&t.oid.startsWith("col:")?l=parseInt(t.oid.replace(/^col:/,"")):null!=t.cid&&t.cid.startsWith("col:")&&(l=parseInt(t.cid.replace(/^col:/,""))),{...t,unit_id:a,col_id:e,taxon_name:n,occ_id:c,cltn_id:l,cltn_name:t.nam,t_age:t.t_age,b_age:t.b_age}}export{c as FossilDataType,l as useFossilData};
|
|
2
|
-
//# sourceMappingURL=column-views.fac4baff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["<anon>","packages/column-views/src/facets/fossils/provider.ts"],"sourcesContent":["import {createAPIContext as $lb6L3$createAPIContext, useAsyncMemo as $lb6L3$useAsyncMemo} from \"@macrostrat/ui-components\";\n\n\nconst $8e174c7ae24a4598$var$responseUnwrapper = (d)=>d.records;\nconst $8e174c7ae24a4598$var$pbdbAPIBase = \"https://paleobiodb.org/data1.2\";\nconst $8e174c7ae24a4598$var$pbdbAPIContext = (0, $lb6L3$createAPIContext)({\n baseURL: $8e174c7ae24a4598$var$pbdbAPIBase,\n unwrapResponse: $8e174c7ae24a4598$var$responseUnwrapper\n});\nvar $8e174c7ae24a4598$export$a990c76b38782f57 = /*#__PURE__*/ function(FossilDataType) {\n FossilDataType[\"Occurrences\"] = \"occs\";\n FossilDataType[\"Collections\"] = \"colls\";\n return FossilDataType;\n}({});\nfunction $8e174c7ae24a4598$export$e6af757fa9780077(col_id, type = \"colls\") {\n // Fossil links are stored in both Macrostrat and PBDB, depending on how the link was assembled. Here\n // we create a unified view of data over both sources.\n return (0, $lb6L3$useAsyncMemo)(async ()=>{\n if (col_id == null) return null;\n return await $8e174c7ae24a4598$var$fetchFossilData(col_id, type);\n }, [\n col_id,\n type\n ]);\n}\nasync function $8e174c7ae24a4598$var$fetchMacrostratFossilData(col_id, type) {\n if (type !== \"colls\") // Macrostrat API only supports collections\n return [];\n // Fetch fossil collections linked to columns from the Macrostrat API\n const resp = await fetch(`https://macrostrat.org/api/fossils?col_id=${col_id}`);\n const res = await resp.json();\n // Create collections from Macrostrat data\n return res.success.data;\n}\nasync function $8e174c7ae24a4598$var$fetchPDBDFossilData(col_id, type) {\n // Note: show=rank does not work on training PBDB server\n const resp = await fetch($8e174c7ae24a4598$var$pbdbAPIBase + `/${type}/list.json?ms_column=${col_id}&show=mslink,stratext`);\n const res = await resp.json();\n return res.records.map(type == \"colls\" ? $8e174c7ae24a4598$var$createMacrostratCollection : $8e174c7ae24a4598$var$preprocessOccurrence);\n}\nasync function $8e174c7ae24a4598$var$fetchFossilData(colID, type) {\n const [macrostratData, pbdbData] = await Promise.all([\n $8e174c7ae24a4598$var$fetchMacrostratFossilData(colID, type),\n $8e174c7ae24a4598$var$fetchPDBDFossilData(colID, type)\n ]);\n return [\n ...macrostratData,\n ...pbdbData\n ];\n}\nfunction $8e174c7ae24a4598$var$preprocessOccurrence(d) {\n if (d.msu == null || d.msc == null) return d;\n /* Preprocess data for an occurrence into a Macrostrat-like format */ // Standardize names of Macrostrat units and columns\n const unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n const col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n // taxon names may be stored in different fields\n const occ_id = parseInt(d.oid.replace(/^occ:/, \"\"));\n const cltn_id = parseInt(d.cid.replace(/^col:/, \"\"));\n return {\n ...d,\n unit_id: unit_id,\n col_id: col_id,\n taxon_name: d.tna,\n best_name: d.idn ?? d.tna,\n occ_id: occ_id,\n cltn_id: cltn_id,\n cltn_name: d.nam\n };\n}\nfunction $8e174c7ae24a4598$var$createMacrostratCollection(d) {\n /* Preprocess data for a collection into a Macrostrat-like format */ let unit_id = null;\n let col_id = null;\n // Standardize names of Macrostrat units and columns\n if (d.msu != null) unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n if (d.msc != null) col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n // taxon names may be stored in different fields\n let taxon_name = d.tna;\n let occ_id = null;\n if (d.oid != null && d.oid.startsWith(\"occ:\")) occ_id = parseInt(d.oid.replace(/^occ:/, \"\"));\n if (d.idn != null) taxon_name = d.idn;\n let cltn_id = d.cltn_id;\n if (d.oid != null && d.oid.startsWith(\"col:\")) cltn_id = parseInt(d.oid.replace(/^col:/, \"\"));\n else if (d.cid != null && d.cid.startsWith(\"col:\")) cltn_id = parseInt(d.cid.replace(/^col:/, \"\"));\n return {\n ...d,\n unit_id: unit_id,\n col_id: col_id,\n taxon_name: taxon_name,\n occ_id: occ_id,\n cltn_id: cltn_id,\n cltn_name: d.nam,\n t_age: d.t_age,\n b_age: d.b_age\n };\n}\n\n\nexport {$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType, $8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData};\n//# sourceMappingURL=column-views.fac4baff.js.map\n","import {\n createAPIContext,\n useAPIResult,\n useAsyncMemo,\n} from \"@macrostrat/ui-components\";\n\nconst responseUnwrapper = (d) => d.records;\n\nconst pbdbAPIBase = \"https://paleobiodb.org/data1.2\";\n\nconst pbdbAPIContext = createAPIContext({\n baseURL: pbdbAPIBase,\n unwrapResponse: responseUnwrapper,\n});\n\nexport enum FossilDataType {\n Occurrences = \"occs\",\n Collections = \"colls\",\n}\n\nexport interface PBDBEntity {\n unit_id: number;\n col_id: number;\n cltn_id: number;\n // For eODP, slb/slu are used to store the heights of fossil locations found in measured sections.\n // They may have a more general set of uses as well but these are not currently explored.\n slb?: string; // The local bed in which the fossil was found\n slu?: string; // The unit of measurement used to designate the local bed\n}\n\nexport interface PBDBCollection extends PBDBEntity {\n cltn_name: string;\n pbdb_occs: number;\n t_age: number;\n b_age: number;\n [key: string]: any; // Allow for additional properties\n}\n\nexport interface PBDBOccurrence extends PBDBEntity {\n occ_id: number;\n cltn_id: number;\n taxon_name: string;\n best_name: string;\n [key: string]: any; // Allow for additional properties\n}\n\nexport function useFossilData(\n col_id: number,\n type = FossilDataType.Collections,\n) {\n // Fossil links are stored in both Macrostrat and PBDB, depending on how the link was assembled. Here\n // we create a unified view of data over both sources.\n return useAsyncMemo(async () => {\n if (col_id == null) return null;\n return await fetchFossilData(col_id, type);\n }, [col_id, type]);\n}\n\nasync function fetchMacrostratFossilData(\n col_id: number,\n type: FossilDataType,\n): Promise<PBDBCollection[]> {\n if (type !== FossilDataType.Collections) {\n // Macrostrat API only supports collections\n return [];\n }\n\n // Fetch fossil collections linked to columns from the Macrostrat API\n const resp = await fetch(\n `https://macrostrat.org/api/fossils?col_id=${col_id}`,\n );\n const res = await resp.json();\n // Create collections from Macrostrat data\n return res.success.data;\n}\n\nasync function fetchPDBDFossilData(\n col_id: number,\n type: FossilDataType,\n): Promise<PBDBCollection[]> {\n // Note: show=rank does not work on training PBDB server\n const resp = await fetch(\n pbdbAPIBase + `/${type}/list.json?ms_column=${col_id}&show=mslink,stratext`,\n );\n const res = await resp.json();\n return res.records.map(\n type == FossilDataType.Collections\n ? createMacrostratCollection\n : preprocessOccurrence,\n );\n}\n\nasync function fetchFossilData<T extends PBDBEntity>(\n colID: number,\n type: FossilDataType,\n): Promise<T[]> {\n const [macrostratData, pbdbData] = await Promise.all([\n fetchMacrostratFossilData(colID, type),\n fetchPDBDFossilData(colID, type),\n ]);\n return [...macrostratData, ...pbdbData];\n}\n\nfunction preprocessOccurrence(d): PBDBOccurrence {\n if (d.msu == null || d.msc == null) {\n return d;\n }\n /* Preprocess data for an occurrence into a Macrostrat-like format */\n // Standardize names of Macrostrat units and columns\n const unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n const col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n\n // taxon names may be stored in different fields\n const occ_id = parseInt(d.oid.replace(/^occ:/, \"\"));\n const cltn_id = parseInt(d.cid.replace(/^col:/, \"\"));\n\n return {\n ...d,\n unit_id,\n col_id,\n taxon_name: d.tna,\n best_name: d.idn ?? d.tna,\n occ_id,\n cltn_id,\n cltn_name: d.nam,\n };\n}\n\nfunction createMacrostratCollection(d): PBDBCollection {\n /* Preprocess data for a collection into a Macrostrat-like format */\n let unit_id = null;\n let col_id = null;\n // Standardize names of Macrostrat units and columns\n if (d.msu != null) {\n unit_id = parseInt(d.msu.replace(/^\\w+:/, \"\"));\n }\n if (d.msc != null) {\n col_id = parseInt(d.msc.replace(/^\\w+:/, \"\"));\n }\n\n // taxon names may be stored in different fields\n let taxon_name = d.tna;\n let occ_id = null;\n if (d.oid != null && d.oid.startsWith(\"occ:\")) {\n occ_id = parseInt(d.oid.replace(/^occ:/, \"\"));\n }\n if (d.idn != null) {\n taxon_name = d.idn;\n }\n\n let cltn_id = d.cltn_id;\n if (d.oid != null && d.oid.startsWith(\"col:\")) {\n cltn_id = parseInt(d.oid.replace(/^col:/, \"\"));\n } else if (d.cid != null && d.cid.startsWith(\"col:\")) {\n cltn_id = parseInt(d.cid.replace(/^col:/, \"\"));\n }\n\n return {\n ...d,\n unit_id,\n col_id,\n taxon_name,\n occ_id,\n cltn_id,\n cltn_name: d.nam,\n t_age: d.t_age,\n b_age: d.b_age,\n };\n}\n"],"names":["createAPIContext","$lb6L3$createAPIContext","useAsyncMemo","$lb6L3$useAsyncMemo","$8e174c7ae24a4598$var$pbdbAPIBase","baseURL","unwrapResponse","d","records","FossilDataType","$8e174c7ae24a4598$export$a990c76b38782f57","$8e174c7ae24a4598$export$e6af757fa9780077","col_id","type","$8e174c7ae24a4598$var$fetchFossilData","$8e174c7ae24a4598$var$fetchMacrostratFossilData","resp","fetch","res","json","success","data","$8e174c7ae24a4598$var$fetchPDBDFossilData","map","$8e174c7ae24a4598$var$createMacrostratCollection","$8e174c7ae24a4598$var$preprocessOccurrence","colID","macrostratData","pbdbData","Promise","all","msu","msc","unit_id","parseInt","replace","occ_id","oid","cltn_id","cid","taxon_name","tna","best_name","idn","cltn_name","nam","startsWith","t_age","b_age","useFossilData"],"version":3,"file":"column-views.fac4baff.js.map","sourceRoot":"../../../../"}
|