@macrostrat/map-interface 1.2.4 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/{context-panel.3061a63e.js → map-interface.0e252a74.js} +3 -3
- package/dist/cjs/map-interface.0e252a74.js.map +1 -0
- package/dist/cjs/{tile-extent.06a4b2ed.js → map-interface.175c4635.js} +1 -1
- package/dist/cjs/{tile-extent.06a4b2ed.js.map → map-interface.175c4635.js.map} +1 -1
- package/dist/cjs/{map-page.1e1970d8.js → map-interface.17e81e8a.js} +14 -13
- package/dist/cjs/map-interface.17e81e8a.js.map +1 -0
- package/dist/cjs/{main.module.13eb33f8.css → map-interface.1b386e07.css} +1 -1
- package/dist/cjs/{main.module.13eb33f8.css.map → map-interface.1b386e07.css.map} +1 -1
- package/dist/cjs/{header.af864bde.js → map-interface.1d19056e.js} +4 -4
- package/dist/cjs/map-interface.1d19056e.js.map +1 -0
- package/dist/cjs/{main.module.becc2fe7.css → map-interface.26497065.css} +1 -1
- package/dist/cjs/{main.module.becc2fe7.css.map → map-interface.26497065.css.map} +1 -1
- package/dist/cjs/{main.module.a3a78b0d.js → map-interface.31742bd3.js} +1 -1
- package/dist/cjs/{main.module.a3a78b0d.js.map → map-interface.31742bd3.js.map} +1 -1
- package/dist/cjs/{expansion-panel.ef757efe.js → map-interface.354aaa39.js} +4 -4
- package/dist/cjs/map-interface.354aaa39.js.map +1 -0
- package/dist/cjs/{location-panel.e33becf0.js → map-interface.3934d6d6.js} +5 -5
- package/dist/cjs/{location-panel.e33becf0.js.map → map-interface.3934d6d6.js.map} +1 -1
- package/dist/cjs/{main.module.f57e27f2.css → map-interface.4a401c1f.css} +16 -5
- package/dist/cjs/map-interface.4a401c1f.css.map +1 -0
- package/dist/cjs/{xray.a23f8660.js → map-interface.4c5addca.js} +2 -2
- package/dist/cjs/map-interface.4c5addca.js.map +1 -0
- package/dist/cjs/{helpers.0f72ddaf.js → map-interface.5813e876.js} +22 -4
- package/dist/cjs/map-interface.5813e876.js.map +1 -0
- package/dist/cjs/{dev.e6613cda.js → map-interface.5cea0ff4.js} +5 -5
- package/dist/cjs/{dev.e6613cda.js.map → map-interface.5cea0ff4.js.map} +1 -1
- package/dist/cjs/{location-info.92e70042.js → map-interface.64823b7c.js} +15 -5
- package/dist/cjs/map-interface.64823b7c.js.map +1 -0
- package/dist/cjs/{main.module.e958948e.js → map-interface.70458f75.js} +1 -1
- package/dist/cjs/{main.module.e958948e.js.map → map-interface.70458f75.js.map} +1 -1
- package/dist/cjs/{headers.d9f3e324.js → map-interface.7509f2c1.js} +3 -3
- package/dist/cjs/{headers.d9f3e324.js.map → map-interface.7509f2c1.js.map} +1 -1
- package/dist/cjs/{hash-string.62e84f08.js → map-interface.860fcb7e.js} +2 -2
- package/dist/cjs/map-interface.860fcb7e.js.map +1 -0
- package/dist/cjs/{controls.5fcf8a91.js → map-interface.99a048dc.js} +3 -3
- package/dist/cjs/{controls.5fcf8a91.js.map → map-interface.99a048dc.js.map} +1 -1
- package/dist/cjs/{main.module.62939ea7.js → map-interface.a9fe0f5d.js} +4 -1
- package/dist/cjs/map-interface.a9fe0f5d.js.map +1 -0
- package/dist/cjs/{main.module.ccec47df.js → map-interface.abe5fe65.js} +1 -1
- package/dist/cjs/{main.module.ccec47df.js.map → map-interface.abe5fe65.js.map} +1 -1
- package/dist/cjs/{main.module.338867af.css → map-interface.adb45df9.css} +1 -1
- package/dist/cjs/{main.module.338867af.css.map → map-interface.adb45df9.css.map} +1 -1
- package/dist/cjs/{main.module.e872989b.css → map-interface.ae4c52a6.css} +1 -1
- package/dist/cjs/{main.module.e872989b.css.map → map-interface.ae4c52a6.css.map} +1 -1
- package/dist/cjs/{container.d2e83c46.js → map-interface.bda26b27.js} +4 -4
- package/dist/cjs/{container.d2e83c46.js.map → map-interface.bda26b27.js.map} +1 -1
- package/dist/cjs/{main.module.0bbfa859.js → map-interface.cd485bb4.js} +1 -1
- package/dist/cjs/{main.module.0bbfa859.js.map → map-interface.cd485bb4.js.map} +1 -1
- package/dist/cjs/{utils.09cef979.js → map-interface.dfaad4a1.js} +1 -1
- package/dist/cjs/{utils.09cef979.js.map → map-interface.dfaad4a1.js.map} +1 -1
- package/dist/cjs/{map-view.61e50e18.js → map-interface.e7194f92.js} +67 -37
- package/dist/cjs/map-interface.e7194f92.js.map +1 -0
- package/dist/cjs/{vector-tile-features.77121785.js → map-interface.e9bcd5c0.js} +6 -6
- package/dist/cjs/map-interface.e9bcd5c0.js.map +1 -0
- package/dist/cjs/{utils.26f02633.js → map-interface.ffb109ef.js} +1 -1
- package/dist/cjs/{utils.26f02633.js.map → map-interface.ffb109ef.js.map} +1 -1
- package/dist/esm/index.d.ts +69 -39
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/{map-page.1da2d70c.js → map-interface.00058d23.js} +15 -14
- package/dist/esm/map-interface.00058d23.js.map +1 -0
- package/dist/esm/{main.module.58922c04.js → map-interface.01826888.js} +1 -1
- package/dist/esm/{main.module.58922c04.js.map → map-interface.01826888.js.map} +1 -1
- package/dist/esm/{main.module.f70e002b.js → map-interface.065737fe.js} +4 -1
- package/dist/esm/map-interface.065737fe.js.map +1 -0
- package/dist/esm/{context-panel.5dae1a8c.js → map-interface.0b1aa8f2.js} +4 -4
- package/dist/esm/map-interface.0b1aa8f2.js.map +1 -0
- package/dist/esm/{xray.c0663c25.js → map-interface.1843c708.js} +2 -2
- package/dist/esm/map-interface.1843c708.js.map +1 -0
- package/dist/esm/{headers.32db7784.js → map-interface.1db44824.js} +4 -4
- package/dist/esm/{headers.32db7784.js.map → map-interface.1db44824.js.map} +1 -1
- package/dist/esm/{container.bba0b16c.js → map-interface.27587c50.js} +5 -5
- package/dist/esm/{container.bba0b16c.js.map → map-interface.27587c50.js.map} +1 -1
- package/dist/esm/{utils.d40349f0.js → map-interface.3033c825.js} +1 -1
- package/dist/esm/{utils.d40349f0.js.map → map-interface.3033c825.js.map} +1 -1
- package/dist/esm/{dev.b2d9d35d.js → map-interface.3248abc7.js} +5 -5
- package/dist/esm/{dev.b2d9d35d.js.map → map-interface.3248abc7.js.map} +1 -1
- package/dist/esm/{location-info.5543bb05.js → map-interface.3ef9d0ae.js} +15 -5
- package/dist/esm/map-interface.3ef9d0ae.js.map +1 -0
- package/dist/esm/{expansion-panel.465b822f.js → map-interface.3f07937e.js} +5 -5
- package/dist/esm/map-interface.3f07937e.js.map +1 -0
- package/dist/esm/{helpers.fb1d7227.js → map-interface.45814073.js} +21 -5
- package/dist/esm/map-interface.45814073.js.map +1 -0
- package/dist/esm/{main.module.9c57cc95.js → map-interface.473f1f2b.js} +1 -1
- package/dist/esm/{main.module.9c57cc95.js.map → map-interface.473f1f2b.js.map} +1 -1
- package/dist/esm/{controls.42c750c4.js → map-interface.50edfdfd.js} +4 -4
- package/dist/esm/{controls.42c750c4.js.map → map-interface.50edfdfd.js.map} +1 -1
- package/dist/esm/{vector-tile-features.53b48d66.js → map-interface.786d6e58.js} +7 -7
- package/dist/esm/map-interface.786d6e58.js.map +1 -0
- package/dist/esm/{main.module.5eb366de.js → map-interface.957e414c.js} +1 -1
- package/dist/esm/{main.module.5eb366de.js.map → map-interface.957e414c.js.map} +1 -1
- package/dist/esm/{map-view.1fc6297b.js → map-interface.9ce3d553.js} +71 -41
- package/dist/esm/map-interface.9ce3d553.js.map +1 -0
- package/dist/esm/{utils.122d1f2d.js → map-interface.c4fa120d.js} +1 -1
- package/dist/esm/{utils.122d1f2d.js.map → map-interface.c4fa120d.js.map} +1 -1
- package/dist/esm/{main.module.303f6d99.js → map-interface.c99b53b6.js} +1 -1
- package/dist/esm/{main.module.303f6d99.js.map → map-interface.c99b53b6.js.map} +1 -1
- package/dist/esm/{header.a73b6e0a.js → map-interface.e1493866.js} +5 -5
- package/dist/esm/map-interface.e1493866.js.map +1 -0
- package/dist/esm/{hash-string.836601b2.js → map-interface.e50c290f.js} +2 -2
- package/dist/esm/{hash-string.836601b2.js.map → map-interface.e50c290f.js.map} +1 -1
- package/dist/esm/{location-panel.c620b13b.js → map-interface.e5349e97.js} +6 -6
- package/dist/esm/{location-panel.c620b13b.js.map → map-interface.e5349e97.js.map} +1 -1
- package/dist/esm/{tile-extent.ca526996.js → map-interface.f107347b.js} +1 -1
- package/dist/esm/{tile-extent.ca526996.js.map → map-interface.f107347b.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/map-interface.02dd6884.js +2 -0
- package/dist/node/map-interface.02dd6884.js.map +1 -0
- package/dist/node/{main.module.2d51c752.css → map-interface.07882229.css} +1 -1
- package/dist/node/map-interface.07882229.css.map +1 -0
- package/dist/node/map-interface.10f5ef81.js +2 -0
- package/dist/node/map-interface.10f5ef81.js.map +1 -0
- package/dist/node/map-interface.1a5eecac.js +2 -0
- package/dist/node/map-interface.1a5eecac.js.map +1 -0
- package/dist/node/{main.module.8a9943af.css → map-interface.1be49df8.css} +1 -1
- package/dist/node/map-interface.1be49df8.css.map +1 -0
- package/dist/node/map-interface.20c346ba.js +2 -0
- package/dist/node/map-interface.20c346ba.js.map +1 -0
- package/dist/node/map-interface.2d12b35c.js +2 -0
- package/dist/node/map-interface.2d12b35c.js.map +1 -0
- package/dist/node/map-interface.3ea55e0c.js +2 -0
- package/dist/node/map-interface.3ea55e0c.js.map +1 -0
- package/dist/node/map-interface.42a4b05a.js +2 -0
- package/dist/node/map-interface.42a4b05a.js.map +1 -0
- package/dist/node/{main.module.29a15f3d.css → map-interface.42ef081d.css} +1 -1
- package/dist/node/map-interface.42ef081d.css.map +1 -0
- package/dist/node/map-interface.44d3f3bf.js +2 -0
- package/dist/node/map-interface.44d3f3bf.js.map +1 -0
- package/dist/node/map-interface.47b81f95.js +2 -0
- package/dist/node/map-interface.47b81f95.js.map +1 -0
- package/dist/node/map-interface.62b147ce.js +2 -0
- package/dist/node/map-interface.62b147ce.js.map +1 -0
- package/dist/node/map-interface.713361a4.js +2 -0
- package/dist/node/map-interface.713361a4.js.map +1 -0
- package/dist/node/map-interface.722387fb.js +2 -0
- package/dist/node/map-interface.722387fb.js.map +1 -0
- package/dist/node/map-interface.83fa8028.js +2 -0
- package/dist/node/map-interface.83fa8028.js.map +1 -0
- package/dist/node/map-interface.971af4bc.js +2 -0
- package/dist/node/map-interface.971af4bc.js.map +1 -0
- package/dist/node/map-interface.b14f08e8.js +2 -0
- package/dist/node/map-interface.b14f08e8.js.map +1 -0
- package/dist/node/map-interface.bc0fb98b.js +2 -0
- package/dist/node/map-interface.bc0fb98b.js.map +1 -0
- package/dist/node/{main.module.3943144e.css → map-interface.bd78832e.css} +1 -1
- package/dist/node/map-interface.bd78832e.css.map +1 -0
- package/dist/node/map-interface.cf540298.js +2 -0
- package/dist/node/map-interface.cf540298.js.map +1 -0
- package/dist/node/map-interface.d16a06b1.js +2 -0
- package/dist/node/map-interface.d16a06b1.js.map +1 -0
- package/dist/node/map-interface.d2fce135.css +2 -0
- package/dist/node/map-interface.d2fce135.css.map +1 -0
- package/dist/node/map-interface.d92b296e.js +2 -0
- package/dist/node/map-interface.d92b296e.js.map +1 -0
- package/dist/node/map-interface.e0032d67.js +2 -0
- package/dist/node/map-interface.e0032d67.js.map +1 -0
- package/dist/node/map-interface.eb663cae.js +2 -0
- package/dist/node/map-interface.eb663cae.js.map +1 -0
- package/dist/node/map-interface.ed6b5586.js +2 -0
- package/dist/node/map-interface.ed6b5586.js.map +1 -0
- package/dist/node/map-interface.f4d2a5eb.js +2 -0
- package/dist/node/map-interface.f4d2a5eb.js.map +1 -0
- package/package.json +9 -9
- package/src/container.ts +3 -3
- package/src/context-panel/index.ts +8 -8
- package/src/dev/map-page.ts +5 -13
- package/src/dev/tile-extent.ts +1 -1
- package/src/dev/vector-tile-features.ts +11 -7
- package/src/dev/xray.ts +7 -3
- package/src/expansion-panel/headers.ts +1 -1
- package/src/expansion-panel/index.ts +4 -4
- package/src/helpers.ts +42 -8
- package/src/location-info/hash-string.ts +2 -2
- package/src/location-info/index.ts +15 -6
- package/src/location-panel/header.ts +8 -6
- package/src/main.module.sass +13 -6
- package/src/map-view.ts +96 -47
- package/dist/cjs/context-panel.3061a63e.js.map +0 -1
- package/dist/cjs/expansion-panel.ef757efe.js.map +0 -1
- package/dist/cjs/hash-string.62e84f08.js.map +0 -1
- package/dist/cjs/header.af864bde.js.map +0 -1
- package/dist/cjs/helpers.0f72ddaf.js.map +0 -1
- package/dist/cjs/location-info.92e70042.js.map +0 -1
- package/dist/cjs/main.module.62939ea7.js.map +0 -1
- package/dist/cjs/main.module.f57e27f2.css.map +0 -1
- package/dist/cjs/map-page.1e1970d8.js.map +0 -1
- package/dist/cjs/map-view.61e50e18.js.map +0 -1
- package/dist/cjs/vector-tile-features.77121785.js.map +0 -1
- package/dist/cjs/xray.a23f8660.js.map +0 -1
- package/dist/esm/context-panel.5dae1a8c.js.map +0 -1
- package/dist/esm/expansion-panel.465b822f.js.map +0 -1
- package/dist/esm/header.a73b6e0a.js.map +0 -1
- package/dist/esm/helpers.fb1d7227.js.map +0 -1
- package/dist/esm/location-info.5543bb05.js.map +0 -1
- package/dist/esm/main.module.f70e002b.js.map +0 -1
- package/dist/esm/map-page.1da2d70c.js.map +0 -1
- package/dist/esm/map-view.1fc6297b.js.map +0 -1
- package/dist/esm/vector-tile-features.53b48d66.js.map +0 -1
- package/dist/esm/xray.c0663c25.js.map +0 -1
- package/dist/node/container.053f798f.js +0 -2
- package/dist/node/container.053f798f.js.map +0 -1
- package/dist/node/context-panel.0ae29ecf.js +0 -2
- package/dist/node/context-panel.0ae29ecf.js.map +0 -1
- package/dist/node/controls.6ec8e9ac.js +0 -2
- package/dist/node/controls.6ec8e9ac.js.map +0 -1
- package/dist/node/dev.4640438e.js +0 -2
- package/dist/node/dev.4640438e.js.map +0 -1
- package/dist/node/expansion-panel.62240ee3.js +0 -2
- package/dist/node/expansion-panel.62240ee3.js.map +0 -1
- package/dist/node/hash-string.3fc8ceb0.js +0 -2
- package/dist/node/hash-string.3fc8ceb0.js.map +0 -1
- package/dist/node/header.cf9ba12b.js +0 -2
- package/dist/node/header.cf9ba12b.js.map +0 -1
- package/dist/node/headers.2581f6d9.js +0 -2
- package/dist/node/headers.2581f6d9.js.map +0 -1
- package/dist/node/helpers.6bda171f.js +0 -2
- package/dist/node/helpers.6bda171f.js.map +0 -1
- package/dist/node/location-info.9f59aad3.js +0 -2
- package/dist/node/location-info.9f59aad3.js.map +0 -1
- package/dist/node/location-panel.2e422cc0.js +0 -2
- package/dist/node/location-panel.2e422cc0.js.map +0 -1
- package/dist/node/main.module.24615279.js +0 -2
- package/dist/node/main.module.24615279.js.map +0 -1
- package/dist/node/main.module.29a15f3d.css.map +0 -1
- package/dist/node/main.module.2d51c752.css.map +0 -1
- package/dist/node/main.module.3943144e.css.map +0 -1
- package/dist/node/main.module.3a8fef67.js +0 -2
- package/dist/node/main.module.3a8fef67.js.map +0 -1
- package/dist/node/main.module.434acaf9.js +0 -2
- package/dist/node/main.module.434acaf9.js.map +0 -1
- package/dist/node/main.module.5d5ab665.js +0 -2
- package/dist/node/main.module.5d5ab665.js.map +0 -1
- package/dist/node/main.module.65e40c2e.css +0 -2
- package/dist/node/main.module.65e40c2e.css.map +0 -1
- package/dist/node/main.module.8a9943af.css.map +0 -1
- package/dist/node/main.module.e200d631.js +0 -2
- package/dist/node/main.module.e200d631.js.map +0 -1
- package/dist/node/map-page.d0e099ab.js +0 -2
- package/dist/node/map-page.d0e099ab.js.map +0 -1
- package/dist/node/map-view.9dc96288.js +0 -2
- package/dist/node/map-view.9dc96288.js.map +0 -1
- package/dist/node/tile-extent.28db5d2c.js +0 -2
- package/dist/node/tile-extent.28db5d2c.js.map +0 -1
- package/dist/node/utils.274d0452.js +0 -2
- package/dist/node/utils.274d0452.js.map +0 -1
- package/dist/node/utils.dd92f725.js +0 -2
- package/dist/node/utils.dd92f725.js.map +0 -1
- package/dist/node/vector-tile-features.b5a23b71.js +0 -2
- package/dist/node/vector-tile-features.b5a23b71.js.map +0 -1
- package/dist/node/xray.bce11e7b.js +0 -2
- package/dist/node/xray.bce11e7b.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
1
|
import { Navbar, Button, Spinner, Card, Text } from "@blueprintjs/core";
|
|
3
2
|
import hyper from "@macrostrat/hyper";
|
|
4
3
|
import styles from "./main.module.sass";
|
|
5
4
|
import { useMapStatus } from "@macrostrat/mapbox-react";
|
|
6
5
|
import { Spacer } from "@macrostrat/ui-components";
|
|
6
|
+
import type { ReactNode } from "react";
|
|
7
7
|
|
|
8
8
|
const h = hyper.styled(styles);
|
|
9
9
|
|
|
@@ -19,7 +19,7 @@ export function LoadingButton({
|
|
|
19
19
|
}) {
|
|
20
20
|
return h(Button, {
|
|
21
21
|
className: "loading-button",
|
|
22
|
-
icon: isLoading ? spinnerElement : icon,
|
|
22
|
+
icon: (isLoading ? spinnerElement : icon) as any,
|
|
23
23
|
large,
|
|
24
24
|
minimal: true,
|
|
25
25
|
onClick,
|
|
@@ -28,12 +28,12 @@ export function LoadingButton({
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export function MapLoadingButton(props) {
|
|
31
|
+
export function MapLoadingButton(props: any) {
|
|
32
32
|
const isLoading = useMapStatus((s) => s.isLoading);
|
|
33
33
|
return h(LoadingButton, { ...props, isLoading });
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
type AnyChildren =
|
|
36
|
+
type AnyChildren = ReactNode;
|
|
37
37
|
|
|
38
38
|
export interface FloatingNavbarProps {
|
|
39
39
|
className?: string;
|
|
@@ -58,12 +58,12 @@ export function FloatingNavbar({
|
|
|
58
58
|
width,
|
|
59
59
|
style = {},
|
|
60
60
|
}: FloatingNavbarProps) {
|
|
61
|
-
let _rightElement:
|
|
61
|
+
let _rightElement: ReactNode | null = null;
|
|
62
62
|
if (rightElement != null) {
|
|
63
63
|
_rightElement = h("div.right-element", rightElement);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
let _headerElement:
|
|
66
|
+
let _headerElement: ReactNode | null = headerElement;
|
|
67
67
|
if (title != null && _headerElement == null) {
|
|
68
68
|
if (typeof title === "string") {
|
|
69
69
|
_headerElement = h(Text, { tagName: "h2", ellipsize: true }, title);
|
|
@@ -84,13 +84,13 @@ export function FloatingNavbar({
|
|
|
84
84
|
className: "searchbar navbar panel",
|
|
85
85
|
style: { height, ...style },
|
|
86
86
|
},
|
|
87
|
-
[_headerElement, children, _rightElement]
|
|
87
|
+
[_headerElement, children, _rightElement],
|
|
88
88
|
),
|
|
89
89
|
]),
|
|
90
90
|
h.if(statusElement != null)(
|
|
91
91
|
Card,
|
|
92
92
|
{ className: "status-tongue" },
|
|
93
|
-
statusElement
|
|
93
|
+
statusElement,
|
|
94
94
|
),
|
|
95
95
|
]);
|
|
96
96
|
}
|
package/src/dev/map-page.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { useCallback, useState, useEffect } from "react";
|
|
|
7
7
|
import { buildInspectorStyle } from "./xray";
|
|
8
8
|
import { MapAreaContainer, PanelCard } from "../container";
|
|
9
9
|
import { FloatingNavbar, MapLoadingButton } from "../context-panel";
|
|
10
|
-
import { MapMarker } from "../helpers";
|
|
10
|
+
import { MapMarker, useBasicMapStyle } from "../helpers";
|
|
11
11
|
import { LocationPanel } from "../location-panel";
|
|
12
12
|
import { MapView } from "../map-view";
|
|
13
13
|
import styles from "./main.module.sass";
|
|
@@ -67,15 +67,7 @@ export function MapInspectorV2({
|
|
|
67
67
|
mapboxgl.accessToken = mapboxToken;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
style ??= isEnabled
|
|
72
|
-
? "mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true"
|
|
73
|
-
: "mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true";
|
|
74
|
-
} else {
|
|
75
|
-
style ??= isEnabled
|
|
76
|
-
? "mapbox://styles/mapbox/dark-v10"
|
|
77
|
-
: "mapbox://styles/mapbox/light-v10";
|
|
78
|
-
}
|
|
70
|
+
style ??= useBasicMapStyle({ styleType });
|
|
79
71
|
|
|
80
72
|
const [isOpen, setOpen] = useState(false);
|
|
81
73
|
|
|
@@ -123,7 +115,7 @@ export function MapInspectorV2({
|
|
|
123
115
|
},
|
|
124
116
|
}),
|
|
125
117
|
h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),
|
|
126
|
-
]
|
|
118
|
+
],
|
|
127
119
|
);
|
|
128
120
|
}
|
|
129
121
|
|
|
@@ -183,8 +175,8 @@ export function MapInspectorV2({
|
|
|
183
175
|
}),
|
|
184
176
|
h(TileExtentLayer, { tile, color: isEnabled ? "white" : "black" }),
|
|
185
177
|
children,
|
|
186
|
-
]
|
|
187
|
-
)
|
|
178
|
+
],
|
|
179
|
+
),
|
|
188
180
|
);
|
|
189
181
|
}
|
|
190
182
|
|
package/src/dev/tile-extent.ts
CHANGED
|
@@ -178,7 +178,11 @@ function UnitNumber({ value, unit, precision = 1 }) {
|
|
|
178
178
|
]);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
export function FeaturePanel({
|
|
181
|
+
export function FeaturePanel({
|
|
182
|
+
features,
|
|
183
|
+
focusedSource = null,
|
|
184
|
+
focusedSourceTitle = null,
|
|
185
|
+
}) {
|
|
182
186
|
if (features == null) return null;
|
|
183
187
|
|
|
184
188
|
let focusedSourcePanel = null;
|
|
@@ -190,7 +194,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
|
|
|
190
194
|
focusedSourcePanel = h(
|
|
191
195
|
ExpansionPanel,
|
|
192
196
|
{
|
|
193
|
-
title: "Macrostrat features",
|
|
197
|
+
title: focusedSourceTitle ?? "Macrostrat features",
|
|
194
198
|
className: "macrostrat-features",
|
|
195
199
|
expanded: true,
|
|
196
200
|
},
|
|
@@ -199,7 +203,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
|
|
|
199
203
|
features,
|
|
200
204
|
sourceID: focusedSource,
|
|
201
205
|
}),
|
|
202
|
-
]
|
|
206
|
+
],
|
|
203
207
|
);
|
|
204
208
|
filteredFeatures = features.filter((d) => d.source != focusedSource);
|
|
205
209
|
}
|
|
@@ -213,7 +217,7 @@ export function FeaturePanel({ features, focusedSource = null }) {
|
|
|
213
217
|
h(FeatureGroups, {
|
|
214
218
|
features: filteredFeatures,
|
|
215
219
|
}),
|
|
216
|
-
]
|
|
220
|
+
],
|
|
217
221
|
),
|
|
218
222
|
]);
|
|
219
223
|
}
|
|
@@ -222,7 +226,7 @@ function FeatureGroups({ features }) {
|
|
|
222
226
|
/** Group features by source and sourceLayer */
|
|
223
227
|
if (features == null) return null;
|
|
224
228
|
|
|
225
|
-
const groups = group(features, (d) => `${d.source} - ${d.sourceLayer}`);
|
|
229
|
+
const groups = group(features, (d: any) => `${d.source} - ${d.sourceLayer}`);
|
|
226
230
|
|
|
227
231
|
return h(
|
|
228
232
|
"div.feature-groups",
|
|
@@ -231,13 +235,13 @@ function FeatureGroups({ features }) {
|
|
|
231
235
|
h(FeatureHeader, { feature: features[0] }),
|
|
232
236
|
h(Features, { features }),
|
|
233
237
|
]);
|
|
234
|
-
})
|
|
238
|
+
}),
|
|
235
239
|
);
|
|
236
240
|
}
|
|
237
241
|
|
|
238
242
|
export function Features({ features }) {
|
|
239
243
|
return h(
|
|
240
244
|
"div.features",
|
|
241
|
-
features.map((feature, i) => h(FeatureRecord, { key: i, feature }))
|
|
245
|
+
features.map((feature, i) => h(FeatureRecord, { key: i, feature })),
|
|
242
246
|
);
|
|
243
247
|
}
|
package/src/dev/xray.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface XRayOptions {
|
|
|
11
11
|
|
|
12
12
|
export async function buildXRayStyle(
|
|
13
13
|
baseStyle: string | object,
|
|
14
|
-
params: XRayOptions = null
|
|
14
|
+
params: XRayOptions = null,
|
|
15
15
|
) {
|
|
16
16
|
const {
|
|
17
17
|
inDarkMode = false,
|
|
@@ -24,7 +24,11 @@ export async function buildXRayStyle(
|
|
|
24
24
|
|
|
25
25
|
let layers = [];
|
|
26
26
|
for (let layer of style.layers) {
|
|
27
|
-
if (
|
|
27
|
+
if (
|
|
28
|
+
"source" in layer &&
|
|
29
|
+
typeof layer.source === "string" &&
|
|
30
|
+
!sources.includes(layer.source)
|
|
31
|
+
) {
|
|
28
32
|
layers.push(layer);
|
|
29
33
|
continue;
|
|
30
34
|
}
|
|
@@ -90,7 +94,7 @@ type InspectorStyleOptions = XRayOptions & {
|
|
|
90
94
|
export async function buildInspectorStyle(
|
|
91
95
|
baseStyle: mapboxgl.Style | string,
|
|
92
96
|
overlayStyle: mapboxgl.Style | string | null = null,
|
|
93
|
-
params: InspectorStyleOptions = {}
|
|
97
|
+
params: InspectorStyleOptions = {},
|
|
94
98
|
) {
|
|
95
99
|
const {
|
|
96
100
|
mapboxToken,
|
|
@@ -20,7 +20,7 @@ function ExpansionPanelSummary(props) {
|
|
|
20
20
|
title,
|
|
21
21
|
component: titleComponent,
|
|
22
22
|
},
|
|
23
|
-
[children, h(Icon, { icon, className: "expansion-panel-icon" })]
|
|
23
|
+
[children, h(Icon, { icon, className: "expansion-panel-icon" })],
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -63,10 +63,10 @@ function ExpansionPanelBase(props) {
|
|
|
63
63
|
h("span.expansion-panel-subtext", helpText),
|
|
64
64
|
" ",
|
|
65
65
|
sideComponent,
|
|
66
|
-
])
|
|
66
|
+
]),
|
|
67
67
|
),
|
|
68
68
|
h(Collapse, { isOpen }, h("div.expansion-children", null, children)),
|
|
69
|
-
]
|
|
69
|
+
],
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -113,7 +113,7 @@ function ExpandableDetailsPanel(props) {
|
|
|
113
113
|
h(
|
|
114
114
|
Collapse,
|
|
115
115
|
{ isOpen },
|
|
116
|
-
h("div.expandable-details-children", null, children)
|
|
116
|
+
h("div.expandable-details-children", null, children),
|
|
117
117
|
),
|
|
118
118
|
]);
|
|
119
119
|
}
|
package/src/helpers.ts
CHANGED
|
@@ -21,7 +21,7 @@ export function MapResizeManager({ containerRef }) {
|
|
|
21
21
|
const debouncedResize = useRef(
|
|
22
22
|
debounce(() => {
|
|
23
23
|
mapRef.current?.resize();
|
|
24
|
-
}, 100)
|
|
24
|
+
}, 100),
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
useResizeObserver({
|
|
@@ -48,7 +48,7 @@ export function MapPaddingManager({
|
|
|
48
48
|
const mapRef = useMapRef();
|
|
49
49
|
|
|
50
50
|
const [padding, setPadding] = useState(
|
|
51
|
-
getMapPadding(containerRef, parentRef)
|
|
51
|
+
getMapPadding(containerRef, parentRef),
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
const _updateMapPadding = useCallback(() => {
|
|
@@ -58,7 +58,7 @@ export function MapPaddingManager({
|
|
|
58
58
|
|
|
59
59
|
const updateMapPadding = useMemo(
|
|
60
60
|
() => debounce(_updateMapPadding, debounceTime),
|
|
61
|
-
[_updateMapPadding, debounceTime]
|
|
61
|
+
[_updateMapPadding, debounceTime],
|
|
62
62
|
);
|
|
63
63
|
|
|
64
64
|
useEffect(() => {
|
|
@@ -113,12 +113,19 @@ export function MapMovedReporter({ onMapMoved = null }) {
|
|
|
113
113
|
return null;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
interface MapLoadingReporterProps {
|
|
117
|
+
ignoredSources?: string[];
|
|
118
|
+
onMapLoading?: (evt: mapboxgl.MapEvent) => void;
|
|
119
|
+
onMapIdle?: (evt: mapboxgl.MapEvent) => void;
|
|
120
|
+
mapIsLoading?: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
116
123
|
export function MapLoadingReporter({
|
|
117
124
|
ignoredSources,
|
|
118
125
|
onMapLoading = null,
|
|
119
126
|
onMapIdle = null,
|
|
120
127
|
mapIsLoading,
|
|
121
|
-
}) {
|
|
128
|
+
}: MapLoadingReporterProps) {
|
|
122
129
|
const mapRef = useMapRef();
|
|
123
130
|
const loadingRef = useRef(false);
|
|
124
131
|
const dispatch = useMapDispatch();
|
|
@@ -184,9 +191,36 @@ export function MapMarker({ position, setPosition, centerMarker = true }) {
|
|
|
184
191
|
return null;
|
|
185
192
|
}
|
|
186
193
|
|
|
187
|
-
export function
|
|
194
|
+
export function useBasicMapStyle(
|
|
195
|
+
opts: {
|
|
196
|
+
styleType?: "macrostrat" | "standard";
|
|
197
|
+
} = {},
|
|
198
|
+
) {
|
|
199
|
+
const { styleType } = opts;
|
|
188
200
|
const inDarkMode = useInDarkMode();
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
201
|
+
|
|
202
|
+
const props = useMemo(() => {
|
|
203
|
+
return { styleType, inDarkMode };
|
|
204
|
+
}, [styleType, inDarkMode]);
|
|
205
|
+
|
|
206
|
+
return getBasicMapStyle(props);
|
|
192
207
|
}
|
|
208
|
+
|
|
209
|
+
export function getBasicMapStyle(opts: {
|
|
210
|
+
styleType?: "macrostrat" | "standard";
|
|
211
|
+
inDarkMode?: boolean;
|
|
212
|
+
}) {
|
|
213
|
+
const { styleType = "macrostrat", inDarkMode = false } = opts ?? {};
|
|
214
|
+
|
|
215
|
+
if (styleType == "macrostrat") {
|
|
216
|
+
return inDarkMode
|
|
217
|
+
? "mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true"
|
|
218
|
+
: "mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true";
|
|
219
|
+
} else {
|
|
220
|
+
return inDarkMode
|
|
221
|
+
? "mapbox://styles/mapbox/dark-v10"
|
|
222
|
+
: "mapbox://styles/mapbox/light-v10";
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export const useBasicStylePair = useBasicMapStyle;
|
|
@@ -16,7 +16,7 @@ interface LocationHashParams {
|
|
|
16
16
|
|
|
17
17
|
export function applyMapPositionToHash(
|
|
18
18
|
args: LocationHashParams,
|
|
19
|
-
mapPosition: MapPosition | null
|
|
19
|
+
mapPosition: MapPosition | null,
|
|
20
20
|
) {
|
|
21
21
|
const pos = mapPosition?.camera;
|
|
22
22
|
if (pos == null) return;
|
|
@@ -53,7 +53,7 @@ function _fmt(x: string | number | string[]) {
|
|
|
53
53
|
|
|
54
54
|
export function getMapPositionForHash(
|
|
55
55
|
hashData: ParsedQuery<string>,
|
|
56
|
-
centerPosition: LatLng | null
|
|
56
|
+
centerPosition: LatLng | null,
|
|
57
57
|
): MapPosition {
|
|
58
58
|
const {
|
|
59
59
|
x = centerPosition?.lng ?? 0,
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
normalizeLng,
|
|
6
6
|
} from "@macrostrat/mapbox-utils";
|
|
7
7
|
import { formatValue } from "./utils";
|
|
8
|
+
import { LngLat } from "mapbox-gl";
|
|
8
9
|
|
|
9
10
|
export * from "./hash-string";
|
|
10
11
|
|
|
@@ -29,12 +30,12 @@ export function DegreeCoord(props) {
|
|
|
29
30
|
|
|
30
31
|
export interface LngLatProps {
|
|
31
32
|
/** Map position */
|
|
32
|
-
position:
|
|
33
|
+
position: mapboxgl.LngLatLike | null;
|
|
33
34
|
className?: string;
|
|
34
35
|
/** Zoom level (used to infer coordinate rounding if provided) */
|
|
35
|
-
zoom?: number
|
|
36
|
+
zoom?: number;
|
|
36
37
|
/** Number of decimal places to round coordinates to */
|
|
37
|
-
precision
|
|
38
|
+
precision?: number;
|
|
38
39
|
/** Function to format coordinates */
|
|
39
40
|
format?: (val: number, precision: number) => string;
|
|
40
41
|
}
|
|
@@ -46,11 +47,19 @@ export function LngLatCoords(props: LngLatProps) {
|
|
|
46
47
|
if (position == null) {
|
|
47
48
|
return null;
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
|
|
51
|
+
let lat: number;
|
|
52
|
+
let lng: number;
|
|
50
53
|
if (Array.isArray(position)) {
|
|
51
54
|
[lng, lat] = position;
|
|
52
|
-
} else {
|
|
53
|
-
|
|
55
|
+
} else if (position instanceof LngLat) {
|
|
56
|
+
[lng, lat] = position.toArray();
|
|
57
|
+
} else if ("lng" in position) {
|
|
58
|
+
lat = position.lat;
|
|
59
|
+
lng = position.lng;
|
|
60
|
+
} else if ("lon" in position) {
|
|
61
|
+
lat = position.lat;
|
|
62
|
+
lng = position.lon;
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
if (zoom != null && format == null && precision == null) {
|
|
@@ -9,6 +9,8 @@ import {
|
|
|
9
9
|
isCentered,
|
|
10
10
|
} from "@macrostrat/mapbox-react";
|
|
11
11
|
import classNames from "classnames";
|
|
12
|
+
import type { ReactNode } from "react";
|
|
13
|
+
import type { LngLatBounds, LngLatLike } from "mapbox-gl";
|
|
12
14
|
|
|
13
15
|
const h = hyper.styled(styles);
|
|
14
16
|
|
|
@@ -59,24 +61,24 @@ function CopyLinkButton({ itemName, children, onClick, ...rest }) {
|
|
|
59
61
|
icon: "error",
|
|
60
62
|
timeout: 1000,
|
|
61
63
|
});
|
|
62
|
-
}
|
|
64
|
+
},
|
|
63
65
|
);
|
|
64
66
|
},
|
|
65
67
|
...rest,
|
|
66
68
|
},
|
|
67
|
-
children ?? "Copy link"
|
|
69
|
+
children ?? "Copy link",
|
|
68
70
|
);
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
export interface InfoDrawerHeaderProps {
|
|
72
74
|
onClose?: () => void;
|
|
73
|
-
position?:
|
|
75
|
+
position?: LngLatLike;
|
|
74
76
|
zoom?: number;
|
|
75
77
|
elevation?: number;
|
|
76
78
|
showCopyPositionButton?: boolean;
|
|
77
|
-
bounds?:
|
|
79
|
+
bounds?: LngLatBounds;
|
|
78
80
|
fixedHeight?: boolean;
|
|
79
|
-
children?:
|
|
81
|
+
children?: ReactNode;
|
|
80
82
|
className?: string;
|
|
81
83
|
}
|
|
82
84
|
|
|
@@ -125,6 +127,6 @@ export function InfoDrawerHeader(props: InfoDrawerHeaderProps) {
|
|
|
125
127
|
icon: "cross",
|
|
126
128
|
onClick: onClose,
|
|
127
129
|
}),
|
|
128
|
-
]
|
|
130
|
+
],
|
|
129
131
|
);
|
|
130
132
|
}
|
package/src/main.module.sass
CHANGED
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
& > *
|
|
62
62
|
flex: 1
|
|
63
63
|
|
|
64
|
+
|
|
64
65
|
.map-control-stack
|
|
65
66
|
display: flex
|
|
66
67
|
flex-direction: column
|
|
@@ -89,6 +90,9 @@
|
|
|
89
90
|
flex-grow: 1
|
|
90
91
|
position: relative
|
|
91
92
|
overflow: hidden
|
|
93
|
+
&.standalone
|
|
94
|
+
height: 100%
|
|
95
|
+
width: 100%
|
|
92
96
|
|
|
93
97
|
.mapbox-map
|
|
94
98
|
position: absolute
|
|
@@ -102,6 +106,13 @@
|
|
|
102
106
|
position: absolute
|
|
103
107
|
|
|
104
108
|
|
|
109
|
+
/** These styles seem to help with weird map zooming behavior */
|
|
110
|
+
:global(.mapboxgl-canvas), :global(.mapboxgl-canvas-container)
|
|
111
|
+
position: relative
|
|
112
|
+
left: 0
|
|
113
|
+
top: 0
|
|
114
|
+
|
|
115
|
+
|
|
105
116
|
.context-panel-holder > :global(.bp5-card)
|
|
106
117
|
padding: 10px
|
|
107
118
|
background-color: var(--panel-background-color)
|
|
@@ -376,7 +387,8 @@
|
|
|
376
387
|
/* Make map fill page rather than containing div,
|
|
377
388
|
by unsetting map position */
|
|
378
389
|
// We should move this to another file.
|
|
379
|
-
|
|
390
|
+
|
|
391
|
+
.map-view-container:not(.standalone)
|
|
380
392
|
position: unset
|
|
381
393
|
|
|
382
394
|
|
|
@@ -440,11 +452,6 @@
|
|
|
440
452
|
.context-stack .spacer
|
|
441
453
|
min-height: 1em
|
|
442
454
|
|
|
443
|
-
/* Make map fill page rather than containing div,
|
|
444
|
-
by unsetting map position */
|
|
445
|
-
.map-view-container
|
|
446
|
-
position: unset
|
|
447
|
-
|
|
448
455
|
/** CSS Transitions **/
|
|
449
456
|
|
|
450
457
|
.map-container
|