@macrostrat/map-interface 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/container.cjs +7 -4
  3. package/dist/container.cjs.map +1 -1
  4. package/dist/container.js +2 -2
  5. package/dist/container.js.map +1 -1
  6. package/dist/context-panel/index.cjs +3 -1
  7. package/dist/context-panel/index.cjs.map +1 -1
  8. package/dist/context-panel/index.js +2 -2
  9. package/dist/context-panel/index.js.map +1 -1
  10. package/dist/context-panel/main.module.sass.cjs +6 -1
  11. package/dist/context-panel/main.module.sass.cjs.map +1 -1
  12. package/dist/context-panel/main.module.sass.js +4 -1
  13. package/dist/context-panel/main.module.sass.js.map +1 -1
  14. package/dist/controls.cjs +3 -1
  15. package/dist/controls.cjs.map +1 -1
  16. package/dist/controls.js +2 -2
  17. package/dist/controls.js.map +1 -1
  18. package/dist/dev/main.module.sass.cjs +6 -1
  19. package/dist/dev/main.module.sass.cjs.map +1 -1
  20. package/dist/dev/main.module.sass.js +4 -1
  21. package/dist/dev/main.module.sass.js.map +1 -1
  22. package/dist/dev/map-page.cjs +5 -2
  23. package/dist/dev/map-page.cjs.map +1 -1
  24. package/dist/dev/map-page.js +2 -2
  25. package/dist/dev/map-page.js.map +1 -1
  26. package/dist/dev/vector-tile-features.cjs +3 -1
  27. package/dist/dev/vector-tile-features.cjs.map +1 -1
  28. package/dist/dev/vector-tile-features.js +2 -2
  29. package/dist/dev/vector-tile-features.js.map +1 -1
  30. package/dist/expansion-panel/headers.cjs +3 -1
  31. package/dist/expansion-panel/headers.cjs.map +1 -1
  32. package/dist/expansion-panel/headers.js +2 -2
  33. package/dist/expansion-panel/headers.js.map +1 -1
  34. package/dist/expansion-panel/index.cjs +6 -3
  35. package/dist/expansion-panel/index.cjs.map +1 -1
  36. package/dist/expansion-panel/index.js +2 -2
  37. package/dist/expansion-panel/index.js.map +1 -1
  38. package/dist/expansion-panel/main.module.sass.cjs +6 -1
  39. package/dist/expansion-panel/main.module.sass.cjs.map +1 -1
  40. package/dist/expansion-panel/main.module.sass.js +4 -1
  41. package/dist/expansion-panel/main.module.sass.js.map +1 -1
  42. package/dist/helpers.cjs +4 -2
  43. package/dist/helpers.cjs.map +1 -1
  44. package/dist/location-details/fossil-collections/collections.cjs +13 -11
  45. package/dist/location-details/fossil-collections/collections.cjs.map +1 -1
  46. package/dist/location-details/fossil-collections/collections.js +2 -2
  47. package/dist/location-details/fossil-collections/collections.js.map +1 -1
  48. package/dist/location-details/fossil-collections/index.cjs +3 -1
  49. package/dist/location-details/fossil-collections/index.cjs.map +1 -1
  50. package/dist/location-details/fossil-collections/main.module.sass.cjs +6 -2
  51. package/dist/location-details/fossil-collections/main.module.sass.cjs.map +1 -1
  52. package/dist/location-details/fossil-collections/main.module.sass.js +4 -1
  53. package/dist/location-details/fossil-collections/main.module.sass.js.map +1 -1
  54. package/dist/location-details/info-blocks.cjs +5 -2
  55. package/dist/location-details/info-blocks.cjs.map +1 -1
  56. package/dist/location-details/info-blocks.js +2 -2
  57. package/dist/location-details/info-blocks.js.map +1 -1
  58. package/dist/location-details/info-blocks.module.sass.cjs +6 -1
  59. package/dist/location-details/info-blocks.module.sass.cjs.map +1 -1
  60. package/dist/location-details/info-blocks.module.sass.js +4 -1
  61. package/dist/location-details/info-blocks.module.sass.js.map +1 -1
  62. package/dist/location-details/macrostrat-linked.cjs +6 -3
  63. package/dist/location-details/macrostrat-linked.cjs.map +1 -1
  64. package/dist/location-details/macrostrat-linked.js +2 -2
  65. package/dist/location-details/macrostrat-linked.js.map +1 -1
  66. package/dist/location-details/main.module.sass.cjs +6 -1
  67. package/dist/location-details/main.module.sass.cjs.map +1 -1
  68. package/dist/location-details/main.module.sass.js +4 -1
  69. package/dist/location-details/main.module.sass.js.map +1 -1
  70. package/dist/location-details/physiography.cjs +7 -5
  71. package/dist/location-details/physiography.cjs.map +1 -1
  72. package/dist/location-details/reg-strat.cjs +19 -17
  73. package/dist/location-details/reg-strat.cjs.map +1 -1
  74. package/dist/location-details/xdd-panel/article.cjs +14 -12
  75. package/dist/location-details/xdd-panel/article.cjs.map +1 -1
  76. package/dist/location-details/xdd-panel/index.cjs +7 -5
  77. package/dist/location-details/xdd-panel/index.cjs.map +1 -1
  78. package/dist/location-details/xdd-panel/journal.cjs +4 -2
  79. package/dist/location-details/xdd-panel/journal.cjs.map +1 -1
  80. package/dist/location-panel/header.cjs +5 -2
  81. package/dist/location-panel/header.cjs.map +1 -1
  82. package/dist/location-panel/header.js +2 -2
  83. package/dist/location-panel/header.js.map +1 -1
  84. package/dist/location-panel/index.cjs +6 -3
  85. package/dist/location-panel/index.cjs.map +1 -1
  86. package/dist/location-panel/index.js +2 -2
  87. package/dist/location-panel/index.js.map +1 -1
  88. package/dist/location-panel/main.module.sass.cjs +6 -1
  89. package/dist/location-panel/main.module.sass.cjs.map +1 -1
  90. package/dist/location-panel/main.module.sass.js +4 -1
  91. package/dist/location-panel/main.module.sass.js.map +1 -1
  92. package/dist/main.module.sass.cjs +6 -1
  93. package/dist/main.module.sass.cjs.map +1 -1
  94. package/dist/main.module.sass.js +4 -1
  95. package/dist/main.module.sass.js.map +1 -1
  96. package/dist/map-interface.css +1 -1
  97. package/dist/map-view.cjs +10 -6
  98. package/dist/map-view.cjs.map +1 -1
  99. package/dist/map-view.js +2 -2
  100. package/dist/map-view.js.map +1 -1
  101. package/package.json +19 -15
  102. package/src/location-details/location-details.stories.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"vector-tile-features.js","sources":["../../src/dev/vector-tile-features.ts"],"sourcesContent":["import { Spinner, Switch, Button, Intent } from \"@blueprintjs/core\";\nimport { useMapRef, useMapStatus } from \"@macrostrat/mapbox-react\";\nimport mapboxgl from \"mapbox-gl\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { group } from \"d3-array\";\nimport { ExpansionPanel } from \"../expansion-panel\";\n\nconst h = hyper.styled(styles);\n\nexport function FeatureProperties({ data, ...rest }) {\n // Instead of managing hover state with CSS, we use a state variable,\n // so that the button re-renders when the state changes\n const [showControls, setShowControls] = useState(false);\n const onMouseEnter = useCallback(() => setShowControls(true), []);\n const onMouseLeave = useCallback(() => setShowControls(false), []);\n\n return h(\"div.feature-properties\", { onMouseEnter, onMouseLeave }, [\n h.if(showControls)(\"div.controls\", h(CopyJSONButton, { data })),\n h(JSONView, {\n data,\n hideRoot: true,\n ...rest,\n }),\n ]);\n}\n\nexport function FeatureRecord({ feature }) {\n const props = feature.properties;\n return h(\"div.feature-record\", [\n h.if(Object.keys(props).length > 0)(FeatureProperties, { data: props }),\n ]);\n}\n\nfunction CopyJSONButton({ data }) {\n const [copied, setCopied] = useState(false);\n return h(Button, {\n icon: copied ? \"tick\" : \"clipboard\",\n intent: copied ? Intent.SUCCESS : Intent.NONE,\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(JSON.stringify(data, null, 2));\n setCopied(true);\n },\n });\n}\n\n/** This component wraps queryRenderedFeatures to get features at a given location */\nexport function FeatureSelectionHandler({\n selectedLocation,\n setFeatures,\n radius = 2,\n}: {\n selectedLocation: mapboxgl.LngLat;\n setFeatures: (features: mapboxgl.MapboxGeoJSONFeature[]) => void;\n radius?: number;\n}) {\n const mapRef = useMapRef();\n const isLoading = useMapStatus((s) => s.isLoading);\n const isInitialized = useMapStatus((s) => s.isInitialized);\n const prevLocation = useRef(null);\n const prevFeatures = useRef([]);\n\n useEffect(() => {\n const map = mapRef?.current;\n if (map == null) return;\n if (selectedLocation == null) {\n setFeatures(null);\n return;\n }\n\n if (!isInitialized) return;\n\n const hasPreviouslyLoadedFeatures = prevFeatures.current.length > 0;\n\n const locationMemo = JSON.stringify(selectedLocation);\n if (locationMemo == prevLocation.current && hasPreviouslyLoadedFeatures)\n return;\n\n prevLocation.current = locationMemo;\n\n // Don't update if the location hasn't changed\n //if (selectedLocation == prevLocation) return;\n\n const r = radius;\n const pt = map.project(selectedLocation);\n\n const bbox: [mapboxgl.PointLike, mapboxgl.PointLike] = [\n [pt.x - r, pt.y - r],\n [pt.x + r, pt.y + r],\n ];\n const features = map.queryRenderedFeatures(bbox);\n prevFeatures.current = features ?? [];\n setFeatures(features);\n }, [isInitialized, selectedLocation, isLoading]);\n\n return null;\n}\n\nfunction FeatureHeader({ feature }) {\n return h(\"div.feature-header\", [\n h(\"h3\", [\n h(KeyValue, { label: \"Source\", value: feature.source }),\n h(KeyValue, { label: \"Source layer\", value: feature.sourceLayer }),\n ]),\n ]);\n}\n\nfunction KeyValue({ label, value }) {\n return h(\"span.key-value\", [h(\"span.key\", label), h(\"code.value\", value)]);\n}\n\nfunction LoadingAwareFeatureSet({ features, sourceID }) {\n const map = useMapRef();\n if (map?.current == null) return null;\n const [isLoaded, setIsLoaded] = useState(false);\n\n const sourceFeatures = features.filter((d) => d.source == \"burwell\");\n\n useEffect(() => {\n if (sourceFeatures.length > 0) {\n setIsLoaded(true);\n return;\n }\n\n const isLoaded = map.current.isSourceLoaded(sourceID);\n setIsLoaded(isLoaded);\n if (!isLoaded) {\n map.current.once(\"sourcedata\", (e) => {\n if (e.sourceId == sourceID) {\n setIsLoaded(true);\n }\n });\n }\n }, [map.current, sourceID, sourceFeatures.length]);\n\n if (!isLoaded) return h(Spinner);\n return h(Features, { features: sourceFeatures });\n}\n\nexport function TileInfo({ feature, showExtent, setShowExtent }) {\n if (feature == null) return null;\n const size = feature._vectorTileFeature._pbf.length;\n return h(\"div.tile-info\", [\n h(\"h3\", \"Tile\"),\n h(\"div.tile-index\", [\n h(KeyValue, { label: \"x\", value: feature._x }),\n h(KeyValue, { label: \"y\", value: feature._y }),\n h(KeyValue, { label: \"z\", value: feature._z }),\n ]),\n h(\"div.spacer\"),\n h(KeyValue, { label: \"Size\", value: formatSize(size) }),\n h(Switch, {\n label: \"Show extent\",\n alignIndicator: \"right\",\n checked: showExtent,\n onChange() {\n setShowExtent(!showExtent);\n },\n }),\n ]);\n}\n\nfunction formatSize(size: number) {\n if (size > 1000000)\n return h(UnitNumber, { value: size / 1000000, unit: \"Mb\" });\n if (size > 1000) return h(UnitNumber, { value: size / 1000, unit: \"Kb\" });\n return `${size} bytes`;\n}\n\nfunction UnitNumber({ value, unit, precision = 1 }) {\n return h(\"span.unit-number\", [\n h(\"span.number\", value.toFixed(precision)),\n h(\"span.unit\", unit),\n ]);\n}\n\nexport function FeaturePanel({\n features,\n focusedSource = null,\n focusedSourceTitle = null,\n}) {\n if (features == null) return null;\n\n let focusedSourcePanel = null;\n let filteredFeatures = features;\n let title = \"Features\";\n\n if (focusedSource != null) {\n title = \"Basemap features\";\n focusedSourcePanel = h(\n ExpansionPanel,\n {\n title: focusedSourceTitle ?? \"Macrostrat features\",\n className: \"macrostrat-features\",\n expanded: true,\n },\n [\n h(LoadingAwareFeatureSet, {\n features,\n sourceID: focusedSource,\n }),\n ],\n );\n filteredFeatures = features.filter((d) => d.source != focusedSource);\n }\n\n return h(\"div.feature-panel\", [\n focusedSourcePanel,\n h(\n ExpansionPanel,\n { title, className: \"basemap-features\", expanded: focusedSource == null },\n [\n h(FeatureGroups, {\n features: filteredFeatures,\n }),\n ],\n ),\n ]);\n}\n\nfunction FeatureGroups({ features }) {\n /** Group features by source and sourceLayer */\n if (features == null) return null;\n\n const groups = group(features, (d: any) => `${d.source} - ${d.sourceLayer}`);\n\n return h(\n \"div.feature-groups\",\n Array.from(groups).map(([key, features]) => {\n return h(\"div.feature-group\", [\n h(FeatureHeader, { feature: features[0] }),\n h(Features, { features }),\n ]);\n }),\n );\n}\n\nexport function Features({ features }) {\n return h(\n \"div.features\",\n features.map((feature, i) => h(FeatureRecord, { key: i, feature })),\n );\n}\n"],"names":["hyper","isLoaded","features"],"mappings":";;;;;;;;AAUA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAEtB,SAAS,kBAAkB,EAAE,MAAM,GAAG,QAAQ;AAGnD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AACtD,QAAM,eAAe,YAAY,MAAM,gBAAgB,IAAI,GAAG,CAAA,CAAE;AAChE,QAAM,eAAe,YAAY,MAAM,gBAAgB,KAAK,GAAG,CAAA,CAAE;AAEjE,SAAO,EAAE,0BAA0B,EAAE,cAAc,gBAAgB;AAAA,IACjE,EAAE,GAAG,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAA,CAAM,CAAC;AAAA,IAC9D,EAAE,UAAU;AAAA,MACV;AAAA,MACA,UAAU;AAAA,MACV,GAAG;AAAA,IAAA,CACJ;AAAA,EAAA,CACF;AACH;AAEO,SAAS,cAAc,EAAE,WAAW;AACzC,QAAM,QAAQ,QAAQ;AACtB,SAAO,EAAE,sBAAsB;AAAA,IAC7B,EAAE,GAAG,OAAO,KAAK,KAAK,EAAE,SAAS,CAAC,EAAE,mBAAmB,EAAE,MAAM,OAAO;AAAA,EAAA,CACvE;AACH;AAEA,SAAS,eAAe,EAAE,QAAQ;AAChC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,SAAO,EAAE,QAAQ;AAAA,IACf,MAAM,SAAS,SAAS;AAAA,IACxB,QAAQ,SAAS,OAAO,UAAU,OAAO;AAAA,IACzC,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AACR,gBAAU,UAAU,UAAU,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;AAC3D,gBAAU,IAAI;AAAA,IAChB;AAAA,EAAA,CACD;AACH;AAGO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAIG;AACD,QAAM,SAAS,UAAA;AACf,QAAM,YAAY,aAAa,CAAC,MAAM,EAAE,SAAS;AACjD,QAAM,gBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa;AACzD,QAAM,eAAe,OAAO,IAAI;AAChC,QAAM,eAAe,OAAO,EAAE;AAE9B,YAAU,MAAM;AACd,UAAM,MAAM,QAAQ;AACpB,QAAI,OAAO,KAAM;AACjB,QAAI,oBAAoB,MAAM;AAC5B,kBAAY,IAAI;AAChB;AAAA,IACF;AAEA,QAAI,CAAC,cAAe;AAEpB,UAAM,8BAA8B,aAAa,QAAQ,SAAS;AAElE,UAAM,eAAe,KAAK,UAAU,gBAAgB;AACpD,QAAI,gBAAgB,aAAa,WAAW;AAC1C;AAEF,iBAAa,UAAU;AAKvB,UAAM,IAAI;AACV,UAAM,KAAK,IAAI,QAAQ,gBAAgB;AAEvC,UAAM,OAAiD;AAAA,MACrD,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC;AAAA,MACnB,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC;AAAA,IAAA;AAErB,UAAM,WAAW,IAAI,sBAAsB,IAAI;AAC/C,iBAAa,UAAU,YAAY,CAAA;AACnC,gBAAY,QAAQ;AAAA,EACtB,GAAG,CAAC,eAAe,kBAAkB,SAAS,CAAC;AAE/C,SAAO;AACT;AAEA,SAAS,cAAc,EAAE,WAAW;AAClC,SAAO,EAAE,sBAAsB;AAAA,IAC7B,EAAE,MAAM;AAAA,MACN,EAAE,UAAU,EAAE,OAAO,UAAU,OAAO,QAAQ,QAAQ;AAAA,MACtD,EAAE,UAAU,EAAE,OAAO,gBAAgB,OAAO,QAAQ,aAAa;AAAA,IAAA,CAClE;AAAA,EAAA,CACF;AACH;AAEA,SAAS,SAAS,EAAE,OAAO,SAAS;AAClC,SAAO,EAAE,kBAAkB,CAAC,EAAE,YAAY,KAAK,GAAG,EAAE,cAAc,KAAK,CAAC,CAAC;AAC3E;AAEA,SAAS,uBAAuB,EAAE,UAAU,YAAY;AACtD,QAAM,MAAM,UAAA;AACZ,MAAI,KAAK,WAAW,KAAM,QAAO;AACjC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,QAAM,iBAAiB,SAAS,OAAO,CAAC,MAAM,EAAE,UAAU,SAAS;AAEnE,YAAU,MAAM;AACd,QAAI,eAAe,SAAS,GAAG;AAC7B,kBAAY,IAAI;AAChB;AAAA,IACF;AAEA,UAAMC,YAAW,IAAI,QAAQ,eAAe,QAAQ;AACpD,gBAAYA,SAAQ;AACpB,QAAI,CAACA,WAAU;AACb,UAAI,QAAQ,KAAK,cAAc,CAAC,MAAM;AACpC,YAAI,EAAE,YAAY,UAAU;AAC1B,sBAAY,IAAI;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,IAAI,SAAS,UAAU,eAAe,MAAM,CAAC;AAEjD,MAAI,CAAC,SAAU,QAAO,EAAE,OAAO;AAC/B,SAAO,EAAE,UAAU,EAAE,UAAU,gBAAgB;AACjD;AAEO,SAAS,SAAS,EAAE,SAAS,YAAY,iBAAiB;AAC/D,MAAI,WAAW,KAAM,QAAO;AAC5B,QAAM,OAAO,QAAQ,mBAAmB,KAAK;AAC7C,SAAO,EAAE,iBAAiB;AAAA,IACxB,EAAE,MAAM,MAAM;AAAA,IACd,EAAE,kBAAkB;AAAA,MAClB,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,QAAQ,IAAI;AAAA,MAC7C,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,QAAQ,IAAI;AAAA,MAC7C,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,QAAQ,IAAI;AAAA,IAAA,CAC9C;AAAA,IACD,EAAE,YAAY;AAAA,IACd,EAAE,UAAU,EAAE,OAAO,QAAQ,OAAO,WAAW,IAAI,GAAG;AAAA,IACtD,EAAE,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,WAAW;AACT,sBAAc,CAAC,UAAU;AAAA,MAC3B;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AACH;AAEA,SAAS,WAAW,MAAc;AAChC,MAAI,OAAO;AACT,WAAO,EAAE,YAAY,EAAE,OAAO,OAAO,KAAS,MAAM,MAAM;AAC5D,MAAI,OAAO,IAAM,QAAO,EAAE,YAAY,EAAE,OAAO,OAAO,KAAM,MAAM,KAAA,CAAM;AACxE,SAAO,GAAG,IAAI;AAChB;AAEA,SAAS,WAAW,EAAE,OAAO,MAAM,YAAY,KAAK;AAClD,SAAO,EAAE,oBAAoB;AAAA,IAC3B,EAAE,eAAe,MAAM,QAAQ,SAAS,CAAC;AAAA,IACzC,EAAE,aAAa,IAAI;AAAA,EAAA,CACpB;AACH;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,gBAAgB;AAAA,EAChB,qBAAqB;AACvB,GAAG;AACD,MAAI,YAAY,KAAM,QAAO;AAE7B,MAAI,qBAAqB;AACzB,MAAI,mBAAmB;AACvB,MAAI,QAAQ;AAEZ,MAAI,iBAAiB,MAAM;AACzB,YAAQ;AACR,yBAAqB;AAAA,MACnB;AAAA,MACA;AAAA,QACE,OAAO,sBAAsB;AAAA,QAC7B,WAAW;AAAA,QACX,UAAU;AAAA,MAAA;AAAA,MAEZ;AAAA,QACE,EAAE,wBAAwB;AAAA,UACxB;AAAA,UACA,UAAU;AAAA,QAAA,CACX;AAAA,MAAA;AAAA,IACH;AAEF,uBAAmB,SAAS,OAAO,CAAC,MAAM,EAAE,UAAU,aAAa;AAAA,EACrE;AAEA,SAAO,EAAE,qBAAqB;AAAA,IAC5B;AAAA,IACA;AAAA,MACE;AAAA,MACA,EAAE,OAAO,WAAW,oBAAoB,UAAU,iBAAiB,KAAA;AAAA,MACnE;AAAA,QACE,EAAE,eAAe;AAAA,UACf,UAAU;AAAA,QAAA,CACX;AAAA,MAAA;AAAA,IACH;AAAA,EACF,CACD;AACH;AAEA,SAAS,cAAc,EAAE,YAAY;AAEnC,MAAI,YAAY,KAAM,QAAO;AAE7B,QAAM,SAAS,MAAM,UAAU,CAAC,MAAW,GAAG,EAAE,MAAM,MAAM,EAAE,WAAW,EAAE;AAE3E,SAAO;AAAA,IACL;AAAA,IACA,MAAM,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,KAAKC,SAAQ,MAAM;AAC1C,aAAO,EAAE,qBAAqB;AAAA,QAC5B,EAAE,eAAe,EAAE,SAASA,UAAS,CAAC,GAAG;AAAA,QACzC,EAAE,UAAU,EAAE,UAAAA,WAAU;AAAA,MAAA,CACzB;AAAA,IACH,CAAC;AAAA,EAAA;AAEL;AAEO,SAAS,SAAS,EAAE,YAAY;AACrC,SAAO;AAAA,IACL;AAAA,IACA,SAAS,IAAI,CAAC,SAAS,MAAM,EAAE,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC;AAAA,EAAA;AAEtE;"}
