@macrostrat/map-interface 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/index.js +4 -4
  3. package/dist/cjs/{map-interface.3934d6d6.js → map-interface.10d442f4.js} +2 -2
  4. package/dist/cjs/{map-interface.3934d6d6.js.map → map-interface.10d442f4.js.map} +1 -1
  5. package/dist/cjs/{map-interface.17e81e8a.js → map-interface.28d1a6b7.js} +10 -8
  6. package/dist/cjs/map-interface.28d1a6b7.js.map +1 -0
  7. package/dist/cjs/{map-interface.5cea0ff4.js → map-interface.3bc4f731.js} +3 -3
  8. package/dist/cjs/{map-interface.5cea0ff4.js.map → map-interface.3bc4f731.js.map} +1 -1
  9. package/dist/cjs/{map-interface.e7194f92.js → map-interface.7bdbe4b6.js} +59 -47
  10. package/dist/cjs/map-interface.7bdbe4b6.js.map +1 -0
  11. package/dist/cjs/{map-interface.5813e876.js → map-interface.cf6c9a68.js} +5 -5
  12. package/dist/cjs/{map-interface.5813e876.js.map → map-interface.cf6c9a68.js.map} +1 -1
  13. package/dist/cjs/{map-interface.1d19056e.js → map-interface.dcbd3874.js} +4 -2
  14. package/dist/cjs/map-interface.dcbd3874.js.map +1 -0
  15. package/dist/cjs/{map-interface.175c4635.js → map-interface.f8826069.js} +12 -17
  16. package/dist/cjs/map-interface.f8826069.js.map +1 -0
  17. package/dist/esm/index.d.ts +18 -29
  18. package/dist/esm/index.d.ts.map +1 -1
  19. package/dist/esm/index.js +4 -4
  20. package/dist/esm/map-interface.22ea3934.js +41 -0
  21. package/dist/esm/map-interface.22ea3934.js.map +1 -0
  22. package/dist/esm/{map-interface.e5349e97.js → map-interface.54ccd41f.js} +2 -2
  23. package/dist/esm/{map-interface.e5349e97.js.map → map-interface.54ccd41f.js.map} +1 -1
  24. package/dist/esm/{map-interface.3248abc7.js → map-interface.90d9023c.js} +3 -3
  25. package/dist/esm/{map-interface.3248abc7.js.map → map-interface.90d9023c.js.map} +1 -1
  26. package/dist/esm/{map-interface.9ce3d553.js → map-interface.ca1ee406.js} +61 -49
  27. package/dist/esm/map-interface.ca1ee406.js.map +1 -0
  28. package/dist/esm/{map-interface.e1493866.js → map-interface.e20a9bac.js} +4 -2
  29. package/dist/esm/map-interface.e20a9bac.js.map +1 -0
  30. package/dist/esm/{map-interface.00058d23.js → map-interface.ec2278ab.js} +10 -8
  31. package/dist/esm/map-interface.ec2278ab.js.map +1 -0
  32. package/dist/esm/{map-interface.45814073.js → map-interface.f7b8bdb7.js} +5 -5
  33. package/dist/esm/{map-interface.45814073.js.map → map-interface.f7b8bdb7.js.map} +1 -1
  34. package/dist/node/index.js +1 -1
  35. package/dist/node/index.js.map +1 -1
  36. package/dist/node/map-interface.0dc4417b.js +2 -0
  37. package/dist/node/map-interface.0dc4417b.js.map +1 -0
  38. package/dist/node/{map-interface.eb663cae.js → map-interface.33b7734a.js} +2 -2
  39. package/dist/node/map-interface.33b7734a.js.map +1 -0
  40. package/dist/node/map-interface.56b5b2ee.js +2 -0
  41. package/dist/node/map-interface.56b5b2ee.js.map +1 -0
  42. package/dist/node/{map-interface.cf540298.js → map-interface.6184dc0f.js} +2 -2
  43. package/dist/node/{map-interface.cf540298.js.map → map-interface.6184dc0f.js.map} +1 -1
  44. package/dist/node/map-interface.7295b0a2.js +2 -0
  45. package/dist/node/map-interface.7295b0a2.js.map +1 -0
  46. package/dist/node/map-interface.992dea73.js +2 -0
  47. package/dist/node/map-interface.992dea73.js.map +1 -0
  48. package/dist/node/{map-interface.d16a06b1.js → map-interface.f3e12e03.js} +2 -2
  49. package/dist/node/{map-interface.d16a06b1.js.map → map-interface.f3e12e03.js.map} +1 -1
  50. package/package.json +3 -3
  51. package/src/dev/map-page.ts +27 -20
  52. package/src/dev/tile-extent.ts +17 -18
  53. package/src/helpers.ts +4 -4
  54. package/src/location-panel/header.ts +2 -5
  55. package/src/map-view.ts +77 -52
  56. package/dist/cjs/map-interface.175c4635.js.map +0 -1
  57. package/dist/cjs/map-interface.17e81e8a.js.map +0 -1
  58. package/dist/cjs/map-interface.1d19056e.js.map +0 -1
  59. package/dist/cjs/map-interface.e7194f92.js.map +0 -1
  60. package/dist/esm/map-interface.00058d23.js.map +0 -1
  61. package/dist/esm/map-interface.9ce3d553.js.map +0 -1
  62. package/dist/esm/map-interface.e1493866.js.map +0 -1
  63. package/dist/esm/map-interface.f107347b.js +0 -46
  64. package/dist/esm/map-interface.f107347b.js.map +0 -1
  65. package/dist/node/map-interface.02dd6884.js +0 -2
  66. package/dist/node/map-interface.02dd6884.js.map +0 -1
  67. package/dist/node/map-interface.20c346ba.js +0 -2
  68. package/dist/node/map-interface.20c346ba.js.map +0 -1
  69. package/dist/node/map-interface.44d3f3bf.js +0 -2
  70. package/dist/node/map-interface.44d3f3bf.js.map +0 -1
  71. package/dist/node/map-interface.bc0fb98b.js +0 -2
  72. package/dist/node/map-interface.bc0fb98b.js.map +0 -1
  73. package/dist/node/map-interface.eb663cae.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { ReactNode, FunctionComponentElement, JSXElementConstructor, ReactElement, DOMAttributes, DOMElement, DetailedReactHTMLElement, ComponentType, MutableRefObject } from "react";
1
+ import React, { ReactNode, FunctionComponentElement, JSXElementConstructor, ReactElement, DOMAttributes, DOMElement, DetailedReactHTMLElement, ComponentType } from "react";
2
2
  import { ButtonProps, CardProps } from "@blueprintjs/core";
3
3
  import { ParsedQuery } from "query-string";
4
4
  import { LngLatBounds, LngLatLike, LightSpecification, LightsSpecification, TerrainSpecification, FogSpecification, SnowSpecification, RainSpecification, CameraSpecification, ColorThemeSpecification, IndoorSpecification, ImportSpecification, IconsetsSpecification, SchemaSpecification, SourcesSpecification, TransitionSpecification, ProjectionSpecification, ModelsSpecification, FeaturesetsSpecification, StyleSpecification } from "mapbox-gl";
@@ -233,21 +233,24 @@ export interface MapViewProps extends MapboxCoreOptions {
233
233
  standalone?: boolean;
234
234
  /** Overlay styles to apply to the map: a list of mapbox style objects or fragments to
235
235
  * overlay on top of the main map style at runtime */
236
- overlayStyles?: Partial<mapboxgl.Style>[];
236
+ overlayStyles?: Partial<mapboxgl.StyleSpecification>[];
237
237
  /** A function to transform the map style before it is loaded */
238
- transformStyle?: (style: mapboxgl.Style) => mapboxgl.Style;
238
+ transformStyle?: (style: mapboxgl.StyleSpecification) => mapboxgl.StyleSpecification;
239
+ loadingIgnoredSources?: string[];
240
+ id?: string;
241
+ className?: string;
239
242
  }
240
243
  export interface MapboxOptionsExt extends MapboxCoreOptions {
241
244
  mapPosition?: MapPosition;
242
245
  }
