@osm-editor-kit/street-imagery-react 0.1.0-alpha.10 → 0.1.0-alpha.11

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.
@@ -1,5 +1,11 @@
1
1
  import type { Bbox } from '@osm-editor-kit/street-imagery';
2
2
  import { type ProviderId } from '@osm-editor-kit/street-imagery';
3
+ import { keepPreviousData } from '@tanstack/react-query';
4
+ /**
5
+ * Keeps the last result on screen while the next viewport loads. Only while the query is on:
6
+ * a query that is off (provider turned off, zoomed out too far) would show that result forever.
7
+ */
8
+ export declare const previousDataWhile: (enabled: boolean) => typeof keepPreviousData | undefined;
3
9
  /** Host limit on top of the provider's own minimum zooms: below it nothing is requested. */
4
10
  type ProviderDataOptions = {
5
11
  minZoom?: number;
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { distanceMeters, sequencesToFeatureCollection, emptyLineCollection, adap
5
5
  import { Source, Layer, useMap } from 'react-map-gl/maplibre';
6
6
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
7
  import { lazy, useEffect, Fragment as Fragment$1, Suspense, useState, useRef, useEffectEvent } from 'react';
8
- import { useQuery, useQueries } from '@tanstack/react-query';
8
+ import { keepPreviousData, useQuery, useQueries } from '@tanstack/react-query';
9
9
  import { create } from 'zustand';
10
10
 
11
11
  var POINTS_SOURCE_ID = "selection-highlight";
@@ -139,6 +139,7 @@ var withinBbox = (bbox) => (item) => {
139
139
  const [lng, lat] = item.lngLat;
140
140
  return lng >= bbox[0] && lng <= bbox[2] && lat >= bbox[1] && lat <= bbox[3];
141
141
  };
142
+ var previousDataWhile = (enabled) => enabled ? keepPreviousData : void 0;
142
143
  var useProviderPhotos = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
143
144
  const adapter = adapterById[providerId];
144
145
  const meta = providerById[providerId];
@@ -150,7 +151,7 @@ var useProviderPhotos = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
150
151
  return photos.filter(withinBbox(bbox));
151
152
  },
152
153
  enabled,
153
- placeholderData: (previous) => previous
154
+ placeholderData: previousDataWhile(enabled)
154
155
  });
155
156
  };
156
157
  var useProviderSequences = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
@@ -162,7 +163,7 @@ var useProviderSequences = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
162
163
  queryKey: ["provider-sequences", providerId, bboxKey(bbox), zoom],
163
164
  queryFn: ({ signal }) => adapter?.fetchSequences?.(bbox, zoom, signal) ?? [],
164
165
  enabled,
165
- placeholderData: (previous) => previous
166
+ placeholderData: previousDataWhile(enabled)
166
167
  });
167
168
  };
168
169
  var useProviderMapFeatures = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
@@ -176,7 +177,7 @@ var useProviderMapFeatures = (providerId, bbox, zoom, { minZoom = 0 } = {}) => {
176
177
  return features.filter(withinBbox(bbox));
177
178
  },
178
179
  enabled,
179
- placeholderData: (previous) => previous
180
+ placeholderData: previousDataWhile(enabled)
180
181
  });
181
182
  };
182
183
  var CONE_SOURCE_ID = "view-direction-cone";
@@ -2057,4 +2058,4 @@ var PhotoDateRangeFilter = ({
2057
2058
  ] });
2058
2059
  };
2059
2060
 
2060
- export { BASE_COLOR, FloatingPhotoViewer, FloatingViewerInfoButton, LocationPickOnMap, MAPILLARY_FEATURE_BAR_LABELS, MapillaryFeatureBar, PhotoCount, PhotoDate, PhotoDateRangeFilter, SELECTION_COLOR, SelectedMapFeatureLayer, StreetLevelImagerySelectionOverlay, StreetLevelImagerySourcesAndLayers, StreetLevelImageryViewCone, StreetLevelImageryViewer, VIEWPOINT_DEFAULT_COLOR, VIEWPOINT_DIRECTION_LAYER_ID, VIEW_SHAPE_FILL_OPACITY, ViewpointLayer, getViewpointSession, queryStreetImageryFeatures, resolveSelectedSequence, streetImageryInteractiveLayerIds, useActiveDirectionKey, useAllProviderMapFeatures, useAllProviderPhotos, useArmedLocationOpenerId, useCanGoBack, useCanGoForward, useCurrentHistoryEntry, useLocationPickActions, useMapViewportBbox, useMapillaryImageDetections, useMapillaryMapFeatureImages, useMapillaryMapFeaturesNear, usePhotoFullUrl, usePhotoThumbnail, useProviderMapFeatures, useProviderPhotos, useProviderSequences, useSelectedMapillaryFeature, useViewSuggestions, useViewpointLine, useViewpoints, viewDirectionKeyFromFeatures, viewSuggestionLabel };
2061
+ export { BASE_COLOR, FloatingPhotoViewer, FloatingViewerInfoButton, LocationPickOnMap, MAPILLARY_FEATURE_BAR_LABELS, MapillaryFeatureBar, PhotoCount, PhotoDate, PhotoDateRangeFilter, SELECTION_COLOR, SelectedMapFeatureLayer, StreetLevelImagerySelectionOverlay, StreetLevelImagerySourcesAndLayers, StreetLevelImageryViewCone, StreetLevelImageryViewer, VIEWPOINT_DEFAULT_COLOR, VIEWPOINT_DIRECTION_LAYER_ID, VIEW_SHAPE_FILL_OPACITY, ViewpointLayer, getViewpointSession, previousDataWhile, queryStreetImageryFeatures, resolveSelectedSequence, streetImageryInteractiveLayerIds, useActiveDirectionKey, useAllProviderMapFeatures, useAllProviderPhotos, useArmedLocationOpenerId, useCanGoBack, useCanGoForward, useCurrentHistoryEntry, useLocationPickActions, useMapViewportBbox, useMapillaryImageDetections, useMapillaryMapFeatureImages, useMapillaryMapFeaturesNear, usePhotoFullUrl, usePhotoThumbnail, useProviderMapFeatures, useProviderPhotos, useProviderSequences, useSelectedMapillaryFeature, useViewSuggestions, useViewpointLine, useViewpoints, viewDirectionKeyFromFeatures, viewSuggestionLabel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osm-editor-kit/street-imagery-react",
3
- "version": "0.1.0-alpha.10",
3
+ "version": "0.1.0-alpha.11",
4
4
  "description": "React MapLibre layers and photo viewers for street-level imagery providers.",
5
5
  "homepage": "https://github.com/osmberlin/street-space-editor/tree/main/packages/street-imagery-react",
6
6
  "license": "MIT",