@macrostrat/map-interface 2.0.1 → 2.1.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 +10 -0
- package/dist/container.js +2 -2
- package/dist/container.js.map +1 -1
- package/dist/context-panel/index.js +2 -2
- package/dist/context-panel/index.js.map +1 -1
- package/dist/context-panel/main.module.sass.cjs +6 -1
- package/dist/context-panel/main.module.sass.cjs.map +1 -1
- package/dist/context-panel/main.module.sass.js +4 -1
- package/dist/context-panel/main.module.sass.js.map +1 -1
- package/dist/controls.js +2 -2
- package/dist/controls.js.map +1 -1
- package/dist/dev/main.module.sass.cjs +6 -1
- package/dist/dev/main.module.sass.cjs.map +1 -1
- package/dist/dev/main.module.sass.js +4 -1
- package/dist/dev/main.module.sass.js.map +1 -1
- package/dist/dev/map-page.js +2 -2
- package/dist/dev/map-page.js.map +1 -1
- package/dist/dev/vector-tile-features.cjs +3 -3
- package/dist/dev/vector-tile-features.cjs.map +1 -1
- package/dist/dev/vector-tile-features.js +3 -3
- package/dist/dev/vector-tile-features.js.map +1 -1
- package/dist/index.cjs +6 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/location-details/fossil-collections/collections.js +2 -2
- package/dist/location-details/fossil-collections/collections.js.map +1 -1
- package/dist/location-details/fossil-collections/main.module.sass.cjs +6 -1
- package/dist/location-details/fossil-collections/main.module.sass.cjs.map +1 -1
- package/dist/location-details/fossil-collections/main.module.sass.js +4 -1
- package/dist/location-details/fossil-collections/main.module.sass.js.map +1 -1
- package/dist/location-details/index.d.ts +0 -1
- package/dist/location-details/info-blocks.cjs +0 -22
- package/dist/location-details/info-blocks.cjs.map +1 -1
- package/dist/location-details/info-blocks.js +2 -24
- package/dist/location-details/info-blocks.js.map +1 -1
- package/dist/location-details/info-blocks.module.sass.cjs +6 -1
- package/dist/location-details/info-blocks.module.sass.cjs.map +1 -1
- package/dist/location-details/info-blocks.module.sass.js +4 -1
- package/dist/location-details/info-blocks.module.sass.js.map +1 -1
- package/dist/location-details/macrostrat-linked.cjs +82 -129
- package/dist/location-details/macrostrat-linked.cjs.map +1 -1
- package/dist/location-details/macrostrat-linked.js +29 -75
- package/dist/location-details/macrostrat-linked.js.map +1 -1
- package/dist/location-details/main.module.sass.cjs +6 -1
- package/dist/location-details/main.module.sass.cjs.map +1 -1
- package/dist/location-details/main.module.sass.js +4 -1
- package/dist/location-details/main.module.sass.js.map +1 -1
- package/dist/location-details/physiography.cjs +2 -2
- package/dist/location-details/physiography.cjs.map +1 -1
- package/dist/location-details/physiography.js +1 -1
- package/dist/location-details/physiography.js.map +1 -1
- package/dist/location-details/reg-strat.cjs +2 -2
- package/dist/location-details/reg-strat.cjs.map +1 -1
- package/dist/location-details/reg-strat.js +1 -1
- package/dist/location-details/reg-strat.js.map +1 -1
- package/dist/location-panel/header.js +2 -2
- package/dist/location-panel/header.js.map +1 -1
- package/dist/location-panel/index.js +2 -2
- package/dist/location-panel/index.js.map +1 -1
- package/dist/location-panel/main.module.sass.cjs +6 -1
- package/dist/location-panel/main.module.sass.cjs.map +1 -1
- package/dist/location-panel/main.module.sass.js +4 -1
- package/dist/location-panel/main.module.sass.js.map +1 -1
- package/dist/main.module.sass.cjs +6 -1
- package/dist/main.module.sass.cjs.map +1 -1
- package/dist/main.module.sass.js +4 -1
- package/dist/main.module.sass.js.map +1 -1
- package/dist/map-interface.css +43 -215
- package/dist/map-view.js +2 -2
- package/dist/map-view.js.map +1 -1
- package/package.json +8 -8
- package/src/dev/vector-tile-features.ts +1 -1
- package/src/index.ts +0 -1
- package/src/location-details/index.ts +0 -1
- package/src/location-details/macrostrat-linked.ts +29 -81
- package/src/location-details/main.module.sass +0 -1
- package/src/location-details/physiography.ts +1 -1
- package/src/location-details/reg-strat.ts +1 -1
- package/dist/expansion-panel/headers.cjs +0 -22
- package/dist/expansion-panel/headers.cjs.map +0 -1
- package/dist/expansion-panel/headers.d.ts +0 -1
- package/dist/expansion-panel/headers.js +0 -20
- package/dist/expansion-panel/headers.js.map +0 -1
- package/dist/expansion-panel/index.cjs +0 -128
- package/dist/expansion-panel/index.cjs.map +0 -1
- package/dist/expansion-panel/index.d.ts +0 -18
- package/dist/expansion-panel/index.js +0 -125
- package/dist/expansion-panel/index.js.map +0 -1
- package/dist/expansion-panel/main.module.sass.cjs +0 -27
- package/dist/expansion-panel/main.module.sass.cjs.map +0 -1
- package/dist/expansion-panel/main.module.sass.js +0 -27
- package/dist/expansion-panel/main.module.sass.js.map +0 -1
- package/dist/location-details/fetch.d.ts +0 -4
- package/dist/location-details/utils/index.cjs +0 -15
- package/dist/location-details/utils/index.cjs.map +0 -1
- package/dist/location-details/utils/index.js +0 -15
- package/dist/location-details/utils/index.js.map +0 -1
- package/dist/location-details/xdd-panel/article.cjs +0 -64
- package/dist/location-details/xdd-panel/article.cjs.map +0 -1
- package/dist/location-details/xdd-panel/article.d.ts +0 -1
- package/dist/location-details/xdd-panel/article.js +0 -62
- package/dist/location-details/xdd-panel/article.js.map +0 -1
- package/dist/location-details/xdd-panel/index.cjs +0 -71
- package/dist/location-details/xdd-panel/index.cjs.map +0 -1
- package/dist/location-details/xdd-panel/index.d.ts +0 -18
- package/dist/location-details/xdd-panel/index.js +0 -69
- package/dist/location-details/xdd-panel/index.js.map +0 -1
- package/dist/location-details/xdd-panel/journal.cjs +0 -27
- package/dist/location-details/xdd-panel/journal.cjs.map +0 -1
- package/dist/location-details/xdd-panel/journal.d.ts +0 -20
- package/dist/location-details/xdd-panel/journal.js +0 -25
- package/dist/location-details/xdd-panel/journal.js.map +0 -1
- package/src/expansion-panel/headers.ts +0 -18
- package/src/expansion-panel/index.ts +0 -135
- package/src/expansion-panel/main.module.sass +0 -157
- package/src/location-details/fetch.ts +0 -57
- package/src/location-details/location-details.stories.ts +0 -88
- package/src/location-details/xdd-panel/article.ts +0 -67
- package/src/location-details/xdd-panel/index.ts +0 -70
- package/src/location-details/xdd-panel/journal.ts +0 -60
|
@@ -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
|
|
2
|
-
import { ExpansionPanel, ExpandableDetailsPanel, ExpansionBody } from "@macrostrat/map-interface";
|
|
3
|
-
import styles 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 {
|
|
8
|
-
import
|
|
9
|
-
const h = h$1.styled(styles);
|
|
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(
|
|
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
|
-
|
|
190
|
-
source.macrostrat.strat_names
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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(
|
|
308
|
-
|
|
309
|
-
|
|
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 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macrostrat-linked.js","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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"macrostrat-linked.js","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":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const h$1 = require("@macrostrat/hyper");
|
|
4
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
5
|
+
const h__default = /* @__PURE__ */ _interopDefault(h$1);
|
|
3
6
|
const spacer = "_spacer_1xw3d_1";
|
|
4
7
|
const description = "_description_1xw3d_32";
|
|
5
8
|
const styles = {
|
|
@@ -14,7 +17,9 @@ const styles = {
|
|
|
14
17
|
"age-refinement-plot": "_age-refinement-plot_1xw3d_59",
|
|
15
18
|
"age-refinement-bar": "_age-refinement-bar_1xw3d_62"
|
|
16
19
|
};
|
|
17
|
-
|
|
20
|
+
let h = h__default.default.styled(styles);
|
|
21
|
+
Object.assign(h, styles);
|
|
22
|
+
exports.default = h;
|
|
18
23
|
exports.description = description;
|
|
19
24
|
exports.spacer = spacer;
|
|
20
25
|
//# sourceMappingURL=main.module.sass.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import h$1 from "@macrostrat/hyper";
|
|
1
2
|
const spacer = "_spacer_1xw3d_1";
|
|
2
3
|
const description = "_description_1xw3d_32";
|
|
3
4
|
const styles = {
|
|
@@ -12,8 +13,10 @@ const styles = {
|
|
|
12
13
|
"age-refinement-plot": "_age-refinement-plot_1xw3d_59",
|
|
13
14
|
"age-refinement-bar": "_age-refinement-bar_1xw3d_62"
|
|
14
15
|
};
|
|
16
|
+
let h = h$1.styled(styles);
|
|
17
|
+
Object.assign(h, styles);
|
|
15
18
|
export {
|
|
16
|
-
|
|
19
|
+
h as default,
|
|
17
20
|
description,
|
|
18
21
|
spacer
|
|
19
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const h = require("@macrostrat/hyper");
|
|
4
|
-
const
|
|
4
|
+
const dataComponents = require("@macrostrat/data-components");
|
|
5
5
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
6
6
|
const h__default = /* @__PURE__ */ _interopDefault(h);
|
|
7
7
|
function Physiography(props) {
|
|
@@ -11,7 +11,7 @@ function Physiography(props) {
|
|
|
11
11
|
}
|
|
12
12
|
const { regions } = mapInfo;
|
|
13
13
|
return h__default.default.if(regions.length > 0)(
|
|
14
|
-
|
|
14
|
+
dataComponents.ExpansionPanel,
|
|
15
15
|
{
|
|
16
16
|
classes: { root: "regional-panel" },
|
|
17
17
|
title: "Physiography",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physiography.cjs","sources":["../../src/location-details/physiography.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/
|
|
1
|
+
{"version":3,"file":"physiography.cjs","sources":["../../src/location-details/physiography.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/data-components\";\n\nexport function Physiography(props) {\n const { mapInfo, expanded = true } = props;\n\n if (!mapInfo || !mapInfo.regions) {\n return null;\n }\n\n const { regions } = mapInfo;\n\n return h.if(regions.length > 0)(\n ExpansionPanel,\n {\n classes: { root: \"regional-panel\" },\n title: \"Physiography\",\n expanded,\n },\n [\n regions.map((region, i) => {\n return h(\"div.region\", { key: i }, [\n h(\"h3\", [region.name]),\n h(\"p.region-group\", [region.boundary_group]),\n h(\"p.region-description\", [region.descrip]),\n ]);\n }),\n ],\n );\n}\n"],"names":["h","ExpansionPanel"],"mappings":";;;;;;AAGO,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,SAAS,WAAW,KAAA,IAAS;AAErC,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,YAAY;AAEpB,SAAOA,WAAAA,QAAE,GAAG,QAAQ,SAAS,CAAC;AAAA,IAC5BC,eAAAA;AAAAA,IACA;AAAA,MACE,SAAS,EAAE,MAAM,iBAAA;AAAA,MACjB,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,QAAQ,IAAI,CAAC,QAAQ,MAAM;AACzB,eAAOD,WAAAA,QAAE,cAAc,EAAE,KAAK,KAAK;AAAA,UACjCA,WAAAA,QAAE,MAAM,CAAC,OAAO,IAAI,CAAC;AAAA,UACrBA,WAAAA,QAAE,kBAAkB,CAAC,OAAO,cAAc,CAAC;AAAA,UAC3CA,WAAAA,QAAE,wBAAwB,CAAC,OAAO,OAAO,CAAC;AAAA,QAAA,CAC3C;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import h from "@macrostrat/hyper";
|
|
2
|
-
import { ExpansionPanel } from "@macrostrat/
|
|
2
|
+
import { ExpansionPanel } from "@macrostrat/data-components";
|
|
3
3
|
function Physiography(props) {
|
|
4
4
|
const { mapInfo, expanded = true } = props;
|
|
5
5
|
if (!mapInfo || !mapInfo.regions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physiography.js","sources":["../../src/location-details/physiography.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/
|
|
1
|
+
{"version":3,"file":"physiography.js","sources":["../../src/location-details/physiography.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/data-components\";\n\nexport function Physiography(props) {\n const { mapInfo, expanded = true } = props;\n\n if (!mapInfo || !mapInfo.regions) {\n return null;\n }\n\n const { regions } = mapInfo;\n\n return h.if(regions.length > 0)(\n ExpansionPanel,\n {\n classes: { root: \"regional-panel\" },\n title: \"Physiography\",\n expanded,\n },\n [\n regions.map((region, i) => {\n return h(\"div.region\", { key: i }, [\n h(\"h3\", [region.name]),\n h(\"p.region-group\", [region.boundary_group]),\n h(\"p.region-description\", [region.descrip]),\n ]);\n }),\n ],\n );\n}\n"],"names":[],"mappings":";;AAGO,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,SAAS,WAAW,KAAA,IAAS;AAErC,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,YAAY;AAEpB,SAAO,EAAE,GAAG,QAAQ,SAAS,CAAC;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,SAAS,EAAE,MAAM,iBAAA;AAAA,MACjB,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,QAAQ,IAAI,CAAC,QAAQ,MAAM;AACzB,eAAO,EAAE,cAAc,EAAE,KAAK,KAAK;AAAA,UACjC,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC;AAAA,UACrB,EAAE,kBAAkB,CAAC,OAAO,cAAc,CAAC;AAAA,UAC3C,EAAE,wBAAwB,CAAC,OAAO,OAAO,CAAC;AAAA,QAAA,CAC3C;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const h = require("@macrostrat/hyper");
|
|
4
|
-
const
|
|
4
|
+
const dataComponents = require("@macrostrat/data-components");
|
|
5
5
|
const formatting = require("./utils/formatting.cjs");
|
|
6
6
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
7
7
|
const h__default = /* @__PURE__ */ _interopDefault(h);
|
|
@@ -25,7 +25,7 @@ function RegionalStratigraphyInner(props) {
|
|
|
25
25
|
const { mapInfo, columnInfo, columnURL, expanded } = props;
|
|
26
26
|
if (mapInfo?.mapData == null || !columnInfo) return null;
|
|
27
27
|
return h__default.default(
|
|
28
|
-
|
|
28
|
+
dataComponents.ExpansionPanel,
|
|
29
29
|
{
|
|
30
30
|
classes: { root: "regional-panel" },
|
|
31
31
|
title: "Regional stratigraphy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reg-strat.cjs","sources":["../../src/location-details/reg-strat.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/
|
|
1
|
+
{"version":3,"file":"reg-strat.cjs","sources":["../../src/location-details/reg-strat.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/data-components\";\nimport { addCommas } from \"./utils\";\n\nexport function RegionalStratigraphy({\n mapInfo,\n columnInfo,\n columnURL,\n expanded = true,\n}) {\n if (!mapInfo || !mapInfo.mapData) {\n return null;\n }\n\n return RegionalStratigraphyInner({\n mapInfo,\n columnInfo,\n columnURL,\n expanded,\n });\n}\n\nfunction RegionalStratigraphyInner(props) {\n const { mapInfo, columnInfo, columnURL, expanded } = props;\n\n if (mapInfo?.mapData == null || !columnInfo) return null;\n\n return h(\n ExpansionPanel,\n {\n classes: { root: \"regional-panel\" },\n title: \"Regional stratigraphy\",\n expanded,\n },\n [h.if(columnInfo != null)(ColumnData, { columnInfo, columnURL })],\n );\n}\n\nfunction ColumnData({ columnInfo, columnURL }) {\n return h(\"div.column-data\", [\n h(\"a\", { href: columnURL + \"/\" + columnInfo.col_id }, \"View column page\"),\n h(MapAttribute, {\n label: \"Name: \",\n content: [columnInfo.col_name],\n }),\n h(MapAttribute, {\n label: \"Column ID: \",\n content: [columnInfo.col_id],\n }),\n h(MapAttribute, {\n label: \"Group: \",\n content: [columnInfo.col_group],\n }),\n h(MapAttribute, {\n label: \"Group ID: \",\n content: [columnInfo.col_group_id],\n }),\n h.if(columnInfo.min_min_thick || columnInfo.max_thick)(MapAttribute, {\n label: \"Thickness: \",\n content: [\n addCommas(parseInt(columnInfo.min_min_thick)),\n \" - \",\n addCommas(parseInt(columnInfo.max_thick)),\n h(\"span.age-ma\", [\"m\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Age: \",\n content: [\n columnInfo.b_age,\n \" - \",\n columnInfo.t_age,\n \" \",\n h(\"span.age-ma\", [\"Ma\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Area: \",\n content: [addCommas(columnInfo.col_area), \" \", h(\"span.age-ma\", [\"km2\"])],\n }),\n h(MapAttribute, {\n label: \"Fossil collections: \",\n content: [addCommas(columnInfo.pbdb_collections)],\n }),\n ]);\n}\n\nfunction MapAttribute(props) {\n return h(\"div.map-source-attr\", [\n h(\"span.attr\", [props.label]),\n ...props.content,\n ]);\n}\n"],"names":["h","ExpansionPanel","addCommas"],"mappings":";;;;;;;AAIO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAAG;AACD,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS;AAChC,WAAO;AAAA,EACT;AAEA,SAAO,0BAA0B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEA,SAAS,0BAA0B,OAAO;AACxC,QAAM,EAAE,SAAS,YAAY,WAAW,aAAa;AAErD,MAAI,SAAS,WAAW,QAAQ,CAAC,WAAY,QAAO;AAEpD,SAAOA,WAAAA;AAAAA,IACLC,eAAAA;AAAAA,IACA;AAAA,MACE,SAAS,EAAE,MAAM,iBAAA;AAAA,MACjB,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,IAEF,CAACD,WAAAA,QAAE,GAAG,cAAc,IAAI,EAAE,YAAY,EAAE,YAAY,WAAW,CAAC;AAAA,EAAA;AAEpE;AAEA,SAAS,WAAW,EAAE,YAAY,aAAa;AAC7C,SAAOA,WAAAA,QAAE,mBAAmB;AAAA,IAC1BA,mBAAE,KAAK,EAAE,MAAM,YAAY,MAAM,WAAW,OAAA,GAAU,kBAAkB;AAAA,IACxEA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,QAAQ;AAAA,IAAA,CAC9B;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,MAAM;AAAA,IAAA,CAC5B;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,SAAS;AAAA,IAAA,CAC/B;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,YAAY;AAAA,IAAA,CAClC;AAAA,IACDA,WAAAA,QAAE,GAAG,WAAW,iBAAiB,WAAW,SAAS,EAAE,cAAc;AAAA,MACnE,OAAO;AAAA,MACP,SAAS;AAAA,QACPE,WAAAA,UAAU,SAAS,WAAW,aAAa,CAAC;AAAA,QAC5C;AAAA,QACAA,WAAAA,UAAU,SAAS,WAAW,SAAS,CAAC;AAAA,QACxCF,mBAAE,eAAe,CAAC,GAAG,CAAC;AAAA,MAAA;AAAA,IACxB,CACD;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS;AAAA,QACP,WAAW;AAAA,QACX;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACAA,mBAAE,eAAe,CAAC,IAAI,CAAC;AAAA,MAAA;AAAA,IACzB,CACD;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAACE,qBAAU,WAAW,QAAQ,GAAG,KAAKF,mBAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAAA,IAAA,CACzE;AAAA,IACDA,WAAAA,QAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAACE,WAAAA,UAAU,WAAW,gBAAgB,CAAC;AAAA,IAAA,CACjD;AAAA,EAAA,CACF;AACH;AAEA,SAAS,aAAa,OAAO;AAC3B,SAAOF,WAAAA,QAAE,uBAAuB;AAAA,IAC9BA,WAAAA,QAAE,aAAa,CAAC,MAAM,KAAK,CAAC;AAAA,IAC5B,GAAG,MAAM;AAAA,EAAA,CACV;AACH;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reg-strat.js","sources":["../../src/location-details/reg-strat.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/
|
|
1
|
+
{"version":3,"file":"reg-strat.js","sources":["../../src/location-details/reg-strat.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { ExpansionPanel } from \"@macrostrat/data-components\";\nimport { addCommas } from \"./utils\";\n\nexport function RegionalStratigraphy({\n mapInfo,\n columnInfo,\n columnURL,\n expanded = true,\n}) {\n if (!mapInfo || !mapInfo.mapData) {\n return null;\n }\n\n return RegionalStratigraphyInner({\n mapInfo,\n columnInfo,\n columnURL,\n expanded,\n });\n}\n\nfunction RegionalStratigraphyInner(props) {\n const { mapInfo, columnInfo, columnURL, expanded } = props;\n\n if (mapInfo?.mapData == null || !columnInfo) return null;\n\n return h(\n ExpansionPanel,\n {\n classes: { root: \"regional-panel\" },\n title: \"Regional stratigraphy\",\n expanded,\n },\n [h.if(columnInfo != null)(ColumnData, { columnInfo, columnURL })],\n );\n}\n\nfunction ColumnData({ columnInfo, columnURL }) {\n return h(\"div.column-data\", [\n h(\"a\", { href: columnURL + \"/\" + columnInfo.col_id }, \"View column page\"),\n h(MapAttribute, {\n label: \"Name: \",\n content: [columnInfo.col_name],\n }),\n h(MapAttribute, {\n label: \"Column ID: \",\n content: [columnInfo.col_id],\n }),\n h(MapAttribute, {\n label: \"Group: \",\n content: [columnInfo.col_group],\n }),\n h(MapAttribute, {\n label: \"Group ID: \",\n content: [columnInfo.col_group_id],\n }),\n h.if(columnInfo.min_min_thick || columnInfo.max_thick)(MapAttribute, {\n label: \"Thickness: \",\n content: [\n addCommas(parseInt(columnInfo.min_min_thick)),\n \" - \",\n addCommas(parseInt(columnInfo.max_thick)),\n h(\"span.age-ma\", [\"m\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Age: \",\n content: [\n columnInfo.b_age,\n \" - \",\n columnInfo.t_age,\n \" \",\n h(\"span.age-ma\", [\"Ma\"]),\n ],\n }),\n h(MapAttribute, {\n label: \"Area: \",\n content: [addCommas(columnInfo.col_area), \" \", h(\"span.age-ma\", [\"km2\"])],\n }),\n h(MapAttribute, {\n label: \"Fossil collections: \",\n content: [addCommas(columnInfo.pbdb_collections)],\n }),\n ]);\n}\n\nfunction MapAttribute(props) {\n return h(\"div.map-source-attr\", [\n h(\"span.attr\", [props.label]),\n ...props.content,\n ]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAAG;AACD,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS;AAChC,WAAO;AAAA,EACT;AAEA,SAAO,0BAA0B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEA,SAAS,0BAA0B,OAAO;AACxC,QAAM,EAAE,SAAS,YAAY,WAAW,aAAa;AAErD,MAAI,SAAS,WAAW,QAAQ,CAAC,WAAY,QAAO;AAEpD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,SAAS,EAAE,MAAM,iBAAA;AAAA,MACjB,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,IAEF,CAAC,EAAE,GAAG,cAAc,IAAI,EAAE,YAAY,EAAE,YAAY,WAAW,CAAC;AAAA,EAAA;AAEpE;AAEA,SAAS,WAAW,EAAE,YAAY,aAAa;AAC7C,SAAO,EAAE,mBAAmB;AAAA,IAC1B,EAAE,KAAK,EAAE,MAAM,YAAY,MAAM,WAAW,OAAA,GAAU,kBAAkB;AAAA,IACxE,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,QAAQ;AAAA,IAAA,CAC9B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,MAAM;AAAA,IAAA,CAC5B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,SAAS;AAAA,IAAA,CAC/B;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,YAAY;AAAA,IAAA,CAClC;AAAA,IACD,EAAE,GAAG,WAAW,iBAAiB,WAAW,SAAS,EAAE,cAAc;AAAA,MACnE,OAAO;AAAA,MACP,SAAS;AAAA,QACP,UAAU,SAAS,WAAW,aAAa,CAAC;AAAA,QAC5C;AAAA,QACA,UAAU,SAAS,WAAW,SAAS,CAAC;AAAA,QACxC,EAAE,eAAe,CAAC,GAAG,CAAC;AAAA,MAAA;AAAA,IACxB,CACD;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS;AAAA,QACP,WAAW;AAAA,QACX;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,EAAE,eAAe,CAAC,IAAI,CAAC;AAAA,MAAA;AAAA,IACzB,CACD;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,WAAW,QAAQ,GAAG,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAAA,IAAA,CACzE;AAAA,IACD,EAAE,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,WAAW,gBAAgB,CAAC;AAAA,IAAA,CACjD;AAAA,EAAA,CACF;AACH;AAEA,SAAS,aAAa,OAAO;AAC3B,SAAO,EAAE,uBAAuB;AAAA,IAC9B,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;AAAA,IAC5B,GAAG,MAAM;AAAA,EAAA,CACV;AACH;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Button, Icon } from "@blueprintjs/core";
|
|
2
2
|
import h$1 from "@macrostrat/hyper";
|
|
3
|
-
import
|
|
3
|
+
import h$2 from "./main.module.sass.js";
|
|
4
4
|
import { useToaster } from "@macrostrat/ui-components";
|
|
5
5
|
import { LngLatCoords, Elevation } from "@macrostrat/data-components";
|
|
6
6
|
import { useFocusState, LocationFocusButton } from "@macrostrat/mapbox-react";
|
|
7
7
|
import classNames from "classnames";
|
|
8
8
|
import { isCentered } from "@macrostrat/mapbox-utils";
|
|
9
|
-
const h = h$1.styled(
|
|
9
|
+
const h = h$1.styled(h$2);
|
|
10
10
|
function PositionButton({ position, bounds, showCopyLink = false }) {
|
|
11
11
|
const focusState = useFocusState(position);
|
|
12
12
|
const copyLinkIsVisible = isCentered(focusState) && showCopyLink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper"],"mappings":";;;;;;;;AAWA,MAAM,IAAIA,IAAM,
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper","styles"],"mappings":";;;;;;;;AAWA,MAAM,IAAIA,IAAM,OAAOC,GAAM;AAE7B,SAAS,eAAe,EAAE,UAAU,QAAQ,eAAe,SAAS;AAClE,QAAM,aAAa,cAAc,QAAQ;AAEzC,QAAM,oBAAoB,WAAW,UAAU,KAAK;AAEpD,SAAO,EAAE,yBAAyB;AAAA,IAChC,EAAE,qBAAqB,EAAE,UAAU,UAAU,QAAQ,WAAA,GAAc,EAAE;AAAA,IACrE,EAAE,GAAG,qBAAqB,YAAY,IAAI,EAAE,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,CACF;AACH;AAEA,SAAS,eAAe,EAAE,UAAU,UAAU,SAAS,GAAG,QAAQ;AAChE,QAAM,UAAU,WAAA;AAEhB,MAAI,UAAU;AACd,MAAI,YAAY,MAAM;AACpB,eAAW,OAAO,QAAQ;AAAA,EAC5B;AACA,aAAW;AAEX,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AACR,kBAAU,UAAU,UAAU,OAAO,SAAS,IAAI,EAAE;AAAA,UAClD,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AACD,sBAAA;AAAA,UACF;AAAA,UACA,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,IAEL,YAAY;AAAA,EAAA;AAEhB;AAcO,SAAS,iBAAiB,OAA8B;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,aAAa;AACjB,MAAI,UAAU,QAAQ,YAAY,MAAM;AACtC,iBAAa,EAAE,gBAAgB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW,EAAE,gBAAgB,aAAa;AAAA,IAAA;AAAA,IAElE;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,YAAY;AAAA,MACd,EAAE,GAAG,YAAY,IAAI,EAAE,cAAc;AAAA,QACnC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,aAAa,IAAI,EAAE,WAAW;AAAA,QACjC;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,WAAW,IAAI,EAAE,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import h$1 from "@macrostrat/hyper";
|
|
2
2
|
import { InfoDrawerHeader } from "./header.js";
|
|
3
3
|
import classNames from "classnames";
|
|
4
|
-
import
|
|
4
|
+
import h$2 from "./main.module.sass.js";
|
|
5
5
|
import { ErrorBoundary } from "@macrostrat/ui-components";
|
|
6
6
|
import { PanelCard } from "../container.js";
|
|
7
|
-
const h = h$1.styled(
|
|
7
|
+
const h = h$1.styled(h$2);
|
|
8
8
|
function InfoDrawerContainer(props) {
|
|
9
9
|
const className = classNames("infodrawer", props.className);
|
|
10
10
|
return h(PanelCard, { ...props, className });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":["hyper"],"mappings":";;;;;;AAQA,MAAM,IAAIA,IAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":["hyper","styles"],"mappings":";;;;;;AAQA,MAAM,IAAIA,IAAM,OAAOC,GAAM;AAEtB,SAAS,oBAAoB,OAAO;AACzC,QAAM,YAAY,WAAW,cAAc,MAAM,SAAS;AAC1D,SAAO,EAAE,WAAW,EAAE,GAAG,OAAO,WAAW;AAC7C;AAYO,SAAS,eAAe,OAA4B;AACzD,QAAM;AAAA,IACJ;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,GAAG;AAAA,EAAA,IACD;AACJ,QAAM,SACJ,iBACA,EAAE,kBAAkB,EAAE,SAAS,GAAG,QAAQ;AAAA,IACxC,SAAS,OAAO,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;AAAA,EAAA,CACvC;AACH,SAAO,EAAE,qBAAqB,EAAE,aAAa;AAAA,IAC3C;AAAA,IACA,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,QAAQ,CAAC,CAAC;AAAA,EAAA,CACzE;AACH;AAEO,MAAM,eAAe;AAErB,SAAS,cAAc,OAAO;AACnC,QAAM,EAAE,UAAU,WAAW,UAAU,OAAO,GAAG,SAAS;AAC1D,QAAM,MAAM,WAAW,kBAAkB,WAAW,EAAE,SAAS;AAC/D,SAAO,EAAE,gBAAgB,EAAE,WAAW,KAAK,GAAG,KAAA,GAAQ,QAAQ;AAChE;"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const h$1 = require("@macrostrat/hyper");
|
|
4
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
5
|
+
const h__default = /* @__PURE__ */ _interopDefault(h$1);
|
|
3
6
|
const spacer = "_spacer_anjbb_20";
|
|
4
7
|
const infodrawer = "_infodrawer_anjbb_40";
|
|
5
8
|
const loading = "_loading_anjbb_63";
|
|
@@ -16,7 +19,9 @@ const styles = {
|
|
|
16
19
|
"infodrawer-body": "_infodrawer-body_anjbb_63",
|
|
17
20
|
"infodrawer-contents": "_infodrawer-contents_anjbb_68"
|
|
18
21
|
};
|
|
19
|
-
|
|
22
|
+
let h = h__default.default.styled(styles);
|
|
23
|
+
Object.assign(h, styles);
|
|
24
|
+
exports.default = h;
|
|
20
25
|
exports.infodrawer = infodrawer;
|
|
21
26
|
exports.loading = loading;
|
|
22
27
|
exports.spacer = spacer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import h$1 from "@macrostrat/hyper";
|
|
1
2
|
const spacer = "_spacer_anjbb_20";
|
|
2
3
|
const infodrawer = "_infodrawer_anjbb_40";
|
|
3
4
|
const loading = "_loading_anjbb_63";
|
|
@@ -14,8 +15,10 @@ const styles = {
|
|
|
14
15
|
"infodrawer-body": "_infodrawer-body_anjbb_63",
|
|
15
16
|
"infodrawer-contents": "_infodrawer-contents_anjbb_68"
|
|
16
17
|
};
|
|
18
|
+
let h = h$1.styled(styles);
|
|
19
|
+
Object.assign(h, styles);
|
|
17
20
|
export {
|
|
18
|
-
|
|
21
|
+
h as default,
|
|
19
22
|
infodrawer,
|
|
20
23
|
loading,
|
|
21
24
|
spacer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|