1
+ {"version":3,"file":"vector-tile-features.js","sources":["../../src/dev/vector-tile-features.ts"],"sourcesContent":["import { Spinner, Switch, Button, Intent } from \"@blueprintjs/core\";\nimport { useMapRef, useMapStatus } from \"@macrostrat/mapbox-react\";\nimport mapboxgl from \"mapbox-gl\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { group } from \"d3-array\";\nimport { ExpansionPanel } from \"../expansion-panel\";\n\nconst h = hyper.styled(styles);\n\nexport function FeatureProperties({ data, ...rest }) {\n // Instead of managing hover state with CSS, we use a state variable,\n // so that the button re-renders when the state changes\n const [showControls, setShowControls] = useState(false);\n const onMouseEnter = useCallback(() => setShowControls(true), []);\n const onMouseLeave = useCallback(() => setShowControls(false), []);\n\n return h(\"div.feature-properties\", { onMouseEnter, onMouseLeave }, [\n h.if(showControls)(\"div.controls\", h(CopyJSONButton, { data })),\n h(JSONView, {\n data,\n hideRoot: true,\n ...rest,\n }),\n ]);\n}\n\nexport function FeatureRecord({ feature }) {\n const props = feature.properties;\n return h(\"div.feature-record\", [\n h.if(Object.keys(props).length > 0)(FeatureProperties, { data: props }),\n ]);\n}\n\nfunction CopyJSONButton({ data }) {\n const [copied, setCopied] = useState(false);\n return h(Button, {\n icon: copied ? \"tick\" : \"clipboard\",\n intent: copied ? Intent.SUCCESS : Intent.NONE,\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(JSON.stringify(data, null, 2));\n setCopied(true);\n },\n });\n}\n\n/** This component wraps queryRenderedFeatures to get features at a given location */\nexport function FeatureSelectionHandler({\n selectedLocation,\n setFeatures,\n radius = 2,\n}: {\n selectedLocation: mapboxgl.LngLat;\n setFeatures: (features: mapboxgl.MapboxGeoJSONFeature[]) => void;\n radius?: number;\n}) {\n const mapRef = useMapRef();\n const isLoading = useMapStatus((s) => s.isLoading);\n const isInitialized = useMapStatus((s) => s.isInitialized);\n const prevLocation = useRef(null);\n const prevFeatures = useRef([]);\n\n useEffect(() => {\n const map = mapRef?.current;\n if (map == null) return;\n if (selectedLocation == null) {\n setFeatures(null);\n return;\n }\n\n if (!isInitialized) return;\n\n const hasPreviouslyLoadedFeatures = prevFeatures.current.length > 0;\n\n const locationMemo = JSON.stringify(selectedLocation);\n if (locationMemo == prevLocation.current && hasPreviouslyLoadedFeatures)\n return;\n\n prevLocation.current = locationMemo;\n\n // Don't update if the location hasn't changed\n //if (selectedLocation == prevLocation) return;\n\n const r = radius;\n const pt = map.project(selectedLocation);\n\n const bbox: [mapboxgl.PointLike, mapboxgl.PointLike] = [\n [pt.x - r, pt.y - r],\n [pt.x + r, pt.y + r],\n ];\n const features = map.queryRenderedFeatures(bbox);\n prevFeatures.current = features ?? [];\n setFeatures(features);\n }, [isInitialized, selectedLocation, isLoading]);\n\n return null;\n}\n\nfunction FeatureHeader({ feature }) {\n return h(\"div.feature-header\", [\n h(\"h3\", [\n h(KeyValue, { label: \"Source\", value: feature.source }),\n h(KeyValue, { label: \"Source layer\", value: feature.sourceLayer }),\n ]),\n ]);\n}\n\nfunction KeyValue({ label, value }) {\n return h(\"span.key-value\", [h(\"span.key\", label), h(\"code.value\", value)]);\n}\n\nfunction LoadingAwareFeatureSet({ features, sourceID }) {\n const map = useMapRef();\n if (map?.current == null) return null;\n const [isLoaded, setIsLoaded] = useState(false);\n\n const sourceFeatures = features.filter((d) => d.source == \"burwell\");\n\n useEffect(() => {\n if (sourceFeatures.length > 0) {\n setIsLoaded(true);\n return;\n }\n\n const isLoaded = map.current.isSourceLoaded(sourceID);\n setIsLoaded(isLoaded);\n if (!isLoaded) {\n map.current.once(\"sourcedata\", (e) => {\n if (e.sourceId == sourceID) {\n setIsLoaded(true);\n }\n });\n }\n }, [map.current, sourceID, sourceFeatures.length]);\n\n if (!isLoaded) return h(Spinner);\n return h(Features, { features: sourceFeatures });\n}\n\nexport function TileInfo({ feature, showExtent, setShowExtent }) {\n if (feature == null) return null;\n const size = feature._vectorTileFeature._pbf.length;\n return h(\"div.tile-info\", [\n h(\"h3\", \"Tile\"),\n h(\"div.tile-index\", [\n h(KeyValue, { label: \"x\", value: feature._x }),\n h(KeyValue, { label: \"y\", value: feature._y }),\n h(KeyValue, { label: \"z\", value: feature._z }),\n ]),\n h(\"div.spacer\"),\n h(KeyValue, { label: \"Size\", value: formatSize(size) }),\n h(Switch, {\n label: \"Show extent\",\n alignIndicator: \"right\",\n checked: showExtent,\n onChange() {\n setShowExtent(!showExtent);\n },\n }),\n ]);\n}\n\nfunction formatSize(size: number) {\n if (size > 1000000)\n return h(UnitNumber, { value: size / 1000000, unit: \"Mb\" });\n if (size > 1000) return h(UnitNumber, { value: size / 1000, unit: \"Kb\" });\n return `${size} bytes`;\n}\n\nfunction UnitNumber({ value, unit, precision = 1 }) {\n return h(\"span.unit-number\", [\n h(\"span.number\", value.toFixed(precision)),\n h(\"span.unit\", unit),\n ]);\n}\n\nexport function FeaturePanel({\n features,\n focusedSource = null,\n focusedSourceTitle = null,\n}) {\n if (features == null) return null;\n\n let focusedSourcePanel = null;\n let filteredFeatures = features;\n let title = \"Features\";\n\n if (focusedSource != null) {\n title = \"Basemap features\";\n focusedSourcePanel = h(\n ExpansionPanel,\n {\n title: focusedSourceTitle ?? \"Macrostrat features\",\n className: \"macrostrat-features\",\n expanded: true,\n },\n [\n h(LoadingAwareFeatureSet, {\n features,\n sourceID: focusedSource,\n }),\n ],\n );\n filteredFeatures = features.filter((d) => d.source != focusedSource);\n }\n\n return h(\"div.feature-panel\", [\n focusedSourcePanel,\n h(\n ExpansionPanel,\n { title, className: \"basemap-features\", expanded: focusedSource == null },\n [\n h(FeatureGroups, {\n features: filteredFeatures,\n }),\n ],\n ),\n ]);\n}\n\nfunction FeatureGroups({ features }) {\n /** Group features by source and sourceLayer */\n if (features == null) return null;\n\n const groups = group(features, (d: any) => `${d.source} - ${d.sourceLayer}`);\n\n return h(\n \"div.feature-groups\",\n Array.from(groups).map(([key, features]) => {\n return h(\"div.feature-group\", [\n h(FeatureHeader, { feature: features[0] }),\n h(Features, { features }),\n ]);\n }),\n );\n}\n\nexport function Features({ features }) {\n return h(\n \"div.features\",\n features.map((feature, i) => h(FeatureRecord, { key: i, feature })),\n );\n}\n"],"names":["hyper","styles","isLoaded","features"],"mappings":"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"}
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const h$1 = require("@macrostrat/hyper");
4
4
  const main_module = require("./main.module.sass.cjs");
