@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.
Files changed (122) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/container.js +2 -2
  3. package/dist/container.js.map +1 -1
  4. package/dist/context-panel/index.js +2 -2
  5. package/dist/context-panel/index.js.map +1 -1
  6. package/dist/context-panel/main.module.sass.cjs +6 -1
  7. package/dist/context-panel/main.module.sass.cjs.map +1 -1
  8. package/dist/context-panel/main.module.sass.js +4 -1
  9. package/dist/context-panel/main.module.sass.js.map +1 -1
  10. package/dist/controls.js +2 -2
  11. package/dist/controls.js.map +1 -1
  12. package/dist/dev/main.module.sass.cjs +6 -1
  13. package/dist/dev/main.module.sass.cjs.map +1 -1
  14. package/dist/dev/main.module.sass.js +4 -1
  15. package/dist/dev/main.module.sass.js.map +1 -1
  16. package/dist/dev/map-page.js +2 -2
  17. package/dist/dev/map-page.js.map +1 -1
  18. package/dist/dev/vector-tile-features.cjs +3 -3
  19. package/dist/dev/vector-tile-features.cjs.map +1 -1
  20. package/dist/dev/vector-tile-features.js +3 -3
  21. package/dist/dev/vector-tile-features.js.map +1 -1
  22. package/dist/index.cjs +6 -18
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.ts +0 -1
  25. package/dist/index.js +1 -13
  26. package/dist/index.js.map +1 -1
  27. package/dist/location-details/fossil-collections/collections.js +2 -2
  28. package/dist/location-details/fossil-collections/collections.js.map +1 -1
  29. package/dist/location-details/fossil-collections/main.module.sass.cjs +6 -1
  30. package/dist/location-details/fossil-collections/main.module.sass.cjs.map +1 -1
  31. package/dist/location-details/fossil-collections/main.module.sass.js +4 -1
  32. package/dist/location-details/fossil-collections/main.module.sass.js.map +1 -1
  33. package/dist/location-details/index.d.ts +0 -1
  34. package/dist/location-details/info-blocks.cjs +0 -22
  35. package/dist/location-details/info-blocks.cjs.map +1 -1
  36. package/dist/location-details/info-blocks.js +2 -24
  37. package/dist/location-details/info-blocks.js.map +1 -1
  38. package/dist/location-details/info-blocks.module.sass.cjs +6 -1
  39. package/dist/location-details/info-blocks.module.sass.cjs.map +1 -1
  40. package/dist/location-details/info-blocks.module.sass.js +4 -1
  41. package/dist/location-details/info-blocks.module.sass.js.map +1 -1
  42. package/dist/location-details/macrostrat-linked.cjs +82 -129
  43. package/dist/location-details/macrostrat-linked.cjs.map +1 -1
  44. package/dist/location-details/macrostrat-linked.js +29 -75
  45. package/dist/location-details/macrostrat-linked.js.map +1 -1
  46. package/dist/location-details/main.module.sass.cjs +6 -1
  47. package/dist/location-details/main.module.sass.cjs.map +1 -1
  48. package/dist/location-details/main.module.sass.js +4 -1
  49. package/dist/location-details/main.module.sass.js.map +1 -1
  50. package/dist/location-details/physiography.cjs +2 -2
  51. package/dist/location-details/physiography.cjs.map +1 -1
  52. package/dist/location-details/physiography.js +1 -1
  53. package/dist/location-details/physiography.js.map +1 -1
  54. package/dist/location-details/reg-strat.cjs +2 -2
  55. package/dist/location-details/reg-strat.cjs.map +1 -1
  56. package/dist/location-details/reg-strat.js +1 -1
  57. package/dist/location-details/reg-strat.js.map +1 -1
  58. package/dist/location-panel/header.js +2 -2
  59. package/dist/location-panel/header.js.map +1 -1
  60. package/dist/location-panel/index.js +2 -2
  61. package/dist/location-panel/index.js.map +1 -1
  62. package/dist/location-panel/main.module.sass.cjs +6 -1
  63. package/dist/location-panel/main.module.sass.cjs.map +1 -1
  64. package/dist/location-panel/main.module.sass.js +4 -1
  65. package/dist/location-panel/main.module.sass.js.map +1 -1
  66. package/dist/main.module.sass.cjs +6 -1
  67. package/dist/main.module.sass.cjs.map +1 -1
  68. package/dist/main.module.sass.js +4 -1
  69. package/dist/main.module.sass.js.map +1 -1
  70. package/dist/map-interface.css +43 -215
  71. package/dist/map-view.js +2 -2
  72. package/dist/map-view.js.map +1 -1
  73. package/package.json +8 -8
  74. package/src/dev/vector-tile-features.ts +1 -1
  75. package/src/index.ts +0 -1
  76. package/src/location-details/index.ts +0 -1
  77. package/src/location-details/macrostrat-linked.ts +29 -81
  78. package/src/location-details/main.module.sass +0 -1
  79. package/src/location-details/physiography.ts +1 -1
  80. package/src/location-details/reg-strat.ts +1 -1
  81. package/dist/expansion-panel/headers.cjs +0 -22
  82. package/dist/expansion-panel/headers.cjs.map +0 -1
  83. package/dist/expansion-panel/headers.d.ts +0 -1
  84. package/dist/expansion-panel/headers.js +0 -20
  85. package/dist/expansion-panel/headers.js.map +0 -1
  86. package/dist/expansion-panel/index.cjs +0 -128
  87. package/dist/expansion-panel/index.cjs.map +0 -1
  88. package/dist/expansion-panel/index.d.ts +0 -18
  89. package/dist/expansion-panel/index.js +0 -125
  90. package/dist/expansion-panel/index.js.map +0 -1
  91. package/dist/expansion-panel/main.module.sass.cjs +0 -27
  92. package/dist/expansion-panel/main.module.sass.cjs.map +0 -1
  93. package/dist/expansion-panel/main.module.sass.js +0 -27
  94. package/dist/expansion-panel/main.module.sass.js.map +0 -1
  95. package/dist/location-details/fetch.d.ts +0 -4
  96. package/dist/location-details/utils/index.cjs +0 -15
  97. package/dist/location-details/utils/index.cjs.map +0 -1
  98. package/dist/location-details/utils/index.js +0 -15
  99. package/dist/location-details/utils/index.js.map +0 -1
  100. package/dist/location-details/xdd-panel/article.cjs +0 -64
  101. package/dist/location-details/xdd-panel/article.cjs.map +0 -1
  102. package/dist/location-details/xdd-panel/article.d.ts +0 -1
  103. package/dist/location-details/xdd-panel/article.js +0 -62
  104. package/dist/location-details/xdd-panel/article.js.map +0 -1
  105. package/dist/location-details/xdd-panel/index.cjs +0 -71
  106. package/dist/location-details/xdd-panel/index.cjs.map +0 -1
  107. package/dist/location-details/xdd-panel/index.d.ts +0 -18
  108. package/dist/location-details/xdd-panel/index.js +0 -69
  109. package/dist/location-details/xdd-panel/index.js.map +0 -1
  110. package/dist/location-details/xdd-panel/journal.cjs +0 -27
  111. package/dist/location-details/xdd-panel/journal.cjs.map +0 -1
  112. package/dist/location-details/xdd-panel/journal.d.ts +0 -20
  113. package/dist/location-details/xdd-panel/journal.js +0 -25
  114. package/dist/location-details/xdd-panel/journal.js.map +0 -1
  115. package/src/expansion-panel/headers.ts +0 -18
  116. package/src/expansion-panel/index.ts +0 -135
  117. package/src/expansion-panel/main.module.sass +0 -157
  118. package/src/location-details/fetch.ts +0 -57
  119. package/src/location-details/location-details.stories.ts +0 -88
  120. package/src/location-details/xdd-panel/article.ts +0 -67
  121. package/src/location-details/xdd-panel/index.ts +0 -70
  122. 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 h$1 from "@macrostrat/hyper";
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 { LithologyList } from "@macrostrat/data-components";
8
- import { AttrChip, AgeChip } from "./info-blocks.js";
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(ExpansionBody, { title: "Age refinement" }, h(AgeRefinementPlot, props))
170
+ h(AgeRefinementPlot, props)
175
171
  );