243
- export function MapView(props: MapViewProps): ReactElement<{
244
- ref: MutableRefObject<HTMLDivElement>;
246
+ export function MapView(props: MapViewProps): React.ReactElement<{
247
+ ref: React.MutableRefObject<HTMLDivElement>;
245
248
  className: string;
246
- }, string | JSXElementConstructor<any>>;
249
+ }, string | React.JSXElementConstructor<any>>;
247
250
  export function MapTerrainManager({ mapUse3D, terrainSourceID, style, }: {
248
251
  mapUse3D?: boolean;
249
252
  terrainSourceID?: string;
250
- style?: mapboxgl.Style | string;
253
+ style?: mapboxgl.StyleSpecification | string;
251
254
  }): any;
252
255
  type TileIndex = {
253
256
  x: number;
@@ -305,15 +308,15 @@ export function Features({ features }: {
305
308
  features: any;
306
309
  }): DOMElement<any, Element>;
307
310
  export const h: Hyper;
308
- export function MapInspectorV2({ title, headerElement, transformRequest, mapPosition, mapboxToken, overlayStyle, controls, children, style, bounds, focusedSource, focusedSourceTitle, fitViewport, styleType, }: {
311
+ interface MapInspectorProps extends MapViewProps {
309
312
  headerElement?: React.ReactNode;
310
- transformRequest?: mapboxgl.TransformRequestFunction;
313
+ transformRequest?: mapboxgl.RequestTransformFunction;
311
314
  title?: string;
312
- style?: mapboxgl.Style | string;
315
+ style?: mapboxgl.StyleSpecification | string;
313
316
  controls?: React.ReactNode;
314
317
  children?: React.ReactNode;
315
318
  mapboxToken?: string;
316
- overlayStyle?: mapboxgl.Style | string;
319
+ overlayStyle?: mapboxgl.StyleSpecification | string;
317
320
  focusedSource?: string;
318
321
  focusedSourceTitle?: string;
319
322
  projection?: string;
@@ -321,24 +324,10 @@ export function MapInspectorV2({ title, headerElement, transformRequest, mapPosi
321
324
  bounds?: [number, number, number, number];
322
325
  fitViewport?: boolean;
323
326
  styleType?: "standard" | "macrostrat";
324
- }): FunctionComponentElement<any>;
325
- declare function MapInspector(props: any): FunctionComponentElement<{
326
- headerElement?: React.ReactNode;
327
- transformRequest?: mapboxgl.TransformRequestFunction;
328
- title?: string;
329
- style?: mapboxgl.Style | string;
330
- controls?: React.ReactNode;
331
- children?: React.ReactNode;
332
- mapboxToken?: string;
333
- overlayStyle?: mapboxgl.Style | string;
334
- focusedSource?: string;
335
- focusedSourceTitle?: string;
336
- projection?: string;
337
- mapPosition?: MapPosition;
338
- bounds?: [number, number, number, number];
339
- fitViewport?: boolean;
340
- styleType?: "standard" | "macrostrat";
341
- }>;
327
+ enableTerrain?: boolean;
328
+ }
329
+ export function MapInspectorV2({ title, headerElement, transformRequest, mapPosition, mapboxToken, overlayStyle, controls, children, style, bounds, focusedSource, focusedSourceTitle, fitViewport, styleType, ...rest }: MapInspectorProps): React.FunctionComponentElement<any>;
330
+ declare function MapInspector(props: any): React.FunctionComponentElement<MapInspectorProps>;
342
331
  export const DevMapPage: typeof MapInspector;
343
332
 
344
333
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/map-styles/src/layer-helpers/symbol-layers.ts","packages/map-interface/map-styles/src/layer-helpers/geology-layers.ts","packages/map-interface/map-styles/src/layer-helpers/pattern-fill.ts","packages/map-interface/map-styles/src/layer-helpers/utils.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/symbols/index.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/icon-image.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/symbol-layer.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/map-styles/src/layer-helpers/cross-sections.ts","packages/map-interface/map-styles/src/layer-helpers/index.ts","packages/map-interface/map-styles/src/styles/line-symbols.ts","packages/map-interface/map-styles/src/styles/layers.ts","packages/map-interface/map-styles/src/styles/index.ts","packages/map-interface/map-styles/src/index.ts","packages/map-interface/mapbox-react/src/layer-managers/line-symbols.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/size-aware-label.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/data/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/mapbox-react/src/layer-managers/map-sources.ts","packages/map-interface/mapbox-react/src/layer-managers/index.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/focus-state.ts","packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/map-styles/src/layer-helpers/symbol-layers.ts","packages/map-interface/map-styles/src/layer-helpers/geology-layers.ts","packages/map-interface/map-styles/src/layer-helpers/pattern-fill.ts","packages/map-interface/map-styles/src/layer-helpers/utils.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/symbols/index.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/icon-image.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/symbol-layer.ts","packages/map-interface/map-styles/src/layer-helpers/point-features/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/map-styles/src/layer-helpers/cross-sections.ts","packages/map-interface/map-styles/src/layer-helpers/index.ts","packages/map-interface/map-styles/src/styles/line-symbols.ts","packages/map-interface/map-styles/src/styles/layers.ts","packages/map-interface/map-styles/src/styles/index.ts","packages/map-interface/map-styles/src/index.ts","packages/map-interface/mapbox-react/src/layer-managers/line-symbols.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/size-aware-label.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/data/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/mapbox-react/src/layer-managers/map-sources.ts","packages/map-interface/mapbox-react/src/layer-managers/index.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/esm/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {LoadingButton as $6e914c81c8e053da$export$4ec83e90d030b2f3, MapLoadingButton as $6e914c81c8e053da$export$9e3bae3c08bde368, FloatingNavbar as $6e914c81c8e053da$export$a8cc0062d02a3841} from "./map-interface.0b1aa8f2.js";
2
- import {InfoDrawerContainer as $f50c3537aaff0cff$export$83f9a19cf91c2d06, BaseInfoDrawer as $f50c3537aaff0cff$export$a5ddcc2a88716895, DetailsPanel as $f50c3537aaff0cff$export$e54a7f2505304e20, LocationPanel as $f50c3537aaff0cff$export$aa4baff5242ea6e1} from "./map-interface.e5349e97.js";
3
- import {h as $a281a0612311d660$export$dda1d9f60106f0e9, MapInspectorV2 as $a281a0612311d660$export$eab3034e57b46e26, DevMapPage as $a281a0612311d660$export$2391061fbdfb71ef, TileExtentLayer as $1d4d29ef2725aa16$export$86c09739b12f23cd, FeatureProperties as $b8c84b63e75fe4f2$export$2906e7f4b228efe9, FeatureRecord as $b8c84b63e75fe4f2$export$dc87b4d46cea200d, FeatureSelectionHandler as $b8c84b63e75fe4f2$export$214daccdda0f4ac6, Features as $b8c84b63e75fe4f2$export$617d79dae526d2cf, TileInfo as $b8c84b63e75fe4f2$export$43c75dec9d0b96c, FeaturePanel as $b8c84b63e75fe4f2$export$43277c51a01761c1, buildXRayStyle as $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d, buildInspectorStyle as $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6} from "./map-interface.3248abc7.js";
2
+ import {InfoDrawerContainer as $f50c3537aaff0cff$export$83f9a19cf91c2d06, BaseInfoDrawer as $f50c3537aaff0cff$export$a5ddcc2a88716895, DetailsPanel as $f50c3537aaff0cff$export$e54a7f2505304e20, LocationPanel as $f50c3537aaff0cff$export$aa4baff5242ea6e1} from "./map-interface.54ccd41f.js";
3
+ import {h as $a281a0612311d660$export$dda1d9f60106f0e9, MapInspectorV2 as $a281a0612311d660$export$eab3034e57b46e26, DevMapPage as $a281a0612311d660$export$2391061fbdfb71ef, TileExtentLayer as $1d4d29ef2725aa16$export$86c09739b12f23cd, FeatureProperties as $b8c84b63e75fe4f2$export$2906e7f4b228efe9, FeatureRecord as $b8c84b63e75fe4f2$export$dc87b4d46cea200d, FeatureSelectionHandler as $b8c84b63e75fe4f2$export$214daccdda0f4ac6, Features as $b8c84b63e75fe4f2$export$617d79dae526d2cf, TileInfo as $b8c84b63e75fe4f2$export$43c75dec9d0b96c, FeaturePanel as $b8c84b63e75fe4f2$export$43277c51a01761c1, buildXRayStyle as $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d, buildInspectorStyle as $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6} from "./map-interface.90d9023c.js";
4
4
  import {PanelCard as $4bdfa9cd8240b2fd$export$ec68dd77edbe678b, DetailPanelStyle as $4bdfa9cd8240b2fd$export$612ca936d3ed4784, MapAreaContainer as $4bdfa9cd8240b2fd$export$9fa5da0bcfd0a290, MapStyledContainer as $4bdfa9cd8240b2fd$export$fa395a37c3898ae3} from "./map-interface.27587c50.js";
5
- import {MapView as $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8, MapTerrainManager as $0118fc9193bb1bf4$export$cee395a8a2a00b29} from "./map-interface.9ce3d553.js";
5
+ import {MapView as $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8, MapTerrainManager as $0118fc9193bb1bf4$export$cee395a8a2a00b29} from "./map-interface.ca1ee406.js";
6
6
  import {MapBottomControls as $91d5aa004eeb2226$export$db1a2e058a06fb5c} from "./map-interface.50edfdfd.js";
7
- import {MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMarker as $4bc3dd5f0732eed3$export$5c90a91c7455938c, useBasicMapStyle as $4bc3dd5f0732eed3$export$6daf1520df36ae21, getBasicMapStyle as $4bc3dd5f0732eed3$export$3503bf0b3851527b, useBasicStylePair as $4bc3dd5f0732eed3$export$566518253d2584f8} from "./map-interface.45814073.js";
7
+ import {MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMarker as $4bc3dd5f0732eed3$export$5c90a91c7455938c, useBasicMapStyle as $4bc3dd5f0732eed3$export$6daf1520df36ae21, getBasicMapStyle as $4bc3dd5f0732eed3$export$3503bf0b3851527b, useBasicStylePair as $4bc3dd5f0732eed3$export$566518253d2584f8} from "./map-interface.f7b8bdb7.js";
8
8
  import {getMapPadding as $82fe09613877ffc2$export$bb78f9f01775eef1, useMapMarker as $82fe09613877ffc2$export$278090850f6b3a9f} from "./map-interface.3033c825.js";
9
9
  import {ValueWithUnit as $4fae2d573d730db8$export$716098b85fd0efdf, DegreeCoord as $4fae2d573d730db8$export$af8082af0bea3eb1, LngLatCoords as $4fae2d573d730db8$export$f195b3550849e560, Elevation as $4fae2d573d730db8$export$58bfb4f6ec5aa58d, applyMapPositionToHash as $bb5f34705d9c44bc$export$8391d1abb505ffb3, getMapPositionForHash as $bb5f34705d9c44bc$export$80abf1cbcc3918e4} from "./map-interface.3ef9d0ae.js";
10
10
  import {ExpansionPanelSummary as $d570ac304373e71c$export$cea00a9d724d5a32, InfoPanelSection as $d570ac304373e71c$export$39c134eb0b07cf0e, ExpansionPanel as $d570ac304373e71c$export$40e646e38e6ed100, SubExpansionPanel as $d570ac304373e71c$export$d7160281aff7c3b8, ExpandableDetailsPanel as $d570ac304373e71c$export$44ad9ff780615135, ExpansionBody as $d570ac304373e71c$export$263416b670b3f129, PanelSubhead as $72e497a412b1da0a$export$ed081779ec3709aa} from "./map-interface.3f07937e.js";
@@ -0,0 +1,41 @@
1
+ import {useMapStyleOperator as $edFMK$useMapStyleOperator} from "@macrostrat/mapbox-react";
2
+ import {tileToGeoJSON as $edFMK$tileToGeoJSON} from "@mapbox/tilebelt";
3
+ import {setGeoJSON as $edFMK$setGeoJSON} from "@macrostrat/mapbox-utils";
4
+
5
+
6
+
7
+
8
+ function $1d4d29ef2725aa16$export$86c09739b12f23cd({ tile: tile, color: color = "red" }) {
9
+ (0, $edFMK$useMapStyleOperator)((map)=>{
10
+ const style = map.getStyle();
11
+ if (style.layers == null) return;
12
+ style.layers = style.layers.filter((l)=>l.id != "tile-extent");
13
+ if (tile == null) return map.setStyle(style);
14
+ const { x: x, y: y, z: z } = tile;
15
+ const extent = (0, $edFMK$tileToGeoJSON)([
16
+ x,
17
+ y,
18
+ z
19
+ ]);
20
+ (0, $edFMK$setGeoJSON)(map, "tile-extent", extent);
21
+ if (map.getLayer("tile-extent") != null) // If the layer already exists, we can just update it
22
+ map.removeLayer("tile-extent");
23
+ map.addLayer({
24
+ id: "tile-extent",
25
+ type: "line",
26
+ source: "tile-extent",
27
+ paint: {
28
+ "line-color": color,
29
+ "line-width": 2
30
+ }
31
+ });
32
+ }, [
33
+ color,
34
+ tile
35
+ ]);
36
+ return null;
37
+ }
38
+
39
+
40
+ export {$1d4d29ef2725aa16$export$86c09739b12f23cd as TileExtentLayer};
41
+ //# sourceMappingURL=map-interface.22ea3934.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;AAMO,SAAS,0CAAgB,QAC9B,IAAI,SACJ,QAAQ,OAIT;IACC,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,MAAM,QAAQ,IAAI,QAAQ;QAC1B,IAAI,MAAM,MAAM,IAAI,MAAM;QAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAM,EAAE,EAAE,IAAI;QAClD,IAAI,QAAQ,MACV,OAAO,IAAI,QAAQ,CAAC;QAEtB,MAAM,KAAE,CAAC,KAAE,CAAC,KAAE,CAAC,EAAE,GAAG;QACpB,MAAM,SAAS,CAAA,GAAA,oBAAY,EAAE;YAAC;YAAG;YAAG;SAAE;QAEtC,CAAA,GAAA,iBAAS,EAAE,KAAK,eAAe;QAE/B,IAAI,IAAI,QAAQ,CAAC,kBAAkB,MACjC,qDAAqD;QACrD,IAAI,WAAW,CAAC;QAGlB,IAAI,QAAQ,CAAC;YACX,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;gBACd,cAAc;YAChB;QACF;IACF,GACA;QAAC;QAAO;KAAK;IAEf,OAAO;AACT","sources":["packages/map-interface/src/dev/tile-extent.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { tileToGeoJSON } from \"@mapbox/tilebelt\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\ntype TileIndex = { x: number; y: number; z: number };\n\nexport function TileExtentLayer({\n tile,\n color = \"red\",\n}: {\n tile: TileIndex | null;\n color?: string;\n}) {\n useMapStyleOperator(\n (map) => {\n const style = map.getStyle();\n if (style.layers == null) return;\n style.layers = style.layers.filter((l) => l.id != \"tile-extent\");\n if (tile == null) {\n return map.setStyle(style);\n }\n const { x, y, z } = tile;\n const extent = tileToGeoJSON([x, y, z]);\n\n setGeoJSON(map, \"tile-extent\", extent as any);\n\n if (map.getLayer(\"tile-extent\") != null) {\n // If the layer already exists, we can just update it\n map.removeLayer(\"tile-extent\");\n }\n\n map.addLayer({\n id: \"tile-extent\",\n type: \"line\",\n source: \"tile-extent\",\n paint: {\n \"line-color\": color,\n \"line-width\": 2,\n },\n });\n },\n [color, tile],\n );\n return null;\n}\n"],"names":[],"version":3,"file":"map-interface.22ea3934.js.map"}
@@ -1,4 +1,4 @@
1
- import {InfoDrawerHeader as $427faf94283514d4$export$e9ff14c4822c2e8c} from "./map-interface.e1493866.js";
1
+ import {InfoDrawerHeader as $427faf94283514d4$export$e9ff14c4822c2e8c} from "./map-interface.e20a9bac.js";
2
2
  import "../cjs/map-interface.1b386e07.css";
3
3
  import $2cJVU$mapinterfacec99b53b6js from "./map-interface.c99b53b6.js";
4
4
  import {PanelCard as $4bdfa9cd8240b2fd$export$ec68dd77edbe678b} from "./map-interface.27587c50.js";
@@ -55,4 +55,4 @@ function $f50c3537aaff0cff$export$aa4baff5242ea6e1(props) {
55
55
 
56
56
 
57
57
  export {$f50c3537aaff0cff$export$83f9a19cf91c2d06 as InfoDrawerContainer, $f50c3537aaff0cff$export$a5ddcc2a88716895 as BaseInfoDrawer, $f50c3537aaff0cff$export$e54a7f2505304e20 as DetailsPanel, $f50c3537aaff0cff$export$aa4baff5242ea6e1 as LocationPanel};
58
- //# sourceMappingURL=map-interface.e5349e97.js.map
58
+ //# sourceMappingURL=map-interface.54ccd41f.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,yCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,oBAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"map-interface.e5349e97.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAErB,SAAS,0CAAoB,KAAK;IACvC,MAAM,YAAY,CAAA,GAAA,iBAAS,EAAE,cAAc,MAAM,SAAS;IAC1D,OAAO,wBAAE,CAAA,GAAA,yCAAQ,GAAG;QAAE,GAAG,KAAK;mBAAE;IAAU;AAC5C;AAYO,SAAS,0CAAe,KAA0B;IACvD,MAAM,aACJ,SAAS,iBACT,gBAAgB,aAChB,KAAK,WACL,OAAO,YACP,QAAQ,oBACR,mBAAmB,2BACnB,GAAG,MACJ,GAAG;IACJ,MAAM,SACJ,iBACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;iBAAE;QAAS,GAAG,IAAI;IAAC,GAAG;QACxC,SAAS,OAAO,OAAO,wBAAE,MAAM;YAAC;SAAM;KACvC;IACH,OAAO,wBAAE,2CAAqB;mBAAE;IAAU,GAAG;QAC3C;QACA,wBAAE,uBAAuB,wBAAE,CAAA,GAAA,oBAAY,GAAG,wBAAE,kBAAkB;KAC/D;AACH;AAEO,MAAM,4CAAe;AAErB,SAAS,0CAAc,KAAK;IACjC,MAAM,YAAE,QAAQ,aAAE,SAAS,WAAE,UAAU,OAAO,GAAG,MAAM,GAAG;IAC1D,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE,kBAAkB,WAAW;iBAAE;IAAQ;IAC9D,OAAO,wBAAE,2CAAgB;QAAE,WAAW;QAAK,GAAG,IAAI;IAAC,GAAG;AACxD","sources":["packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":[],"version":3,"file":"map-interface.54ccd41f.js.map"}
@@ -1,5 +1,5 @@
1
- import {h as $a281a0612311d660$export$dda1d9f60106f0e9, MapInspectorV2 as $a281a0612311d660$export$eab3034e57b46e26, DevMapPage as $a281a0612311d660$export$2391061fbdfb71ef} from "./map-interface.00058d23.js";
2
- import {TileExtentLayer as $1d4d29ef2725aa16$export$86c09739b12f23cd} from "./map-interface.f107347b.js";
1
+ import {h as $a281a0612311d660$export$dda1d9f60106f0e9, MapInspectorV2 as $a281a0612311d660$export$eab3034e57b46e26, DevMapPage as $a281a0612311d660$export$2391061fbdfb71ef} from "./map-interface.ec2278ab.js";
2
+ import {TileExtentLayer as $1d4d29ef2725aa16$export$86c09739b12f23cd} from "./map-interface.22ea3934.js";
3
3
  import {FeatureProperties as $b8c84b63e75fe4f2$export$2906e7f4b228efe9, FeatureRecord as $b8c84b63e75fe4f2$export$dc87b4d46cea200d, FeatureSelectionHandler as $b8c84b63e75fe4f2$export$214daccdda0f4ac6, Features as $b8c84b63e75fe4f2$export$617d79dae526d2cf, TileInfo as $b8c84b63e75fe4f2$export$43c75dec9d0b96c, FeaturePanel as $b8c84b63e75fe4f2$export$43277c51a01761c1} from "./map-interface.786d6e58.js";
4
4
  import {buildXRayStyle as $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d, buildInspectorStyle as $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6} from "./map-interface.1843c708.js";
5
5
 
@@ -10,4 +10,4 @@ import {buildXRayStyle as $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d, buildInspec
10
10
 
11
11
 
12
12
  export {$a281a0612311d660$export$dda1d9f60106f0e9 as h, $a281a0612311d660$export$eab3034e57b46e26 as MapInspectorV2, $a281a0612311d660$export$2391061fbdfb71ef as DevMapPage, $1d4d29ef2725aa16$export$86c09739b12f23cd as TileExtentLayer, $b8c84b63e75fe4f2$export$2906e7f4b228efe9 as FeatureProperties, $b8c84b63e75fe4f2$export$dc87b4d46cea200d as FeatureRecord, $b8c84b63e75fe4f2$export$214daccdda0f4ac6 as FeatureSelectionHandler, $b8c84b63e75fe4f2$export$617d79dae526d2cf as Features, $b8c84b63e75fe4f2$export$43c75dec9d0b96c as TileInfo, $b8c84b63e75fe4f2$export$43277c51a01761c1 as FeaturePanel, $64ee2eed3ed5ffbc$export$eff5fb2e10d05b1d as buildXRayStyle, $64ee2eed3ed5ffbc$export$e739dc8dfc0db9a6 as buildInspectorStyle};
13
- //# sourceMappingURL=map-interface.3248abc7.js.map
13
+ //# sourceMappingURL=map-interface.90d9023c.js.map
@@ -1 +1 @@
1
- {"mappings":"","sources":["packages/map-interface/src/dev/index.ts"],"sourcesContent":["export * from \"./map-page\";\nexport * from \"./tile-extent\";\nexport * from \"./vector-tile-features\";\nexport * from \"./xray\";\n"],"names":[],"version":3,"file":"map-interface.3248abc7.js.map"}
1
+ {"mappings":"","sources":["packages/map-interface/src/dev/index.ts"],"sourcesContent":["export * from \"./map-page\";\nexport * from \"./tile-extent\";\nexport * from \"./vector-tile-features\";\nexport * from \"./xray\";\n"],"names":[],"version":3,"file":"map-interface.90d9023c.js.map"}
@@ -1,13 +1,13 @@
1
1
  import $jKrEn$mapinterface065737fejs from "./map-interface.065737fe.js";
2
2
  import "../cjs/map-interface.4a401c1f.css";
3
- import {MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d} from "./map-interface.45814073.js";
3
+ import {MapLoadingReporter as $4bc3dd5f0732eed3$export$e57f9eaa51773f82, MapMovedReporter as $4bc3dd5f0732eed3$export$f6eeee399afc4e9a, MapPaddingManager as $4bc3dd5f0732eed3$export$2ab96428dea558d6, MapResizeManager as $4bc3dd5f0732eed3$export$31b2e088aff2dc5d} from "./map-interface.f7b8bdb7.js";
4
4
  import {getMapPadding as $82fe09613877ffc2$export$bb78f9f01775eef1} from "./map-interface.3033c825.js";
5
5
  import $jKrEn$macrostrathyper from "@macrostrat/hyper";
6
- import {useMapDispatch as $jKrEn$useMapDispatch, useMapRef as $jKrEn$useMapRef, useMapStatus as $jKrEn$useMapStatus, getTerrainLayerForStyle as $jKrEn$getTerrainLayerForStyle, useMapPosition as $jKrEn$useMapPosition, use3DTerrain as $jKrEn$use3DTerrain} from "@macrostrat/mapbox-react";
6
+ import {useMapDispatch as $jKrEn$useMapDispatch, useMapRef as $jKrEn$useMapRef, getTerrainLayerForStyle as $jKrEn$getTerrainLayerForStyle, useMapStatus as $jKrEn$useMapStatus, use3DTerrain as $jKrEn$use3DTerrain} from "@macrostrat/mapbox-react";
7
7
  import {setMapPosition as $jKrEn$setMapPosition, getMapPosition as $jKrEn$getMapPosition, mapViewInfo as $jKrEn$mapViewInfo, mergeStyles as $jKrEn$mergeStyles, getMapboxStyle as $jKrEn$getMapboxStyle} from "@macrostrat/mapbox-utils";
8
8
  import $jKrEn$classnames from "classnames";
9
9
  import $jKrEn$mapboxgl from "mapbox-gl";
10
- import {useRef as $jKrEn$useRef, useState as $jKrEn$useState, useEffect as $jKrEn$useEffect} from "react";
10
+ import {useEffect as $jKrEn$useEffect, useRef as $jKrEn$useRef, useState as $jKrEn$useState} from "react";
11
11
  import "mapbox-gl/dist/mapbox-gl.css";
12
12
  import {useAsyncEffect as $jKrEn$useAsyncEffect} from "@macrostrat/ui-components";
13
13
 
@@ -33,7 +33,7 @@ function $0118fc9193bb1bf4$var$defaultInitializeMap(container, args = {}) {
33
33
  container: container,
34
34
  maxZoom: 18,
35
35
  logoPosition: "bottom-left",
36
- trackResize: true,
36
+ trackResize: false,
37
37
  antialias: true,
38
38
  // This is a legacy option for Mapbox GL v2
39
39
  // @ts-ignore
@@ -57,8 +57,16 @@ const $0118fc9193bb1bf4$var$defaultMapPosition = {
57
57
  function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
58
58
  let { terrainSourceID: terrainSourceID } = props;
59
59
  const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition, initializeMap: initializeMap = $0118fc9193bb1bf4$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated
60
- accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, standalone: standalone = false, overlayStyles: overlayStyles, transformStyle: transformStyle, ...rest } = props;
60
+ accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, standalone: standalone = false, overlayStyles: overlayStyles, transformStyle: transformStyle, trackResize: trackResize = true, loadingIgnoredSources: loadingIgnoredSources = [
61
+ "elevationMarker",
62
+ "crossSectionEndpoints"
63
+ ], id: id = "map", className: className, ...rest } = props;
61
64
  if (enableTerrain) terrainSourceID ??= "mapbox-3d-dem";
65
+ (0, $jKrEn$useEffect)(()=>{
66
+ if (id != null) console.warn("Setting a specific element ID for the map is deprecated. Please use className instead.");
67
+ }, [
68
+ id
69
+ ]);
62
70
  const _mapboxToken = mapboxToken ?? accessToken;
63
71
  if (_mapboxToken != null) (0, $jKrEn$mapboxgl).accessToken = _mapboxToken;
64
72
  const dispatch = (0, $jKrEn$useMapDispatch)();
@@ -66,37 +74,34 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
66
74
  const ref = (0, $jKrEn$useRef)();
67
75
  const parentRef = (0, $jKrEn$useRef)();
68
76
  const [baseStyle, setBaseStyle] = (0, $jKrEn$useState)(null);
69
- const isStyleLoaded = (0, $jKrEn$useMapStatus)((state)=>state.isStyleLoaded);
77
+ const estMapPosition = mapRef.current == null ? mapPosition : (0, $jKrEn$getMapPosition)(mapRef.current);
78
+ const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $jKrEn$mapViewInfo)(estMapPosition);
79
+ const is3DAvailable = (mapUse3D ?? false) && enableTerrain;
70
80
  (0, $jKrEn$useEffect)(()=>{
71
81
  /** Manager to update map style */ if (baseStyle == null) return;
72
82
  let map = mapRef.current;
83
+ let newStyle = baseStyle;
84
+ const overlayStyles = props.overlayStyles ?? [];
85
+ if (overlayStyles.length > 0) newStyle = (0, $jKrEn$mergeStyles)(newStyle, ...overlayStyles);
73
86
  /** If we can, we try to update the map style with terrain information
74
87
  * immediately, before the style is loaded. This allows us to avoid a
75
88
  * flash of the map without terrain.
76
89
  *
77
90
  * To do this, we need to estimate the map position before load, which
78
91
  * doesn't always work.
79
- */ // We either get the map position directly from the map or from props
80
- const estMapPosition = map == null ? mapPosition : (0, $jKrEn$getMapPosition)(map);
81
- const { mapUse3D: mapUse3D } = (0, $jKrEn$mapViewInfo)(estMapPosition);
82
- let newStyle = baseStyle;
83
- const overlayStyles = props.overlayStyles ?? [];
84
- if (overlayStyles.length > 0) newStyle = (0, $jKrEn$mergeStyles)(newStyle, ...overlayStyles);
85
- if (mapUse3D) {
92
+ */ if (is3DAvailable) {
86
93
  // We can update the style with terrain layers immediately
87
94
  const terrainStyle = (0, $jKrEn$getTerrainLayerForStyle)(newStyle, terrainSourceID);
88
95
  newStyle = (0, $jKrEn$mergeStyles)(newStyle, terrainStyle);
89
96
  }
90
97
  if (transformStyle != null) newStyle = transformStyle(newStyle);
91
98
  if (map != null) {
92
- console.log("Setting style", newStyle);
93
99
  dispatch({
94
100
  type: "set-style-loaded",
95
101
  payload: false
96
102
  });
97
103
  map.setStyle(newStyle);
98
104
  } else {
99
- console.log("Initializing map", newStyle);
100
105
  const map = initializeMap(ref.current, {
101
106
  style: newStyle,
102
107
  projection: projection,
@@ -118,26 +123,6 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
118
123
  overlayStyles,
119
124
  transformStyle
120
125
  ]);
121
- /** Check back every 0.1 seconds to see if the map has loaded.
122
- * We do it this way because mapboxgl loading events are unreliable */ (0, $jKrEn$useEffect)(()=>{
123
- if (isStyleLoaded) return;
124
- const interval = setInterval(()=>{
125
- const map = mapRef.current;
126
- if (map == null) return;
127
- if (map.isStyleLoaded()) {
128
- // Wait a tick before setting the style loaded state
129
- dispatch({
130
- type: "set-style-loaded",
131
- payload: true
132
- });
133
- onStyleLoaded?.(map);
134
- clearInterval(interval);
135
- }
136
- }, 50);
137
- return ()=>clearInterval(interval);
138
- }, [
139
- isStyleLoaded
140
- ]);
141
126
  (0, $jKrEn$useAsyncEffect)(async ()=>{
142
127
  /** Manager to update map style */ let newStyle;
143
128
  if (typeof style === "string") newStyle = await (0, $jKrEn$getMapboxStyle)(style, {
@@ -148,35 +133,36 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
148
133
  }, [
149
134
  style
150
135
  ]);
151
- const _computedMapPosition = (0, $jKrEn$useMapPosition)();
152
- const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $jKrEn$mapViewInfo)(_computedMapPosition);
153
136
  // Get map projection
154
137
  const _projection = mapRef.current?.getProjection()?.name ?? "mercator";
155
- const className = (0, $jKrEn$classnames)({
138
+ const mapClassName = (0, $jKrEn$classnames)({
156
139
  "is-rotated": mapIsRotated ?? false,
157
- "is-3d-available": mapUse3D ?? false
140
+ "is-3d-available": is3DAvailable
158
141
  }, `${_projection}-projection`);
159
142
  const parentClassName = (0, $jKrEn$classnames)({
160
143
  standalone: standalone
161
- });
144
+ }, className);
162
145
  return $0118fc9193bb1bf4$var$h("div.map-view-container.main-view", {
163
146
  ref: parentRef,
164
147
  className: parentClassName
165
148
  }, [
166
- $0118fc9193bb1bf4$var$h("div.mapbox-map#map", {
149
+ $0118fc9193bb1bf4$var$h("div.mapbox-map.map-view", {
167
150
  ref: ref,
168
- className: className
151
+ className: mapClassName,
152
+ id: id
169
153
  }),
170
154
  $0118fc9193bb1bf4$var$h((0, $4bc3dd5f0732eed3$export$e57f9eaa51773f82), {
171
- ignoredSources: [
172
- "elevationMarker",
173
- "crossSectionEndpoints"
174
- ]
155
+ ignoredSources: loadingIgnoredSources
156
+ }),
157
+ $0118fc9193bb1bf4$var$h($0118fc9193bb1bf4$var$StyleLoadedReporter, {
158
+ onStyleLoaded: onStyleLoaded
175
159
  }),
176
160
  $0118fc9193bb1bf4$var$h((0, $4bc3dd5f0732eed3$export$f6eeee399afc4e9a), {
177
161
  onMapMoved: onMapMoved
178
162
  }),
179
- $0118fc9193bb1bf4$var$h((0, $4bc3dd5f0732eed3$export$31b2e088aff2dc5d), {
163
+ // Subsitute for trackResize: true that allows map resizing to
164
+ // be tied to a specific ref component
165
+ $0118fc9193bb1bf4$var$h.if(trackResize)((0, $4bc3dd5f0732eed3$export$31b2e088aff2dc5d), {
180
166
  containerRef: ref
181
167
  }),
182
168
  $0118fc9193bb1bf4$var$h((0, $4bc3dd5f0732eed3$export$2ab96428dea558d6), {
@@ -185,13 +171,39 @@ function $0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8(props) {
185
171
  infoMarkerPosition: infoMarkerPosition
186
172
  }),
187
173
  $0118fc9193bb1bf4$var$h($0118fc9193bb1bf4$export$cee395a8a2a00b29, {
188
- mapUse3D: mapUse3D,
174
+ mapUse3D: is3DAvailable,
189
175
  terrainSourceID: terrainSourceID,
190
176
  style: style
191
177
  }),
192
178
  children
193
179
  ]);
194
180
  }
181
+ function $0118fc9193bb1bf4$var$StyleLoadedReporter({ onStyleLoaded: onStyleLoaded = null }) {
182
+ /** Check back every 0.1 seconds to see if the map has loaded.
183
+ * We do it this way because mapboxgl loading events are unreliable */ const isStyleLoaded = (0, $jKrEn$useMapStatus)((state)=>state.isStyleLoaded);
184
+ const mapRef = (0, $jKrEn$useMapRef)();
185
+ const dispatch = (0, $jKrEn$useMapDispatch)();
186
+ (0, $jKrEn$useEffect)(()=>{
187
+ if (isStyleLoaded) return;
188
+ const interval = setInterval(()=>{
189
+ const map = mapRef.current;
190
+ if (map == null) return;
191
+ if (map.isStyleLoaded()) {
192
+ // Wait a tick before setting the style loaded state
193
+ dispatch({
194
+ type: "set-style-loaded",
195
+ payload: true
196
+ });
197
+ onStyleLoaded?.(map);
198
+ clearInterval(interval);
199
+ }
200
+ }, 50);
201
+ return ()=>clearInterval(interval);
202
+ }, [
203
+ isStyleLoaded
204
+ ]);
205
+ return null;
206
+ }
195
207
  function $0118fc9193bb1bf4$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrainSourceID: terrainSourceID, style: style }) {
196
208
  (0, $jKrEn$use3DTerrain)(mapUse3D, terrainSourceID);
197
209
  return null;
@@ -199,4 +211,4 @@ function $0118fc9193bb1bf4$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrain
199
211
 
200
212
 
201
213
  export {$0118fc9193bb1bf4$export$ab1e7a67d6ec5ad8 as MapView, $0118fc9193bb1bf4$export$cee395a8a2a00b29 as MapTerrainManager};
202
- //# sourceMappingURL=map-interface.9ce3d553.js.map
214
+ //# sourceMappingURL=map-interface.ca1ee406.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAwC5B,SAAS,2CAAqB,SAAS,EAAE,OAAyB,CAAC,CAAC;IAClE,MAAM,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IAEjC,MAAM,MAAM,IAAI,CAAA,GAAA,eAAO,EAAE,GAAG,CAAC;mBAC3B;QACA,SAAS;QACT,cAAc;QACd,aAAa;QACb,WAAW;QACX,2CAA2C;QAC3C,aAAa;QACb,oBAAoB;QACpB,GAAG,IAAI;IACT;IAEA,IAAI,eAAe;IACnB,IAAI,gBAAgB,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,MAChE,oEAAoE;IACpE,eAAe;IAGjB,2BAA2B;IAC3B,IAAI,gBAAgB,MAClB,CAAA,GAAA,qBAAa,EAAE,KAAK;IAGtB,OAAO;AACT;AAEA,MAAM,2CAAkC;IACtC,QAAQ;QACN,KAAK;QACL,KAAK;QACL,UAAU;IACZ;AACF;AAEO,SAAS,0CAAQ,KAAmB;IACzC,IAAI,mBAAE,eAAe,EAAE,GAAG;IAC1B,MAAM,iBACJ,gBAAgB,aAChB,KAAK,eACL,WAAW,iBACX,gBAAgB,sDAChB,QAAQ,eACR,WAAW,eACX,aAAa;IACb,WAAW,sBACX,kBAAkB,oBAClB,gBAAgB,cAChB,UAAU,eACV,cAAc,qBACd,gBAAgB,kBAChB,aAAa,kBACb,aAAa,sBACb,aAAa,kBACb,cAAc,eACd,cAAc,6BACd,wBAAwB;QAAC;QAAmB;KAAwB,MACpE,KAAK,kBACL,SAAS,EACT,GAAG,MACJ,GAAG;IACJ,IAAI,eACF,oBAAoB;IAGtB,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,MAAM,MACR,QAAQ,IAAI,CACV;IAGN,GAAG;QAAC;KAAG;IAEP,MAAM,eAAe,eAAe;IAEpC,IAAI,gBAAgB,MAClB,CAAA,GAAA,eAAO,EAAE,WAAW,GAAG;IAGzB,MAAM,WAAW,CAAA,GAAA,qBAAa;IAC9B,IAAI,SAAS,CAAA,GAAA,gBAAQ;IACrB,MAAM,MAAM,CAAA,GAAA,aAAK;IACjB,MAAM,YAAY,CAAA,GAAA,aAAK;IAEvB,MAAM,CAAC,WAAW,aAAa,GAAG,CAAA,GAAA,eAAO,EAAkB;IAE3D,MAAM,iBACJ,OAAO,OAAO,IAAI,OAAO,cAAc,CAAA,GAAA,qBAAa,EAAE,OAAO,OAAO;IACtE,MAAM,YAAE,QAAQ,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,kBAAU,EAAE;IAC/C,MAAM,gBAAgB,AAAC,CAAA,YAAY,KAAI,KAAM;IAE7C,CAAA,GAAA,gBAAQ,EAAE;QACR,gCAAgC,GAChC,IAAI,aAAa,MAAM;QACvB,IAAI,MAAM,OAAO,OAAO;QAExB,IAAI,WAAwC;QAE5C,MAAM,gBAAgB,MAAM,aAAa,IAAI,EAAE;QAE/C,IAAI,cAAc,MAAM,GAAG,GACzB,WAAW,CAAA,GAAA,kBAAU,EAAE,aAAa;QAGtC;;;;;;KAMC,GACD,IAAI,eAAe;YACjB,0DAA0D;YAC1D,MAAM,eAAe,CAAA,GAAA,8BAAsB,EAAE,UAAU;YACvD,WAAW,CAAA,GAAA,kBAAU,EAAE,UAAU;QACnC;QAEA,IAAI,kBAAkB,MACpB,WAAW,eAAe;QAG5B,IAAI,OAAO,MAAM;YACf,SAAS;gBAAE,MAAM;gBAAoB,SAAS;YAAM;YACpD,IAAI,QAAQ,CAAC;QACf,OAAO;YACL,MAAM,MAAM,cAAc,IAAI,OAAO,EAAE;gBACrC,OAAO;4BACP;6BACA;kCACA;gBACA,GAAG,IAAI;YACT;YACA,SAAS;gBAAE,MAAM;gBAAW,SAAS;YAAI;YACzC,IAAI,UAAU,CAAC,CAAA,GAAA,yCAAY,EAAE,KAAK,YAAY;gBAAE,SAAS;YAAM;YAC/D,cAAc;QAChB;IACF,GAAG;QAAC;QAAW;QAAe;KAAe;IAE7C,CAAA,GAAA,qBAAa,EAAE;QACb,gCAAgC,GAChC,IAAI;QACJ,IAAI,OAAO,UAAU,UACnB,WAAW,MAAM,CAAA,GAAA,qBAAa,EAAE,OAAO;YACrC,cAAc,CAAA,GAAA,eAAO,EAAE,WAAW;QACpC;aAEA,WAAW;QAEb,aAAa;IACf,GAAG;QAAC;KAAM;IAEV,qBAAqB;IACrB,MAAM,cAAc,OAAO,OAAO,EAAE,iBAAiB,QAAQ;IAE7D,MAAM,eAAe,CAAA,GAAA,iBAAS,EAC5B;QACE,cAAc,gBAAgB;QAC9B,mBAAmB;IACrB,GACA,GAAG,YAAY,WAAW,CAAC;IAG7B,MAAM,kBAAkB,CAAA,GAAA,iBAAS,EAC/B;oBACE;IACF,GACA;IAGF,OAAO,wBACL,oCACA;QAAE,KAAK;QAAW,WAAW;IAAgB,GAC7C;QACE,wBAAE,2BAA2B;iBAAE;YAAK,WAAW;gBAAc;QAAG;QAChE,wBAAE,CAAA,GAAA,yCAAiB,GAAG;YACpB,gBAAgB;QAClB;QACA,wBAAE,2CAAqB;2BAAE;QAAc;QACvC,wBAAE,CAAA,GAAA,yCAAe,GAAG;wBAAE;QAAW;QACjC,8DAA8D;QAC9D,sCAAsC;QACtC,wBAAE,EAAE,CAAC,aAAa,CAAA,GAAA,yCAAe,GAAG;YAAE,cAAc;QAAI;QACxD,wBAAE,CAAA,GAAA,yCAAgB,GAAG;YACnB,cAAc;uBACd;gCACA;QACF;QACA,wBAAE,2CAAmB;YAAE,UAAU;6BAAe;mBAAiB;QAAM;QACvE;KACD;AAEL;AAEA,SAAS,0CAAoB,iBAAE,gBAAgB,MAAM;IACnD;sEACoE,GACpE,MAAM,gBAAgB,CAAA,GAAA,mBAAW,EAAE,CAAC,QAAU,MAAM,aAAa;IACjE,MAAM,SAAS,CAAA,GAAA,gBAAQ;IACvB,MAAM,WAAW,CAAA,GAAA,qBAAa;IAE9B,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,eAAe;QACnB,MAAM,WAAW,YAAY;YAC3B,MAAM,MAAM,OAAO,OAAO;YAC1B,IAAI,OAAO,MAAM;YACjB,IAAI,IAAI,aAAa,IAAI;gBACvB,oDAAoD;gBACpD,SAAS;oBAAE,MAAM;oBAAoB,SAAS;gBAAK;gBACnD,gBAAgB;gBAChB,cAAc;YAChB;QACF,GAAG;QACH,OAAO,IAAM,cAAc;IAC7B,GAAG;QAAC;KAAc;IAElB,OAAO;AACT;AAEO,SAAS,0CAAkB,YAChC,QAAQ,mBACR,eAAe,SACf,KAAK,EAKN;IACC,CAAA,GAAA,mBAAW,EAAE,UAAU;IAEvB,OAAO;AACT","sources":["packages/map-interface/src/map-view.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n useMapRef,\n useMapDispatch,\n use3DTerrain,\n getTerrainLayerForStyle,\n useMapStatus,\n} from \"@macrostrat/mapbox-react\";\nimport React from \"react\";\nimport {\n mapViewInfo,\n MapPosition,\n setMapPosition,\n getMapPosition,\n getMapboxStyle,\n mergeStyles,\n} from \"@macrostrat/mapbox-utils\";\nimport classNames from \"classnames\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useEffect, useRef, useState } from \"react\";\nimport styles from \"./main.module.sass\";\nimport {\n MapLoadingReporter,\n MapMovedReporter,\n MapPaddingManager,\n MapResizeManager,\n} from \"./helpers\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport { getMapPadding } from \"./utils\";\nimport { useAsyncEffect } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\ntype MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, \"container\">;\n\nexport interface MapViewProps extends MapboxCoreOptions {\n showLineSymbols?: boolean;\n children?: React.ReactNode;\n mapboxToken?: string;\n // Deprecated\n accessToken?: string;\n terrainSourceID?: string;\n enableTerrain?: boolean;\n infoMarkerPosition?: mapboxgl.LngLatLike;\n mapPosition?: MapPosition;\n initializeMap?: (\n container: HTMLElement,\n args: MapboxOptionsExt,\n ) => mapboxgl.Map;\n onMapLoaded?: (map: mapboxgl.Map) => void;\n onStyleLoaded?: (map: mapboxgl.Map) => void;\n onMapMoved?: (mapPosition: MapPosition, map: mapboxgl.Map) => void;\n /** This map sets its own viewport, rather than being positioned by a parent.\n * This is a hack to ensure that the map can overflow its \"safe area\" when false */\n standalone?: boolean;\n /** Overlay styles to apply to the map: a list of mapbox style objects or fragments to\n * overlay on top of the main map style at runtime */\n overlayStyles?: Partial<mapboxgl.StyleSpecification>[];\n /** A function to transform the map style before it is loaded */\n transformStyle?: (\n style: mapboxgl.StyleSpecification,\n ) => mapboxgl.StyleSpecification;\n loadingIgnoredSources?: string[];\n id?: string;\n className?: string;\n}\n\nexport interface MapboxOptionsExt extends MapboxCoreOptions {\n mapPosition?: MapPosition;\n}\n\nfunction defaultInitializeMap(container, args: MapboxOptionsExt = {}) {\n const { mapPosition, ...rest } = args;\n\n const map = new mapboxgl.Map({\n container,\n maxZoom: 18,\n logoPosition: \"bottom-left\",\n trackResize: false,\n antialias: true,\n // This is a legacy option for Mapbox GL v2\n // @ts-ignore\n optimizeForTerrain: true,\n ...rest,\n });\n\n let _mapPosition = mapPosition;\n if (_mapPosition == null && rest.center == null && rest.bounds == null) {\n // If no map positioning information is provided, we use the default\n _mapPosition = defaultMapPosition;\n }\n\n // set initial map position\n if (_mapPosition != null) {\n setMapPosition(map, _mapPosition);\n }\n\n return map;\n}\n\nconst defaultMapPosition: MapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000,\n },\n};\n\nexport function MapView(props: MapViewProps) {\n let { terrainSourceID } = props;\n const {\n enableTerrain = true,\n style,\n mapPosition,\n initializeMap = defaultInitializeMap,\n children,\n mapboxToken,\n // Deprecated\n accessToken,\n infoMarkerPosition,\n transformRequest,\n projection,\n onMapLoaded = null,\n onStyleLoaded = null,\n onMapMoved = null,\n standalone = false,\n overlayStyles,\n transformStyle,\n trackResize = true,\n loadingIgnoredSources = [\"elevationMarker\", \"crossSectionEndpoints\"],\n id = \"map\",\n className,\n ...rest\n } = props;\n if (enableTerrain) {\n terrainSourceID ??= \"mapbox-3d-dem\";\n }\n\n useEffect(() => {\n if (id != null) {\n console.warn(\n \"Setting a specific element ID for the map is deprecated. Please use className instead.\",\n );\n }\n }, [id]);\n\n const _mapboxToken = mapboxToken ?? accessToken;\n\n if (_mapboxToken != null) {\n mapboxgl.accessToken = _mapboxToken;\n }\n\n const dispatch = useMapDispatch();\n let mapRef = useMapRef();\n const ref = useRef<HTMLDivElement>();\n const parentRef = useRef<HTMLDivElement>();\n\n const [baseStyle, setBaseStyle] = useState<mapboxgl.Style>(null);\n\n const estMapPosition: MapPosition | null =\n mapRef.current == null ? mapPosition : getMapPosition(mapRef.current);\n const { mapUse3D, mapIsRotated } = mapViewInfo(estMapPosition);\n const is3DAvailable = (mapUse3D ?? false) && enableTerrain;\n\n useEffect(() => {\n /** Manager to update map style */\n if (baseStyle == null) return;\n let map = mapRef.current;\n\n let newStyle: mapboxgl.StyleSpecification = baseStyle;\n\n const overlayStyles = props.overlayStyles ?? [];\n\n if (overlayStyles.length > 0) {\n newStyle = mergeStyles(newStyle, ...overlayStyles);\n }\n\n /** If we can, we try to update the map style with terrain information\n * immediately, before the style is loaded. This allows us to avoid a\n * flash of the map without terrain.\n *\n * To do this, we need to estimate the map position before load, which\n * doesn't always work.\n */\n if (is3DAvailable) {\n // We can update the style with terrain layers immediately\n const terrainStyle = getTerrainLayerForStyle(newStyle, terrainSourceID);\n newStyle = mergeStyles(newStyle, terrainStyle);\n }\n\n if (transformStyle != null) {\n newStyle = transformStyle(newStyle);\n }\n\n if (map != null) {\n dispatch({ type: \"set-style-loaded\", payload: false });\n map.setStyle(newStyle);\n } else {\n const map = initializeMap(ref.current, {\n style: newStyle,\n projection,\n mapPosition,\n transformRequest,\n ...rest,\n });\n dispatch({ type: \"set-map\", payload: map });\n map.setPadding(getMapPadding(ref, parentRef), { animate: false });\n onMapLoaded?.(map);\n }\n }, [baseStyle, overlayStyles, transformStyle]);\n\n useAsyncEffect(async () => {\n /** Manager to update map style */\n let newStyle: mapboxgl.StyleSpecification;\n if (typeof style === \"string\") {\n newStyle = await getMapboxStyle(style, {\n access_token: mapboxgl.accessToken,\n });\n } else {\n newStyle = style;\n }\n setBaseStyle(newStyle);\n }, [style]);\n\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n\n const mapClassName = classNames(\n {\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": is3DAvailable,\n },\n `${_projection}-projection`,\n );\n\n const parentClassName = classNames(\n {\n standalone,\n },\n className,\n );\n\n return h(\n \"div.map-view-container.main-view\",\n { ref: parentRef, className: parentClassName },\n [\n h(\"div.mapbox-map.map-view\", { ref, className: mapClassName, id }),\n h(MapLoadingReporter, {\n ignoredSources: loadingIgnoredSources,\n }),\n h(StyleLoadedReporter, { onStyleLoaded }),\n h(MapMovedReporter, { onMapMoved }),\n // Subsitute for trackResize: true that allows map resizing to\n // be tied to a specific ref component\n h.if(trackResize)(MapResizeManager, { containerRef: ref }),\n h(MapPaddingManager, {\n containerRef: ref,\n parentRef,\n infoMarkerPosition,\n }),\n h(MapTerrainManager, { mapUse3D: is3DAvailable, terrainSourceID, style }),\n children,\n ],\n );\n}\n\nfunction StyleLoadedReporter({ onStyleLoaded = null }) {\n /** Check back every 0.1 seconds to see if the map has loaded.\n * We do it this way because mapboxgl loading events are unreliable */\n const isStyleLoaded = useMapStatus((state) => state.isStyleLoaded);\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n\n useEffect(() => {\n if (isStyleLoaded) return;\n const interval = setInterval(() => {\n const map = mapRef.current;\n if (map == null) return;\n if (map.isStyleLoaded()) {\n // Wait a tick before setting the style loaded state\n dispatch({ type: \"set-style-loaded\", payload: true });\n onStyleLoaded?.(map);\n clearInterval(interval);\n }\n }, 50);\n return () => clearInterval(interval);\n }, [isStyleLoaded]);\n\n return null;\n}\n\nexport function MapTerrainManager({\n mapUse3D,\n terrainSourceID,\n style,\n}: {\n mapUse3D?: boolean;\n terrainSourceID?: string;\n style?: mapboxgl.StyleSpecification | string;\n}) {\n use3DTerrain(mapUse3D, terrainSourceID);\n\n return null;\n}\n"],"names":[],"version":3,"file":"map-interface.ca1ee406.js.map"}
@@ -4,8 +4,9 @@ import {Elevation as $4fae2d573d730db8$export$58bfb4f6ec5aa58d, LngLatCoords as
4
4
  import {Button as $fU9jX$Button, Icon as $fU9jX$Icon} from "@blueprintjs/core";
5
5
  import $fU9jX$macrostrathyper from "@macrostrat/hyper";
6
6
  import {useToaster as $fU9jX$useToaster} from "@macrostrat/ui-components";
7
- import {useFocusState as $fU9jX$useFocusState, isCentered as $fU9jX$isCentered, LocationFocusButton as $fU9jX$LocationFocusButton} from "@macrostrat/mapbox-react";
7
+ import {useFocusState as $fU9jX$useFocusState, LocationFocusButton as $fU9jX$LocationFocusButton} from "@macrostrat/mapbox-react";
8
8
  import $fU9jX$classnames from "classnames";
9
+ import {isCentered as $fU9jX$isCentered} from "@macrostrat/mapbox-utils";
9
10
 
10
11
 
11
12
  function $parcel$interopDefault(a) {
@@ -18,6 +19,7 @@ function $parcel$interopDefault(a) {
18
19
 
19
20
 
20
21
 
22
+
21
23
  const $427faf94283514d4$var$h = (0, $fU9jX$macrostrathyper).styled((0, ($parcel$interopDefault($fU9jX$mapinterfacec99b53b6js))));
22
24
  function $427faf94283514d4$var$PositionButton({ position: position, bounds: bounds, showCopyLink: showCopyLink = false }) {
23
25
  const focusState = (0, $fU9jX$useFocusState)(position);
@@ -102,4 +104,4 @@ function $427faf94283514d4$export$e9ff14c4822c2e8c(props) {
102
104
 
103
105
 
104
106
  export {$427faf94283514d4$export$e9ff14c4822c2e8c as InfoDrawerHeader};
105
- //# sourceMappingURL=map-interface.e1493866.js.map
107
+ //# sourceMappingURL=map-interface.e20a9bac.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAE5B,SAAS,qCAAe,YAAE,QAAQ,UAAE,MAAM,gBAAE,eAAe,OAAO;IAChE,MAAM,aAAa,CAAA,GAAA,oBAAY,EAAE;IAEjC,MAAM,oBAAoB,CAAA,GAAA,iBAAS,EAAE,eAAe;IAEpD,OAAO,wBAAE,yBAAyB;QAChC,wBAAE,CAAA,GAAA,0BAAkB,GAAG;YAAE,UAAU;oBAAU;wBAAQ;QAAW,GAAG,EAAE;QACrE,wBAAE,EAAE,CAAC,qBAAqB,YAAY,MAAM,sCAAgB;YAC1D,UAAU;QACZ;KACD;AACH;AAEA,SAAS,qCAAe,YAAE,QAAQ,YAAE,QAAQ,WAAE,OAAO,EAAE,GAAG,MAAM;IAC9D,MAAM,UAAU,CAAA,GAAA,iBAAS;IAEzB,IAAI,UAAU,CAAC,WAAW,CAAC;IAC3B,IAAI,YAAY,MACd,WAAW,CAAC,IAAI,EAAE,UAAU;IAE9B,WAAW;IAEX,OAAO,wBACL,CAAA,GAAA,aAAK,GACL;QACE,WAAW;QACX,WAAW,wBAAE,CAAA,GAAA,WAAG,GAAG;YAAE,MAAM;YAAQ,MAAM;QAAG;QAC5C,SAAS;QACT,OAAO;QACP;YACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD;gBACE,SAAS,KAAK;6BACZ;oBACA,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;gBACA;YACF,GACA;gBACE,SAAS,KAAK;oBACZ,SAAS;oBACT,QAAQ;oBACR,MAAM;oBACN,SAAS;gBACX;YACF;QAEJ;QACA,GAAG,IAAI;IACT,GACA,YAAY;AAEhB;AAcO,SAAS,0CAAiB,KAA4B;IAC3D,MAAM,WACJ,OAAO,YACP,QAAQ,UACR,MAAM,QACN,OAAO,cACP,SAAS,0BACT,sBAAsB,eACtB,cAAc,iBACd,QAAQ,aACR,SAAS,EACV,GAAG;IAEJ,IAAI,aAAa;IACjB,IAAI,UAAU,QAAQ,YAAY,MAChC,aAAa,wBAAE,sCAAgB;kBAC7B;gBACA;QACA,cAAc;IAChB;IAGF,OAAO,wBACL,gCACA;QACE,WAAW,CAAA,GAAA,iBAAS,EAAE,WAAW;YAAE,gBAAgB;QAAY;IACjE,GACA;QACE;QACA;QACA,wBAAE;QACF,wBAAE,EAAE,CAAC,YAAY,MAAM,CAAA,GAAA,yCAAW,GAAG;sBACnC;kBACA;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,aAAa,MAAM,CAAA,GAAA,yCAAQ,GAAG;uBACjC;YACA,WAAW;QACb;QACA,wBAAE,EAAE,CAAC,WAAW,MAAM,CAAA,GAAA,aAAK,GAAG;YAC5B,SAAS;YACT,MAAM;YACN,SAAS;QACX;KACD;AAEL","sources":["packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":[],"version":3,"file":"map-interface.e20a9bac.js.map"}