5
- const h = h$1.styled(main_module.default);
5
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
+ const h__default = /* @__PURE__ */ _interopDefault(h$1);
7
+ const h = h__default.default.styled(main_module.default);
6
8
  function PanelSubhead(props) {
7
9
  const { title, component = "h3", children, ...rest } = props;
8
10
  return h("div.panel-subhead", rest, [
@@ -1 +1 @@
1
- {"version":3,"file":"headers.cjs","sources":["../../src/expansion-panel/headers.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport function PanelSubhead(props) {\n const { title, component = \"h3\", children, ...rest } = props;\n return h(\"div.panel-subhead\", rest, [\n h(\n component,\n {\n className: \"title\",\n },\n title,\n ),\n children,\n ]);\n}\n"],"names":["hyper","styles"],"mappings":";;;;AAGA,MAAM,IAAIA,IAAM,OAAOC,mBAAM;AAEtB,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,OAAO,YAAY,MAAM,UAAU,GAAG,SAAS;AACvD,SAAO,EAAE,qBAAqB,MAAM;AAAA,IAClC;AAAA,MACE;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA,CACD;AACH;;"}
1
+ {"version":3,"file":"headers.cjs","sources":["../../src/expansion-panel/headers.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport function PanelSubhead(props) {\n const { title, component = \"h3\", children, ...rest } = props;\n return h(\"div.panel-subhead\", rest, [\n h(\n component,\n {\n className: \"title\",\n },\n title,\n ),\n children,\n ]);\n}\n"],"names":["hyper","styles"],"mappings":";;;;;;AAGA,MAAM,IAAIA,WAAAA,QAAM,OAAOC,mBAAM;AAEtB,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,OAAO,YAAY,MAAM,UAAU,GAAG,SAAS;AACvD,SAAO,EAAE,qBAAqB,MAAM;AAAA,IAClC;AAAA,MACE;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA,CACD;AACH;;"}
@@ -1,6 +1,6 @@
1
1
  import h$1 from "@macrostrat/hyper";
2
- import styles from "./main.module.sass.js";
3
- const h = h$1.styled(styles);
2
+ import h$2 from "./main.module.sass.js";
3
+ const h = h$1.styled(h$2);
4
4
  function PanelSubhead(props) {
5
5
  const { title, component = "h3", children, ...rest } = props;
6
6
  return h("div.panel-subhead", rest, [
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sources":["../../src/expansion-panel/headers.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport function PanelSubhead(props) {\n const { title, component = \"h3\", children, ...rest } = props;\n return h(\"div.panel-subhead\", rest, [\n h(\n component,\n {\n className: \"title\",\n },\n title,\n ),\n children,\n ]);\n}\n"],"names":["hyper"],"mappings":";;AAGA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAEtB,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,OAAO,YAAY,MAAM,UAAU,GAAG,SAAS;AACvD,SAAO,EAAE,qBAAqB,MAAM;AAAA,IAClC;AAAA,MACE;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"headers.js","sources":["../../src/expansion-panel/headers.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport function PanelSubhead(props) {\n const { title, component = \"h3\", children, ...rest } = props;\n return h(\"div.panel-subhead\", rest, [\n h(\n component,\n {\n className: \"title\",\n },\n title,\n ),\n children,\n ]);\n}\n"],"names":["hyper","styles"],"mappings":";;AAGA,MAAM,IAAIA,IAAM,OAAOC,GAAM;AAEtB,SAAS,aAAa,OAAO;AAClC,QAAM,EAAE,OAAO,YAAY,MAAM,UAAU,GAAG,SAAS;AACvD,SAAO,EAAE,qBAAqB,MAAM;AAAA,IAClC;AAAA,MACE;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA,CACD;AACH;"}
@@ -6,14 +6,17 @@ const h$1 = require("@macrostrat/hyper");
6
6
  const main_module = require("./main.module.sass.cjs");
7
7
  const classNames = require("classnames");
8
8
  const headers = require("./headers.cjs");
9
- const h = h$1.styled(main_module.default);
9
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
+ const h__default = /* @__PURE__ */ _interopDefault(h$1);
11
+ const classNames__default = /* @__PURE__ */ _interopDefault(classNames);
12
+ const h = h__default.default.styled(main_module.default);
10
13
  function ExpansionPanelSummary(props) {
11
14
  const { expanded, children, onChange, className, title, titleComponent } = props;
12
15
  const icon = expanded ? "chevron-up" : "chevron-down";
13
16
  return h(
14
17
  headers.PanelSubhead,
15
18
  {
16
- className: classNames("expansion-panel-header", className),
19
+ className: classNames__default.default("expansion-panel-header", className),
17
20
  onClick: onChange,
18
21
  title,
19
22
  component: titleComponent
@@ -41,7 +44,7 @@ function ExpansionPanelBase(props) {
41
44
  return h(
42
45
  "div.expansion-panel-base",
43
46
  {
44
- className: classNames(className, {
47
+ className: classNames__default.default(className, {
45
48
  expanded: isOpen,
46
49
  collapsed: !isOpen
47
50
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon, className: \"expansion-panel-icon\" })],\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ]),\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ],\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children),\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":["hyper","styles","PanelSubhead","Icon","useState","Collapse","Button"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon, className: \"expansion-panel-icon\" })],\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ]),\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ],\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children),\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":["hyper","styles","PanelSubhead","classNames","Icon","useState","Collapse","Button"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { useState } from "react";
2
2
  import { Button, Collapse, Icon } from "@blueprintjs/core";
3
3
  import h$1 from "@macrostrat/hyper";
4
- import styles from "./main.module.sass.js";
4
+ import h$2 from "./main.module.sass.js";
5
5
  import classNames from "classnames";
6
6
  import { PanelSubhead } from "./headers.js";
7
- const h = h$1.styled(styles);
7
+ const h = h$1.styled(h$2);
8
8
  function ExpansionPanelSummary(props) {
9
9
  const { expanded, children, onChange, className, title, titleComponent } = props;
10
10
  const icon = expanded ? "chevron-up" : "chevron-down";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon, className: \"expansion-panel-icon\" })],\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ]),\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ],\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children),\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":["hyper"],"mappings":";;;;;;AAQA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAE7B,SAAS,sBAAsB,OAAO;AACpC,QAAM,EAAE,UAAU,UAAU,UAAU,WAAW,OAAO,mBACtD;AACF,QAAM,OAAO,WAAW,eAAe;AACvC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,0BAA0B,SAAS;AAAA,MACzD,SAAS;AAAA,MACT;AAAA,MACA,WAAW;AAAA,IAAA;AAAA,IAEb,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,wBAAwB,CAAC;AAAA,EAAA;AAEnE;AAEA,SAAS,mBAAmB,OAAO;AACjC,MAAI;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM;AAAA,IAAC;AAAA,IAClB,gBAAgB;AAAA,IAChB;AAAA,EAAA,IACE;AACJ,QAAM,CAAC,QAAQ,OAAO,IAAI,SAAS,YAAY,KAAK;AAEpD,QAAM,YAAY,MAAM;AACtB,aAAA;AACA,YAAQ,CAAC,MAAM;AAAA,EACjB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW;AAAA,QAC/B,UAAU;AAAA,QACV,WAAW,CAAC;AAAA,MAAA,CACb;AAAA,IAAA;AAAA,IAEH;AAAA,MACE;AAAA,QACE;AAAA,QACA;AAAA,UACE,UAAU;AAAA,UACV,UAAU;AAAA,UACV;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,EAAE,oCAAoC;AAAA,UACpC,EAAE,gCAAgC,QAAQ;AAAA,UAC1C;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,MAEH,EAAE,UAAU,EAAE,OAAA,GAAU,EAAE,0BAA0B,MAAM,QAAQ,CAAC;AAAA,IAAA;AAAA,EACrE;AAEJ;AAEO,SAAS,iBAAiB,OAAO;AACtC,MAAI,EAAE,OAAO,UAAU,WAAW,gBAAgB,SAAS;AAC3D,SAAO,EAAE,0BAA0B,EAAE,aAAa;AAAA,IAChD,EAAE,qBAAqB,MAAM,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,IAC5D,EAAE,qBAAqB,MAAM,QAAQ;AAAA,EAAA,CACtC;AACH;AAEA,SAAS,eAAe,OAAO;AAC7B,SAAO,EAAE,oBAAoB;AAAA,IAC3B,GAAG;AAAA,IACH,WAAW;AAAA,EAAA,CACZ;AACH;AAEA,SAAS,kBAAkB,OAAO;AAChC,SAAO,EAAE,oBAAoB;AAAA,IAC3B,GAAG;AAAA,IACH,WAAW;AAAA,IACX,gBAAgB;AAAA,EAAA,CACjB;AACH;AAEA,SAAS,uBAAuB,OAAO;AACrC,MAAI,EAAE,OAAO,UAAU,OAAO,eAAe,cAAc;AAC3D,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,oBAAkB,EAAE,CAAC,EAAE,aAAa,KAAK,GAAG,KAAK,CAAC;AAClD,SAAO,EAAE,0BAA0B,EAAE,aAAa;AAAA,IAChD,EAAE,+BAA+B;AAAA,MAC/B,EAAE,iCAAiC,aAAa;AAAA,MAChD,EAAE,iCAAiC;AAAA,QACjC,EAAE,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,SAAS,MAAM,UAAU,CAAC,MAAM;AAAA,UAChC,MAAM;AAAA,QAAA,CACP;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAAA,IACD;AAAA,MACE;AAAA,MACA,EAAE,OAAA;AAAA,MACF,EAAE,mCAAmC,MAAM,QAAQ;AAAA,IAAA;AAAA,EACrD,CACD;AACH;AAEA,SAAS,cAAc,EAAE,OAAO,WAAW,YAAY;AACrD,SAAO,EAAE,sBAAsB,EAAE,aAAa;AAAA,IAC5C,EAAE,qCAAqC,KAAK;AAAA,IAC5C,EAAE,mCAAmC,MAAM,QAAQ;AAAA,EAAA,CACpD;AACH;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/expansion-panel/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { Collapse, Icon } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport classNames from \"classnames\";\nimport { Button } from \"@blueprintjs/core\";\nimport { PanelSubhead } from \"./headers\";\n\nconst h = hyper.styled(styles);\n\nfunction ExpansionPanelSummary(props) {\n const { expanded, children, onChange, className, title, titleComponent } =\n props;\n const icon = expanded ? \"chevron-up\" : \"chevron-down\";\n return h(\n PanelSubhead,\n {\n className: classNames(\"expansion-panel-header\", className),\n onClick: onChange,\n title,\n component: titleComponent,\n },\n [children, h(Icon, { icon, className: \"expansion-panel-icon\" })],\n );\n}\n\nfunction ExpansionPanelBase(props) {\n let {\n title,\n titleComponent = \"h3\",\n children,\n expanded,\n helpText,\n onChange = () => {},\n sideComponent = null,\n className,\n } = props;\n const [isOpen, setOpen] = useState(expanded || false);\n\n const onChange_ = () => {\n onChange();\n setOpen(!isOpen);\n };\n\n return h(\n \"div.expansion-panel-base\",\n {\n className: classNames(className, {\n expanded: isOpen,\n collapsed: !isOpen,\n }),\n },\n [\n h(\n ExpansionPanelSummary,\n {\n onChange: onChange_,\n expanded: isOpen,\n title,\n titleComponent,\n },\n h(\"div.expansion-summary-title-help\", [\n h(\"span.expansion-panel-subtext\", helpText),\n \" \",\n sideComponent,\n ]),\n ),\n h(Collapse, { isOpen }, h(\"div.expansion-children\", null, children)),\n ],\n );\n}\n\nexport function InfoPanelSection(props) {\n let { title, children, className, headerElement = null } = props;\n return h(\"div.info-panel-section\", { className }, [\n h(\"div.panel-subhead\", null, headerElement ?? h(\"h3\", title)),\n h(\"div.panel-content\", null, children),\n ]);\n}\n\nfunction ExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel\",\n });\n}\n\nfunction SubExpansionPanel(props) {\n return h(ExpansionPanelBase, {\n ...props,\n className: \"expansion-panel sub-expansion-panel\",\n titleComponent: \"h4\",\n });\n}\n\nfunction ExpandableDetailsPanel(props) {\n let { title, children, value, headerElement, className } = props;\n const [isOpen, setIsOpen] = useState(false);\n headerElement ??= h([h(\"div.title\", title), value]);\n return h(\"div.expandable-details\", { className }, [\n h(\"div.expandable-details-main\", [\n h(\"div.expandable-details-header\", headerElement),\n h(\"div.expandable-details-toggle\", [\n h(Button, {\n small: true,\n minimal: true,\n active: isOpen,\n onClick: () => setIsOpen(!isOpen),\n icon: \"more\",\n }),\n ]),\n ]),\n h(\n Collapse,\n { isOpen },\n h(\"div.expandable-details-children\", null, children),\n ),\n ]);\n}\n\nfunction ExpansionBody({ title, className, children }) {\n return h(\"div.expansion-body\", { className }, [\n h(\"div.expansion-panel-detail-header\", title),\n h(\"div.expansion-panel-detail-body\", null, children),\n ]);\n}\n\nexport {\n ExpansionPanel,\n ExpansionPanelSummary,\n ExpandableDetailsPanel,\n SubExpansionPanel,\n ExpansionBody,\n PanelSubhead,\n};\n"],"names":["hyper","styles"],"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 title = "_title_1phba_23";
4
7
  const styles = {
5
8
  "panel-subhead": "_panel-subhead_1phba_1",
@@ -22,6 +25,8 @@ const styles = {
22
25
  "expansion-panel-detail-header": "_expansion-panel-detail-header_1phba_160",
23
26
  "expansion-panel-detail-body": "_expansion-panel-detail-body_1phba_171"
24
27
  };
25
- exports.default = styles;
28
+ let h = h__default.default.styled(styles);
29
+ Object.assign(h, styles);
30
+ exports.default = h;
26
31
  exports.title = title;
27
32
  //# 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 title = "_title_1phba_23";
2
3
  const styles = {
3
4
  "panel-subhead": "_panel-subhead_1phba_1",
@@ -20,8 +21,10 @@ const styles = {
20
21
  "expansion-panel-detail-header": "_expansion-panel-detail-header_1phba_160",
21
22
  "expansion-panel-detail-body": "_expansion-panel-detail-body_1phba_171"
22
23
  };
24
+ let h = h$1.styled(styles);
25
+ Object.assign(h, styles);
23
26
  export {
24
- styles as default,
27
+ h as default,
25
28
  title
26
29
  };
27
30
  //# sourceMappingURL=main.module.sass.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/helpers.cjs CHANGED
@@ -7,6 +7,8 @@ const useResizeObserver = require("use-resize-observer");
7
7
  const mapboxUtils = require("@macrostrat/mapbox-utils");
8
8
  const utils = require("./utils.cjs");
9
9
  const uiComponents = require("@macrostrat/ui-components");
10
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
11
+ const useResizeObserver__default = /* @__PURE__ */ _interopDefault(useResizeObserver);
10
12
  function MapResizeManager({ containerRef }) {
11
13
  const mapRef = mapboxReact.useMapRef();
12
14
  const debouncedResize = React.useRef(
@@ -14,7 +16,7 @@ function MapResizeManager({ containerRef }) {
14
16
  mapRef.current?.resize();
15
17
  }, 100)
16
18
  );
17
- useResizeObserver({
19
+ useResizeObserver__default.default({
18
20
  ref: containerRef,
19
21
  onResize: debouncedResize.current
20
22
  });
@@ -43,7 +45,7 @@ function MapPaddingManager({
43
45
  if (map == null) return;
44
46
  updateMapPadding();
45
47
  }, [mapRef.current]);
46
- useResizeObserver({
48
+ useResizeObserver__default.default({
47
49
  ref: parentRef,
48
50
  onResize(sz) {
49
51
  updateMapPadding();
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.cjs","sources":["../src/helpers.ts"],"sourcesContent":["import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n //let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n //if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n //didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!map.loaded()) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":["useMapRef","useRef","debounce","useState","getMapPadding","useCallback","useMemo","useEffect","useMapEaseTo","useMapDispatch","useMapInitialized","getMapPosition","mapIsLoading","useMapMarker","useInDarkMode"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.cjs","sources":["../src/helpers.ts"],"sourcesContent":["import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n //let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n //if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n //didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!map.loaded()) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":["useMapRef","useRef","debounce","useResizeObserver","useState","getMapPadding","useCallback","useMemo","useEffect","useMapEaseTo","useMapDispatch","useMapInitialized","getMapPosition","mapIsLoading","useMapMarker","useInDarkMode"],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
2
  const React = require("react");
4
3
  const core = require("@blueprintjs/core");
5
4
  const h$1 = require("@macrostrat/hyper");
6
5
  const main_module = require("./main.module.sass.cjs");
7
6
  const fossils = require("../utils/fossils.cjs");
8
- const h = h$1.styled(main_module.default);
7
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
+ const React__default = /* @__PURE__ */ _interopDefault(React);
9
+ const h__default = /* @__PURE__ */ _interopDefault(h$1);
10
+ const h = h__default.default.styled(main_module);
9
11
  function PBDBCollections({ data }) {
10
12
  if (data == null) return null;
11
13
  return h(
@@ -17,13 +19,13 @@ function FossilCollection({ col }) {
17
19
  let occurrenceTree = fossils.makeOccurrenceTree(col.occurrences);
18
20
  return h(
19
21
  "div.fossil-collection",
20
- /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Header, { col }), /* @__PURE__ */ React.createElement(core.Tabs, null, /* @__PURE__ */ React.createElement(core.Tab, { title: "Info", panel: /* @__PURE__ */ React.createElement(InfoPanel, { col }), id: "info" }), /* @__PURE__ */ React.createElement(
22
+ /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(Header, { col }), /* @__PURE__ */ React__default.default.createElement(core.Tabs, null, /* @__PURE__ */ React__default.default.createElement(core.Tab, { title: "Info", panel: /* @__PURE__ */ React__default.default.createElement(InfoPanel, { col }), id: "info" }), /* @__PURE__ */ React__default.default.createElement(
21
23
  core.Tab,
22
24
  {
23
25
  id: "occ",
24
26
  title: `Occurrences (${col.occurrences.length})`,
25
27
  disabled: col.occurrences.length == 0,
26
- panel: /* @__PURE__ */ React.createElement(OccurencesPanel, { occurrenceTree })
28
+ panel: /* @__PURE__ */ React__default.default.createElement(OccurencesPanel, { occurrenceTree })
27
29
  }
28
30
  )))
29
31
  );
@@ -50,19 +52,19 @@ function Header({ col }) {
50
52
  }
51
53
  function InfoPanel(props) {
52
54
  const { col } = props;
53
- return /* @__PURE__ */ React.createElement("div", null, col.oei && /* @__PURE__ */ React.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Age: "), " ", col.oei, " (", col.lag, " - ", col.lag, /* @__PURE__ */ React.createElement("span", { className: "age-chip-ma" }, "Ma"), ")"), col.sgr && /* @__PURE__ */ React.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Group: "), " ", col.sgr), col.sfm && /* @__PURE__ */ React.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Formation: "), " ", col.sfm), col.lt1 && /* @__PURE__ */ React.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Lithology: "), " ", col.la1 ? col.la1 : "", " ", col.lf1 ? col.lf1 : "", " ", col.lt1.replace('"', ""), " ", col.lt2 ? ", " : "", col.la2 ? col.la2 : "", " ", col.lf2 ? col.lf2 : "", " ", col.lt2), col.env && /* @__PURE__ */ React.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Environment: "), " ", col.env), col.ref && /* @__PURE__ */ React.createElement("div", { className: "reference map-source-attr" }, /* @__PURE__ */ React.createElement("span", { className: "attr" }, "Reference: "), " ", /* @__PURE__ */ React.createElement("span", { dangerouslySetInnerHTML: { __html: col.ref } })));
55
+ return /* @__PURE__ */ React__default.default.createElement("div", null, col.oei && /* @__PURE__ */ React__default.default.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Age: "), " ", col.oei, " (", col.lag, " - ", col.lag, /* @__PURE__ */ React__default.default.createElement("span", { className: "age-chip-ma" }, "Ma"), ")"), col.sgr && /* @__PURE__ */ React__default.default.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Group: "), " ", col.sgr), col.sfm && /* @__PURE__ */ React__default.default.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Formation: "), " ", col.sfm), col.lt1 && /* @__PURE__ */ React__default.default.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Lithology: "), " ", col.la1 ? col.la1 : "", " ", col.lf1 ? col.lf1 : "", " ", col.lt1.replace('"', ""), " ", col.lt2 ? ", " : "", col.la2 ? col.la2 : "", " ", col.lf2 ? col.lf2 : "", " ", col.lt2), col.env && /* @__PURE__ */ React__default.default.createElement("div", { className: "map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Environment: "), " ", col.env), col.ref && /* @__PURE__ */ React__default.default.createElement("div", { className: "reference map-source-attr" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "attr" }, "Reference: "), " ", /* @__PURE__ */ React__default.default.createElement("span", { dangerouslySetInnerHTML: { __html: col.ref } })));
54
56
  }
55
57
  function OccurencesPanel(props) {
56
58
  const { occurrenceTree } = props;
57
- return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("ul", { className: "taxon-list phylum-list" }, occurrenceTree.phyla.map((phylum, pidx) => {
58
- return /* @__PURE__ */ React.createElement("div", { key: pidx, className: "phyla" }, /* @__PURE__ */ React.createElement("li", null, phylum.phylum), /* @__PURE__ */ React.createElement("ul", { className: "taxon-list" }, phylum.classes.map((cls, clsidx) => {
59
- return /* @__PURE__ */ React.createElement("div", { key: clsidx, className: "classes" }, /* @__PURE__ */ React.createElement("li", null, cls.nameClass), /* @__PURE__ */ React.createElement("ul", { className: "taxon-list" }, cls.families.map((family, familyidx) => {
60
- return /* @__PURE__ */ React.createElement("div", { key: familyidx, className: "families" }, /* @__PURE__ */ React.createElement("li", null, family.family), /* @__PURE__ */ React.createElement("ul", { className: "taxon-list genera" }, family.genera.map((genus, genusidx) => {
61
- return /* @__PURE__ */ React.createElement("li", { key: genusidx }, genus.old_name ? '"' + genus.old_name + '" - ' : "", genus.genusRes ? genus.genusRes : " ", genus.display_name1, /* @__PURE__ */ React.createElement("i", null, genus.display_name2 ? genus.display_name2 : "", genus.display_name3 ? genus.display_name3 : ""));
59
+ return /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("ul", { className: "taxon-list phylum-list" }, occurrenceTree.phyla.map((phylum, pidx) => {
60
+ return /* @__PURE__ */ React__default.default.createElement("div", { key: pidx, className: "phyla" }, /* @__PURE__ */ React__default.default.createElement("li", null, phylum.phylum), /* @__PURE__ */ React__default.default.createElement("ul", { className: "taxon-list" }, phylum.classes.map((cls, clsidx) => {
61
+ return /* @__PURE__ */ React__default.default.createElement("div", { key: clsidx, className: "classes" }, /* @__PURE__ */ React__default.default.createElement("li", null, cls.nameClass), /* @__PURE__ */ React__default.default.createElement("ul", { className: "taxon-list" }, cls.families.map((family, familyidx) => {
62
+ return /* @__PURE__ */ React__default.default.createElement("div", { key: familyidx, className: "families" }, /* @__PURE__ */ React__default.default.createElement("li", null, family.family), /* @__PURE__ */ React__default.default.createElement("ul", { className: "taxon-list genera" }, family.genera.map((genus, genusidx) => {
63
+ return /* @__PURE__ */ React__default.default.createElement("li", { key: genusidx }, genus.old_name ? '"' + genus.old_name + '" - ' : "", genus.genusRes ? genus.genusRes : " ", genus.display_name1, /* @__PURE__ */ React__default.default.createElement("i", null, genus.display_name2 ? genus.display_name2 : "", genus.display_name3 ? genus.display_name3 : ""));
62
64
  })));
63
65
  })));
64
66
  })));
65
67
  })));
66
68
  }
67
- exports.default = PBDBCollections;
69
+ module.exports = PBDBCollections;
68
70
  //# sourceMappingURL=collections.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.cjs","sources":["../../../src/location-details/fossil-collections/collections.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tabs, Tab } from \"@blueprintjs/core\";\nimport { makeOccurrenceTree } from \"../utils\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nconst h = hyper.styled(styles);\n\nexport default function PBDBCollections({ data }) {\n if (data == null) return null;\n return h(\n \"div.collections\",\n data.map((col, ix) => h(FossilCollection, { key: ix, col })),\n );\n}\n\nfunction FossilCollection({ col }) {\n let occurrenceTree = makeOccurrenceTree(col.occurrences);\n return h(\n \"div.fossil-collection\",\n <>\n <Header col={col} />\n <Tabs>\n <Tab title=\"Info\" panel={<InfoPanel col={col} />} id=\"info\" />\n <Tab\n id=\"occ\"\n title={`Occurrences (${col.occurrences.length})`}\n disabled={col.occurrences.length == 0}\n panel={<OccurencesPanel occurrenceTree={occurrenceTree} />}\n />\n </Tabs>\n </>,\n );\n}\n\nfunction CollectionNumber({ col }) {\n const num = col.oid.replace(\"col:\", \"\");\n return h(\"div.collection-number\", [\n h(\"span.collection-number-prefix\", \"#\"),\n h(\n \"a\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${num}`,\n target: \"_blank\",\n },\n num,\n ),\n ]);\n}\n\nfunction Header({ col }) {\n return h(\"div.pbdb-panel-header\", [\n h.if(col.nam)(\"h4\", {}, col.nam),\n h.if(col.oid)(CollectionNumber, { col }),\n ]);\n}\n\nfunction InfoPanel(props) {\n const { col } = props;\n\n return (\n <div>\n {col.oei && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Age: </span> {col.oei} ({col.lag} - {col.lag}\n <span className=\"age-chip-ma\">Ma</span>)\n </div>\n )}\n {col.sgr && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Group: </span> {col.sgr}\n </div>\n )}\n {col.sfm && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Formation: </span> {col.sfm}\n </div>\n )}\n {col.lt1 && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Lithology: </span> {col.la1 ? col.la1 : \"\"}{\" \"}\n {col.lf1 ? col.lf1 : \"\"} {col.lt1.replace('\"', \"\")}{\" \"}\n {col.lt2 ? \", \" : \"\"}\n {col.la2 ? col.la2 : \"\"} {col.lf2 ? col.lf2 : \"\"} {col.lt2}\n </div>\n )}\n {col.env && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Environment: </span> {col.env}\n </div>\n )}\n {col.ref && (\n <div className=\"reference map-source-attr\">\n <span className=\"attr\">Reference: </span>{\" \"}\n <span dangerouslySetInnerHTML={{ __html: col.ref }}></span>\n </div>\n )}\n </div>\n );\n}\n\nfunction OccurencesPanel(props) {\n const { occurrenceTree } = props;\n\n return (\n <div>\n <ul className=\"taxon-list phylum-list\">\n {occurrenceTree.phyla.map((phylum, pidx) => {\n return (\n <div key={pidx} className=\"phyla\">\n <li>{phylum.phylum}</li>\n <ul className=\"taxon-list\">\n {phylum.classes.map((cls, clsidx) => {\n return (\n <div key={clsidx} className=\"classes\">\n <li>{cls.nameClass}</li>\n <ul className=\"taxon-list\">\n {cls.families.map((family, familyidx) => {\n return (\n <div key={familyidx} className=\"families\">\n <li>{family.family}</li>\n <ul className=\"taxon-list genera\">\n {family.genera.map((genus, genusidx) => {\n return (\n <li key={genusidx}>\n {genus.old_name\n ? '\"' + genus.old_name + '\" - '\n : \"\"}\n {genus.genusRes ? genus.genusRes : \" \"}\n {genus.display_name1}\n <i>\n {genus.display_name2\n ? genus.display_name2\n : \"\"}\n {genus.display_name3\n ? genus.display_name3\n : \"\"}\n </i>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["hyper","styles","makeOccurrenceTree","Tabs","Tab"],"mappings":"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"}
1
+ {"version":3,"file":"collections.cjs","sources":["../../../src/location-details/fossil-collections/collections.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tabs, Tab } from \"@blueprintjs/core\";\nimport { makeOccurrenceTree } from \"../utils\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nconst h = hyper.styled(styles);\n\nexport default function PBDBCollections({ data }) {\n if (data == null) return null;\n return h(\n \"div.collections\",\n data.map((col, ix) => h(FossilCollection, { key: ix, col })),\n );\n}\n\nfunction FossilCollection({ col }) {\n let occurrenceTree = makeOccurrenceTree(col.occurrences);\n return h(\n \"div.fossil-collection\",\n <>\n <Header col={col} />\n <Tabs>\n <Tab title=\"Info\" panel={<InfoPanel col={col} />} id=\"info\" />\n <Tab\n id=\"occ\"\n title={`Occurrences (${col.occurrences.length})`}\n disabled={col.occurrences.length == 0}\n panel={<OccurencesPanel occurrenceTree={occurrenceTree} />}\n />\n </Tabs>\n </>,\n );\n}\n\nfunction CollectionNumber({ col }) {\n const num = col.oid.replace(\"col:\", \"\");\n return h(\"div.collection-number\", [\n h(\"span.collection-number-prefix\", \"#\"),\n h(\n \"a\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${num}`,\n target: \"_blank\",\n },\n num,\n ),\n ]);\n}\n\nfunction Header({ col }) {\n return h(\"div.pbdb-panel-header\", [\n h.if(col.nam)(\"h4\", {}, col.nam),\n h.if(col.oid)(CollectionNumber, { col }),\n ]);\n}\n\nfunction InfoPanel(props) {\n const { col } = props;\n\n return (\n <div>\n {col.oei && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Age: </span> {col.oei} ({col.lag} - {col.lag}\n <span className=\"age-chip-ma\">Ma</span>)\n </div>\n )}\n {col.sgr && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Group: </span> {col.sgr}\n </div>\n )}\n {col.sfm && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Formation: </span> {col.sfm}\n </div>\n )}\n {col.lt1 && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Lithology: </span> {col.la1 ? col.la1 : \"\"}{\" \"}\n {col.lf1 ? col.lf1 : \"\"} {col.lt1.replace('\"', \"\")}{\" \"}\n {col.lt2 ? \", \" : \"\"}\n {col.la2 ? col.la2 : \"\"} {col.lf2 ? col.lf2 : \"\"} {col.lt2}\n </div>\n )}\n {col.env && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Environment: </span> {col.env}\n </div>\n )}\n {col.ref && (\n <div className=\"reference map-source-attr\">\n <span className=\"attr\">Reference: </span>{\" \"}\n <span dangerouslySetInnerHTML={{ __html: col.ref }}></span>\n </div>\n )}\n </div>\n );\n}\n\nfunction OccurencesPanel(props) {\n const { occurrenceTree } = props;\n\n return (\n <div>\n <ul className=\"taxon-list phylum-list\">\n {occurrenceTree.phyla.map((phylum, pidx) => {\n return (\n <div key={pidx} className=\"phyla\">\n <li>{phylum.phylum}</li>\n <ul className=\"taxon-list\">\n {phylum.classes.map((cls, clsidx) => {\n return (\n <div key={clsidx} className=\"classes\">\n <li>{cls.nameClass}</li>\n <ul className=\"taxon-list\">\n {cls.families.map((family, familyidx) => {\n return (\n <div key={familyidx} className=\"families\">\n <li>{family.family}</li>\n <ul className=\"taxon-list genera\">\n {family.genera.map((genus, genusidx) => {\n return (\n <li key={genusidx}>\n {genus.old_name\n ? '\"' + genus.old_name + '\" - '\n : \"\"}\n {genus.genusRes ? genus.genusRes : \" \"}\n {genus.display_name1}\n <i>\n {genus.display_name2\n ? genus.display_name2\n : \"\"}\n {genus.display_name3\n ? genus.display_name3\n : \"\"}\n </i>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["hyper","styles","makeOccurrenceTree","React","Tabs","Tab"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { Tabs, Tab } from "@blueprintjs/core";
3
3
  import h$1 from "@macrostrat/hyper";
4
- import styles from "./main.module.sass.js";
4
+ import h$2 from "./main.module.sass.js";
5
5
  import { makeOccurrenceTree } from "../utils/fossils.js";
6
- const h = h$1.styled(styles);
6
+ const h = h$1.styled(h$2);
7
7
  function PBDBCollections({ data }) {
8
8
  if (data == null) return null;
9
9
  return h(
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sources":["../../../src/location-details/fossil-collections/collections.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tabs, Tab } from \"@blueprintjs/core\";\nimport { makeOccurrenceTree } from \"../utils\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nconst h = hyper.styled(styles);\n\nexport default function PBDBCollections({ data }) {\n if (data == null) return null;\n return h(\n \"div.collections\",\n data.map((col, ix) => h(FossilCollection, { key: ix, col })),\n );\n}\n\nfunction FossilCollection({ col }) {\n let occurrenceTree = makeOccurrenceTree(col.occurrences);\n return h(\n \"div.fossil-collection\",\n <>\n <Header col={col} />\n <Tabs>\n <Tab title=\"Info\" panel={<InfoPanel col={col} />} id=\"info\" />\n <Tab\n id=\"occ\"\n title={`Occurrences (${col.occurrences.length})`}\n disabled={col.occurrences.length == 0}\n panel={<OccurencesPanel occurrenceTree={occurrenceTree} />}\n />\n </Tabs>\n </>,\n );\n}\n\nfunction CollectionNumber({ col }) {\n const num = col.oid.replace(\"col:\", \"\");\n return h(\"div.collection-number\", [\n h(\"span.collection-number-prefix\", \"#\"),\n h(\n \"a\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${num}`,\n target: \"_blank\",\n },\n num,\n ),\n ]);\n}\n\nfunction Header({ col }) {\n return h(\"div.pbdb-panel-header\", [\n h.if(col.nam)(\"h4\", {}, col.nam),\n h.if(col.oid)(CollectionNumber, { col }),\n ]);\n}\n\nfunction InfoPanel(props) {\n const { col } = props;\n\n return (\n <div>\n {col.oei && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Age: </span> {col.oei} ({col.lag} - {col.lag}\n <span className=\"age-chip-ma\">Ma</span>)\n </div>\n )}\n {col.sgr && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Group: </span> {col.sgr}\n </div>\n )}\n {col.sfm && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Formation: </span> {col.sfm}\n </div>\n )}\n {col.lt1 && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Lithology: </span> {col.la1 ? col.la1 : \"\"}{\" \"}\n {col.lf1 ? col.lf1 : \"\"} {col.lt1.replace('\"', \"\")}{\" \"}\n {col.lt2 ? \", \" : \"\"}\n {col.la2 ? col.la2 : \"\"} {col.lf2 ? col.lf2 : \"\"} {col.lt2}\n </div>\n )}\n {col.env && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Environment: </span> {col.env}\n </div>\n )}\n {col.ref && (\n <div className=\"reference map-source-attr\">\n <span className=\"attr\">Reference: </span>{\" \"}\n <span dangerouslySetInnerHTML={{ __html: col.ref }}></span>\n </div>\n )}\n </div>\n );\n}\n\nfunction OccurencesPanel(props) {\n const { occurrenceTree } = props;\n\n return (\n <div>\n <ul className=\"taxon-list phylum-list\">\n {occurrenceTree.phyla.map((phylum, pidx) => {\n return (\n <div key={pidx} className=\"phyla\">\n <li>{phylum.phylum}</li>\n <ul className=\"taxon-list\">\n {phylum.classes.map((cls, clsidx) => {\n return (\n <div key={clsidx} className=\"classes\">\n <li>{cls.nameClass}</li>\n <ul className=\"taxon-list\">\n {cls.families.map((family, familyidx) => {\n return (\n <div key={familyidx} className=\"families\">\n <li>{family.family}</li>\n <ul className=\"taxon-list genera\">\n {family.genera.map((genus, genusidx) => {\n return (\n <li key={genusidx}>\n {genus.old_name\n ? '\"' + genus.old_name + '\" - '\n : \"\"}\n {genus.genusRes ? genus.genusRes : \" \"}\n {genus.display_name1}\n <i>\n {genus.display_name2\n ? genus.display_name2\n : \"\"}\n {genus.display_name3\n ? genus.display_name3\n : \"\"}\n </i>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["hyper"],"mappings":"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"}
1
+ {"version":3,"file":"collections.js","sources":["../../../src/location-details/fossil-collections/collections.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tabs, Tab } from \"@blueprintjs/core\";\nimport { makeOccurrenceTree } from \"../utils\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nconst h = hyper.styled(styles);\n\nexport default function PBDBCollections({ data }) {\n if (data == null) return null;\n return h(\n \"div.collections\",\n data.map((col, ix) => h(FossilCollection, { key: ix, col })),\n );\n}\n\nfunction FossilCollection({ col }) {\n let occurrenceTree = makeOccurrenceTree(col.occurrences);\n return h(\n \"div.fossil-collection\",\n <>\n <Header col={col} />\n <Tabs>\n <Tab title=\"Info\" panel={<InfoPanel col={col} />} id=\"info\" />\n <Tab\n id=\"occ\"\n title={`Occurrences (${col.occurrences.length})`}\n disabled={col.occurrences.length == 0}\n panel={<OccurencesPanel occurrenceTree={occurrenceTree} />}\n />\n </Tabs>\n </>,\n );\n}\n\nfunction CollectionNumber({ col }) {\n const num = col.oid.replace(\"col:\", \"\");\n return h(\"div.collection-number\", [\n h(\"span.collection-number-prefix\", \"#\"),\n h(\n \"a\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${num}`,\n target: \"_blank\",\n },\n num,\n ),\n ]);\n}\n\nfunction Header({ col }) {\n return h(\"div.pbdb-panel-header\", [\n h.if(col.nam)(\"h4\", {}, col.nam),\n h.if(col.oid)(CollectionNumber, { col }),\n ]);\n}\n\nfunction InfoPanel(props) {\n const { col } = props;\n\n return (\n <div>\n {col.oei && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Age: </span> {col.oei} ({col.lag} - {col.lag}\n <span className=\"age-chip-ma\">Ma</span>)\n </div>\n )}\n {col.sgr && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Group: </span> {col.sgr}\n </div>\n )}\n {col.sfm && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Formation: </span> {col.sfm}\n </div>\n )}\n {col.lt1 && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Lithology: </span> {col.la1 ? col.la1 : \"\"}{\" \"}\n {col.lf1 ? col.lf1 : \"\"} {col.lt1.replace('\"', \"\")}{\" \"}\n {col.lt2 ? \", \" : \"\"}\n {col.la2 ? col.la2 : \"\"} {col.lf2 ? col.lf2 : \"\"} {col.lt2}\n </div>\n )}\n {col.env && (\n <div className=\"map-source-attr\">\n <span className=\"attr\">Environment: </span> {col.env}\n </div>\n )}\n {col.ref && (\n <div className=\"reference map-source-attr\">\n <span className=\"attr\">Reference: </span>{\" \"}\n <span dangerouslySetInnerHTML={{ __html: col.ref }}></span>\n </div>\n )}\n </div>\n );\n}\n\nfunction OccurencesPanel(props) {\n const { occurrenceTree } = props;\n\n return (\n <div>\n <ul className=\"taxon-list phylum-list\">\n {occurrenceTree.phyla.map((phylum, pidx) => {\n return (\n <div key={pidx} className=\"phyla\">\n <li>{phylum.phylum}</li>\n <ul className=\"taxon-list\">\n {phylum.classes.map((cls, clsidx) => {\n return (\n <div key={clsidx} className=\"classes\">\n <li>{cls.nameClass}</li>\n <ul className=\"taxon-list\">\n {cls.families.map((family, familyidx) => {\n return (\n <div key={familyidx} className=\"families\">\n <li>{family.family}</li>\n <ul className=\"taxon-list genera\">\n {family.genera.map((genus, genusidx) => {\n return (\n <li key={genusidx}>\n {genus.old_name\n ? '\"' + genus.old_name + '\" - '\n : \"\"}\n {genus.genusRes ? genus.genusRes : \" \"}\n {genus.display_name1}\n <i>\n {genus.display_name2\n ? genus.display_name2\n : \"\"}\n {genus.display_name3\n ? genus.display_name3\n : \"\"}\n </i>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["hyper","styles"],"mappings":"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"}
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const h = require("@macrostrat/hyper");
4
4
  const collections = require("./collections.cjs");
5
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
+ const h__default = /* @__PURE__ */ _interopDefault(h);
5
7
  function FossilCollections(props) {
6
8
  const { data, expanded = false } = props;
7
9
  if (!data || data.length <= 0) {
8
10
  return null;
9
11
  }
10
- return h(collections.default, { data });
12
+ return h__default.default(collections, { data });
11
13
  }
12
14
  exports.FossilCollections = FossilCollections;
13
15
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/location-details/fossil-collections/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport PBDBCollections from \"./collections\";\n\nexport function FossilCollections(props) {\n const { data, expanded = false } = props;\n\n if (!data || data.length <= 0) {\n return null;\n }\n return h(PBDBCollections, { data });\n}\n"],"names":["PBDBCollections"],"mappings":";;;;AAGO,SAAS,kBAAkB,OAAO;AACvC,QAAM,EAAE,MAAM,WAAW,MAAA,IAAU;AAEnC,MAAI,CAAC,QAAQ,KAAK,UAAU,GAAG;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,EAAEA,YAAAA,SAAiB,EAAE,MAAM;AACpC;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/location-details/fossil-collections/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport PBDBCollections from \"./collections\";\n\nexport function FossilCollections(props) {\n const { data, expanded = false } = props;\n\n if (!data || data.length <= 0) {\n return null;\n }\n return h(PBDBCollections, { data });\n}\n"],"names":["h","PBDBCollections"],"mappings":";;;;;;AAGO,SAAS,kBAAkB,OAAO;AACvC,QAAM,EAAE,MAAM,WAAW,MAAA,IAAU;AAEnC,MAAI,CAAC,QAAQ,KAAK,UAAU,GAAG;AAC7B,WAAO;AAAA,EACT;AACA,SAAOA,mBAAEC,aAAiB,EAAE,MAAM;AACpC;;"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ const h$1 = require("@macrostrat/hyper");
3
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
+ const h__default = /* @__PURE__ */ _interopDefault(h$1);
3
5
  const styles = {
4
6
  "pbdb-panel-header": "_pbdb-panel-header_i4zn4_1",
5
7
  "fossil-collection": "_fossil-collection_i4zn4_14"
6
8
  };
7
- exports.default = styles;
9
+ let h = h__default.default.styled(styles);
10
+ Object.assign(h, styles);
11
+ module.exports = h;
8
12
  //# 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,8 +1,11 @@
1
+ import h$1 from "@macrostrat/hyper";
1
2
  const styles = {
2
3
  "pbdb-panel-header": "_pbdb-panel-header_i4zn4_1",
3
4
  "fossil-collection": "_fossil-collection_i4zn4_14"
4
5
  };
6
+ let h = h$1.styled(styles);
7
+ Object.assign(h, styles);
5
8
  export {
6
- styles as default
9
+ h as default
7
10
  };
8
11
  //# sourceMappingURL=main.module.sass.js.map
@@ -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":";;;;;;;"}