176
172
  }
177
173
  function MatchBasis(props) {
@@ -186,22 +182,20 @@ function MatchBasis(props) {
186
182
  h("div.description", "Matched stratigraphic unit")
187
183
  ])
188
184
  },
189
- h(ExpansionBody, { title: "All matched names" }, [
190
- source.macrostrat.strat_names?.map((name, i) => {
191
- let lastElement = i == source.macrostrat.strat_names.length - 1;
192
- return h("span", { key: i }, [
193
- h(
194
- "a.externalLink",
195
- {
196
- href: stratNameURL + "/" + name.strat_name_id,
197
- key: i
198
- },
199
- [name.rank_name]
200
- ),
201
- h.if(!lastElement)([", "])
202
- ]);
203
- })
204
- ])
185
+ source.macrostrat.strat_names?.map((name, i) => {
186
+ let lastElement = i == source.macrostrat.strat_names.length - 1;
187
+ return h("span", { key: i }, [
188
+ h(
189
+ "a.externalLink",
190
+ {
191
+ href: stratNameURL + "/" + name.strat_name_id,
192
+ key: i
193
+ },
194
+ [name.rank_name]
195
+ ),
196
+ h.if(!lastElement)([", "])
197
+ ]);
198
+ })
205
199
  );
206
200
  }
207
201
  function Thickness(props) {
@@ -270,14 +264,13 @@ function LithsAndClasses(props) {
270
264
  title: "Lithology",
271
265
  value: h(LithTypes, { lith_types })
272
266
  },
273
- h(ExpansionBody, { title: "Matched lithologies" }, [
274
- h(LithologyList, {
275
- lithologies,
276
- onClickItem: (e, lith) => {
277
- window.open(lithologyURL + "/" + lith.lith_id, "_self");
278
- }
279
- })
280
- ])
267
+ h(LithologyList, {
268
+ label: "Matched lithologies",
269
+ lithologies,
270
+ onClickItem: (e, lith) => {
271
+ window.open(lithologyURL + "/" + lith.lith_id, "_self");
272
+ }
273
+ })
281
274
  );
282
275
  }
283
276
  function EnvironTypes(props) {
@@ -304,49 +297,10 @@ function Environments(props) {
304
297
  title: "Environment",
305
298
  value: h(EnvironTypes, { environ_types })
306
299
  },
307
- h(ExpansionBody, { title: "Matched environments" }, [
308
- h(LithologyList, {
309
- lithologies,
310
- onClickItem: (e, environ) => {
311
- console.log("environ", environmentURL);
312
- window.open(environmentURL + "/" + environ.environ_id, "_self");
313
- }
314
- })
315
- ])
316
- );
317
- }
318
- function EconType(props) {
319
- const { econ_types } = props;
320
- return h.if(econ_types && econ_types.length > 0)("div", [
321
- econ_types?.map((econClass, i) => {
322
- return h(AttrChip, {
323
- key: i,
324
- name: econClass.name,
325
- color: econClass.color
326
- });
300
+ h(LithologyList, {
301
+ label: "Matched environments",
302
+ lithologies
327
303
  })
328
- ]);
329
- }
330
- function Economy(props) {
331
- const { source } = props;
332
- const { macrostrat } = source;
333
- const { econs = null, econ_types = null } = macrostrat;
334
- if (!econs) return h("div");
335
- return h.if(econs && econs.length > 0)(
336
- ExpandableDetailsPanel,
337
- {
338
- title: "Economy ",
339
- value: h(EconType, { econ_types })
340
- },
341
- h(ExpansionBody, { title: "Matched economic attributes" }, [
342
- econs?.map((econ, i) => {
343
- return h(AttrChip, {
344
- key: i,
345
- name: econ.econ,
346
- color: econ.color
347
- });
348
- })
349
- ])
350
304
  );
351
305
  }
352
306
  export {
@@ -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
- exports.default = styles;
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
- styles as default,
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 mapInterface = require("@macrostrat/map-interface");
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
- mapInterface.ExpansionPanel,
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/map-interface\";\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,aAAAA;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
+ {"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/map-interface";
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/map-interface\";\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
+ {"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 mapInterface = require("@macrostrat/map-interface");
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
- mapInterface.ExpansionPanel,
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/map-interface\";\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,aAAAA;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
+ {"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,5 +1,5 @@
1
1
  import h from "@macrostrat/hyper";
2
- import { ExpansionPanel } from "@macrostrat/map-interface";
2
+ import { ExpansionPanel } from "@macrostrat/data-components";
3
3
  import { addCommas } from "./utils/formatting.js";
4
4
  function RegionalStratigraphy({
5
5
  mapInfo,
@@ -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/map-interface\";\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
+ {"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 styles from "./main.module.sass.js";
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(styles);
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,OAAO,MAAM;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
+ {"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 styles from "./main.module.sass.js";
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(styles);
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,OAAO,MAAM;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
+ {"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
- exports.default = styles;
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
- styles as default,
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":";;;;;;;;;;;;;;;;;;;"}