@geolibre/core 3.5.0 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,11 +1,62 @@
1
- import { $ as GEOCODING_PROVIDERS, $i as getPlanetaryBasemapByStyleUrl, $n as groupMemberIndices, $r as getBuildEnvironment, $t as CESIUM_BING_AERIAL_ASSET_ID, A as normalizeSecondaryMapViews, Ai as CHINA_BASEMAPS, An as createStyleLibraryEntryId, Ar as isValidMetadataDate, At as selectedGeocodingLocator, B as storyMapHasContent, Bi as PLANETARY_BASEMAPS, Bn as normalizePrintLayoutConfig, Br as evaluateMapExpression, Bt as PROJECT_CREDENTIAL_FIELDS, C as normalizeModelGraph, Ca as PROJECT_VERSION, Ci as ARCGIS_PROJECTION_PRESETS, Cn as isGeoArrowBatch, Cr as reapplyLayerJoins, Ct as normalizeArcGISLocatorUrl, D as normalizeProcessingHistory, Da as isDuckDBQueryLayer, Di as basemapToCesiumImagery, Dn as STYLE_LIBRARY_BUNDLE_TYPE, Dr as STAC_PROCESSING_EXTENSION, Dt as parseArcGISSuggestions, E as normalizePrimaryRenderer, Ea as detectNonGeographicCoordinates, Ei as availableCesiumBasemap, En as RAMP_STYLE_KEYS, Er as stripVirtualFieldColumns, Et as parseArcGISLocatorInfo, F as projectFromStore, Fi as getRegionalBasemapByStyleUrl, Fn as sanitizeLayerStylePatch, Fr as parseMetadataKeywords, Ft as DEFAULT_STORY_CHAPTER_DURATION_SECONDS, G as DEFAULT_REVERSE_GEOCODE_ENDPOINT, Gi as earthAreaToBody, Gn as scrubCommentsForRemovedLayers, Gr as removeTrailingJsonCommas, Gt as redactCredentials, H as CARTOCIUDAD_PUBLIC_HOST, Hi as PLANETARY_BASEMAP_SENTINEL_PREFIX, Hn as scrubPrintLayoutForLayers, Hr as inferFieldTypes, Ht as isCredentialFieldName, I as resolveMapGrid, Ii as isRegionalBasemapSentinel, In as serializeStyleLibrary, Ir as stacAssetMediaType, It as MAX_STORY_CHAPTER_DURATION_SECONDS, J as GEOCODE_LAT_KEY, Ji as getActiveEllipsoid, Jn as DEFAULT_LAYER_GROUP_OPACITY, Jr as SELECTION_MODES, Jt as setRegistryPublishableSettings, K as GEOCODE_ATTRIBUTE_PREFIX, Ki as earthLengthToBody, Kn as scrubLegendForRemovedLayers, Kr as substituteExpressionVariables, Kt as redactProjectCredentials, L as serializeProject, Li as DEFAULT_ELLIPSOID_ID, Ln as DEFAULT_PRINT_LAYOUT, Lr as validateLayerDescriptiveMetadata, Lt as MIN_STORY_CHAPTER_DURATION_SECONDS, M as normalizeWidgets, Mi as REGIONAL_BASEMAP_GROUPS, Mn as isStyleLibraryTargetLayer, Mr as isValidMetadataUrl, Mt as setGeocodingTokenProvider, N as parseProject, Ni as REGIONAL_BASEMAP_SENTINEL_PREFIX, Nn as normalizeStyleLibraryEntries, Nr as metadataDateToRfc3339, Nt as shouldThrottle, O as normalizeProjectComments, Oa as shouldUseTiledRendering, Oi as normalizeCesiumBasemap, On as STYLE_LIBRARY_BUNDLE_VERSION, Or as STAC_VERSION, Ot as resolveGeocoderConfig, P as portableWmsTileUrl, Pi as getRegionalBasemapById, Pn as parseStyleLibrary, Pr as normalizeLayerDescriptiveMetadata, Pt as unmatchedGeocodeFeature, Q as GEOCODE_STATUS_KEY, Qi as getPlanetaryBasemapById, Qn as effectiveLayerRenderState, Qr as getArcgisApiKey, Qt as resolveHeaderReferences, R as serializeProjectWithLayerCache, Ri as EARTH_MEAN_RADIUS_METERS, Rn as createDefaultPrintLayout, Rr as EXPRESSION_FUNCTION_CATEGORIES, Rt as normalizeStoryChapterDurationSeconds, S as normalizeMapViewState, Sa as OPENFREEMAP_BASEMAPS, Si as parseMapCrsEpsgCode, Sn as geoArrowToFeatureCollection, Sr as layerJoinKey, St as nominatimReverseResultToDisplay, T as normalizeObiaWorkbench, Ta as SQL_QUERY_SOURCE_KIND, Ti as CESIUM_BASEMAPS, Tn as BUILT_IN_STYLE_PRESETS, Tr as applyLayerVirtualFields, Tt as normalizeGeocodingProviderId, U as DEFAULT_FORWARD_GEOCODE_ENDPOINT, Ui as PLANET_SWITCHER_OPTIONS, Un as scrubPrintLayoutForRemovedLayers, Ur as isStyleSpecColor, Ut as isCredentialUrlParam, V as CARTOCIUDAD_MIN_INTERVAL_MS, Vi as PLANETARY_BASEMAP_GROUPS, Vn as printLayoutConfigsEqual, Vr as formatExpressionPreviewValue, Vt as PUBLISHABLE_PLUGIN_SETTINGS, W as DEFAULT_GEOCODING_PROVIDER_ID, Wi as bodyLengthToEarth, Wn as removedLayerIdSet, Wr as matchFeaturesByExpression, Wt as redactConfigurationCredentials, X as GEOCODE_PROVIDER_KEY, Xi as getActiveSemiMajorAxisMeters, Xn as buildLayerPanelUnits, Xr as featureSelectionId, Xt as hasHeaderReferences, Y as GEOCODE_LON_KEY, Yi as getActiveMeanRadiusMeters, Yn as applyGroupEffects, Yr as applySelectionMode, Yt as allowsCredentialHeaders, Z as GEOCODE_SCORE_KEY, Zi as getEllipsoid, Zn as buildLayerTree, Zr as invertSelection, Zt as isHeaderReferenceOnly, _ as normalizeBookmarkGroups, _a as MAX_DASHBOARD_COLUMNS, _i as MAP_CRS_PRESETS, _n as czmlSource, _r as resolveRolePrivileges, _t as geocoderSupportsSuggest, a as DEFAULT_PROJECT_NAME, aa as DEFAULT_BLEND_MODE, ai as getRuntimeEnvironment, an as cesiumIonAssetKind, ar as reorderLayerGroupInPanel, at as arcgisLocatorInputField, b as normalizeLegendConfig, ba as MIN_DASHBOARD_COLUMNS, bi as getMapCrsPreset, bn as computeGeoArrowBBox, br as cascadeLayerJoinRefresh, bt as nextDelayMs, c as createDefaultMapView, ca as DEFAULT_LEGEND_CONFIG, ci as decodePolyline, cn as isCesiumOnlyLayer, cr as ROLE_PRIVILEGES, ct as csvRowsToGeocodeRequests, d as createProjectTemplate, da as DEFAULT_PROJECT_PREFERENCES, di as geoJSONToPolylineStr, dn as cesiumKmlSource, dr as hasAppPrivilege, dt as geocodeMatchToFeature, ea as meanRadiusMeters, ei as getCesiumIonToken, en as CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID, er as layerGroupDepth, et as GeocoderServiceError, f as detachProjectCopy, fa as DEFAULT_STORY_MAP, fi as polylineStrToGeoJSON, fn as createCesiumKmlLayer, fr as inferLayerCapabilities, ft as geocodeReverse, g as normalizeBlankBackgroundColor, ga as LAYER_TYPES, gi as transformGeojsonElevation, gn as createCzmlLayer, gr as resolveLayerCapabilities, gt as geocoderSupportsReverse, h as isSessionOnlyLayer, ha as LARGE_VECTOR_FEATURE_THRESHOLD, hi as horizontalBbox, hn as CZML_SOURCE_KIND, hr as normalizeLayerCapabilities, ht as geocoderNeedsApiKey, i as previewValue, ia as DEFAULT_BASEMAP, ii as getProtomapsStyleUrl, in as cesiumIonAssetId, ir as normalizeGroupContiguity, it as PUBLIC_GEOCODE_ROW_CAP, j as normalizeStoryMap, ji as REGIONAL_BASEMAPS, jn as extractStyleLibraryStyle, jr as isValidMetadataEmail, jt as setGeocodingFetch, k as normalizeProjectInteraction, ka as styleValue, ki as sameCesiumImagery, kn as SYMBOL_STYLE_KEYS, kr as buildLayerStacItem, kt as rowCap, l as createEmptyProject, la as DEFAULT_MAP_GRID_LAYOUT, li as decodePolylineDetailed, ln as parseCesiumIonAssetId, lr as appPrivilegeReason, lt as fetchArcGISLocatorInfo, m as isAllowedPluginManifestUrl, ma as DUCKDB_VECTOR_ROUTE_BYTES, mi as geojsonHasZCoordinates, mn as CZML_QUICK_PICKS, mr as normalizeAppPrivileges, mt as geocoderMinIntervalMs, n as diffProjects, na as BLANK_BASEMAP, ni as getMapboxAccessToken, nn as CESIUM_ION_SOURCE_KIND, nr as layerGroupSortability, nt as NOMINATIM_MIN_INTERVAL_MS, o as MAX_PROJECT_BOOKMARKS, oa as DEFAULT_DASHBOARD_COLUMNS, oi as getSpatialExtensionPath, on as createCesiumIonLayer, or as sortLayerGroupInPanel, ot as buildForwardGeocodeUrl, p as hydrateProjectLayer, pa as DUCKDB_VECTOR_FEATURE_WARN_COUNT, pi as unescapePolyline, pn as isCesiumKmlLayer, pr as intersectPrivileges, pt as geocodeSuggest, q as GEOCODE_DISPLAY_NAME_KEY, qi as getActiveBodyRadiusRatio, qn as scrubWidgetsForRemovedLayers, qr as validateMapExpression, qt as redactUrlCredentials, r as jsonValuesEqual, ra as BLEND_MODES, ri as getProtomapsApiKey, rn as CESIUM_OSM_BUILDINGS_ASSET_ID, rr as layerPanelGroupHeaders, rt as NOMINATIM_PUBLIC_HOST, s as applyProjectToStore, sa as DEFAULT_LAYER_STYLE, si as batchDecodePolylines, sn as isCesiumIonLayer, sr as ALL_APP_PRIVILEGES, st as buildReverseGeocodeUrl, t as diffFeatureCollections, ta as setActiveEllipsoidId, ti as getGoogleMapsApiKey, tn as CESIUM_ION_QUICK_PICKS, tr as layerGroupMoveability, tt as GeocoderUnsupportedError, u as createProjectLayerSerializationCache, ua as DEFAULT_PRIMARY_RENDERER, ui as encodePolyline, un as CESIUM_KML_SOURCE_KIND, ur as createDefaultAppCapabilities, ut as geocodeForward, v as normalizeBookmarks, va as MAX_MAP_GRID_DIM, vi as adaptBboxTemplateToCrs, vn as isCzmlLayer, vr as applyJoinsToLayer, vt as getGeocoderConfig, w as normalizeModels, wa as PROTOMAPS_BASEMAPS, wi as normalizeArcgisWkid, wn as withRasterSourceDefaults, wr as stripJoinFields, wt as normalizeGeocodingLocator, x as normalizeMapLayout, xa as NETCDF_IMAGE_SOURCE_KIND, xi as normalizeMapCrs, xn as featureCollectionToGeoArrow, xr as collectTransitiveJoinSourceIds, xt as nominatimResultToFeature, y as normalizeDashboardColumns, ya as MAX_PROCESSING_HISTORY, yi as deriveTileMatrixSet, yn as parseCzml, yr as applyLayerJoins, yt as getGeocodingProvider, z as serializeProjectWithLayerCacheAsync, zi as ELLIPSOIDS, zn as isDefaultPrintLayout, zr as compileFeatureExpression, zt as MAX_REDACT_DEPTH } from "./project-diff-CPb5ZXb_.mjs";
1
+ import { $ as GEOCODING_PROVIDERS, $i as getPlanetaryBasemapById, $n as groupMemberIndices, $r as getBuildEnvironment, $t as CESIUM_BING_AERIAL_ASSET_ID, A as normalizeSecondaryMapViews, Aa as styleValue, Ai as sameCesiumImagery, An as createStyleLibraryEntryId, Ar as isValidMetadataDate, At as selectedGeocodingLocator, B as storyMapHasContent, Bi as ELLIPSOIDS, Bn as normalizePrintLayoutConfig, Br as evaluateMapExpression, Bt as PROJECT_CREDENTIAL_FIELDS, C as normalizeModelGraph, Ca as OPENFREEMAP_BASEMAPS, Ci as parseMapCrsEpsgCode, Cn as isGeoArrowBatch, Cr as reapplyLayerJoins, Ct as normalizeArcGISLocatorUrl, D as normalizeProcessingHistory, Da as detectNonGeographicCoordinates, Di as availableCesiumBasemap, Dn as STYLE_LIBRARY_BUNDLE_TYPE, Dr as STAC_PROCESSING_EXTENSION, Dt as parseArcGISSuggestions, E as normalizePrimaryRenderer, Ea as SQL_QUERY_SOURCE_KIND, Ei as CESIUM_BASEMAPS, En as RAMP_STYLE_KEYS, Er as stripVirtualFieldColumns, Et as parseArcGISLocatorInfo, F as projectFromStore, Fi as getRegionalBasemapById, Fn as sanitizeLayerStylePatch, Fr as parseMetadataKeywords, Ft as DEFAULT_STORY_CHAPTER_DURATION_SECONDS, G as DEFAULT_REVERSE_GEOCODE_ENDPOINT, Gi as bodyLengthToEarth, Gn as scrubCommentsForRemovedLayers, Gr as removeTrailingJsonCommas, Gt as redactCredentials, H as CARTOCIUDAD_PUBLIC_HOST, Hi as PLANETARY_BASEMAP_GROUPS, Hn as scrubPrintLayoutForLayers, Hr as inferFieldTypes, Ht as isCredentialFieldName, I as resolveMapGrid, Ii as getRegionalBasemapByStyleUrl, In as serializeStyleLibrary, Ir as stacAssetMediaType, It as MAX_STORY_CHAPTER_DURATION_SECONDS, J as GEOCODE_LAT_KEY, Ji as getActiveBodyRadiusRatio, Jn as DEFAULT_LAYER_GROUP_OPACITY, Jr as SELECTION_MODES, Jt as setRegistryPublishableSettings, K as GEOCODE_ATTRIBUTE_PREFIX, Ki as earthAreaToBody, Kn as scrubLegendForRemovedLayers, Kr as substituteExpressionVariables, Kt as redactProjectCredentials, L as serializeProject, Li as isRegionalBasemapSentinel, Ln as DEFAULT_PRINT_LAYOUT, Lr as validateLayerDescriptiveMetadata, Lt as MIN_STORY_CHAPTER_DURATION_SECONDS, M as normalizeWidgets, Mi as REGIONAL_BASEMAPS, Mn as isStyleLibraryTargetLayer, Mr as isValidMetadataUrl, Mt as setGeocodingTokenProvider, N as parseProject, Ni as REGIONAL_BASEMAP_GROUPS, Nn as normalizeStyleLibraryEntries, Nr as metadataDateToRfc3339, Nt as shouldThrottle, O as normalizeProjectComments, Oa as isDuckDBQueryLayer, Oi as basemapToCesiumImagery, On as STYLE_LIBRARY_BUNDLE_VERSION, Or as STAC_VERSION, Ot as resolveGeocoderConfig, P as portableWmsTileUrl, Pi as REGIONAL_BASEMAP_SENTINEL_PREFIX, Pn as parseStyleLibrary, Pr as normalizeLayerDescriptiveMetadata, Pt as unmatchedGeocodeFeature, Q as GEOCODE_STATUS_KEY, Qi as getEllipsoid, Qn as effectiveLayerRenderState, Qr as getArcgisApiKey, Qt as resolveHeaderReferences, R as serializeProjectWithLayerCache, Ri as DEFAULT_ELLIPSOID_ID, Rn as createDefaultPrintLayout, Rr as EXPRESSION_FUNCTION_CATEGORIES, Rt as normalizeStoryChapterDurationSeconds, S as normalizeMapViewState, Sa as NETCDF_IMAGE_SOURCE_KIND, Si as normalizeMapCrs, Sn as geoArrowToFeatureCollection, Sr as layerJoinKey, St as nominatimReverseResultToDisplay, T as normalizeObiaWorkbench, Ta as PROTOMAPS_BASEMAPS, Ti as normalizeArcgisWkid, Tn as BUILT_IN_STYLE_PRESETS, Tr as applyLayerVirtualFields, Tt as normalizeGeocodingProviderId, U as DEFAULT_FORWARD_GEOCODE_ENDPOINT, Ui as PLANETARY_BASEMAP_SENTINEL_PREFIX, Un as scrubPrintLayoutForRemovedLayers, Ur as isStyleSpecColor, Ut as isCredentialUrlParam, V as CARTOCIUDAD_MIN_INTERVAL_MS, Vi as PLANETARY_BASEMAPS, Vn as printLayoutConfigsEqual, Vr as formatExpressionPreviewValue, Vt as PUBLISHABLE_PLUGIN_SETTINGS, W as DEFAULT_GEOCODING_PROVIDER_ID, Wi as PLANET_SWITCHER_OPTIONS, Wn as removedLayerIdSet, Wr as matchFeaturesByExpression, Wt as redactConfigurationCredentials, X as GEOCODE_PROVIDER_KEY, Xi as getActiveMeanRadiusMeters, Xn as buildLayerPanelUnits, Xr as featureSelectionId, Xt as hasHeaderReferences, Y as GEOCODE_LON_KEY, Yi as getActiveEllipsoid, Yn as applyGroupEffects, Yr as applySelectionMode, Yt as allowsCredentialHeaders, Z as GEOCODE_SCORE_KEY, Zi as getActiveSemiMajorAxisMeters, Zn as buildLayerTree, Zr as invertSelection, Zt as isHeaderReferenceOnly, _ as normalizeBookmarkGroups, _a as LAYER_TYPES, _i as MAP_CRS_CHANGE_EVENT, _n as czmlSource, _r as resolveRolePrivileges, _t as geocoderSupportsSuggest, a as DEFAULT_PROJECT_NAME, aa as DEFAULT_BASEMAP, ai as getRuntimeEnvironment, an as cesiumIonAssetKind, ar as reorderLayerGroupInPanel, at as arcgisLocatorInputField, b as normalizeLegendConfig, ba as MAX_PROCESSING_HISTORY, bi as deriveTileMatrixSet, bn as computeGeoArrowBBox, br as cascadeLayerJoinRefresh, bt as nextDelayMs, c as createDefaultMapView, ca as DEFAULT_LAYER_STYLE, ci as decodePolyline, cn as isCesiumOnlyLayer, cr as ROLE_PRIVILEGES, ct as csvRowsToGeocodeRequests, d as createProjectTemplate, da as DEFAULT_PRIMARY_RENDERER, di as geoJSONToPolylineStr, dn as cesiumKmlSource, dr as hasAppPrivilege, dt as geocodeMatchToFeature, ea as getPlanetaryBasemapByStyleUrl, ei as getCesiumIonToken, en as CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID, er as layerGroupDepth, et as GeocoderServiceError, f as detachProjectCopy, fa as DEFAULT_PROJECT_PREFERENCES, fi as polylineStrToGeoJSON, fn as createCesiumKmlLayer, fr as inferLayerCapabilities, ft as geocodeReverse, g as normalizeBlankBackgroundColor, ga as LARGE_VECTOR_FEATURE_THRESHOLD, gi as transformGeojsonElevation, gn as createCzmlLayer, gr as resolveLayerCapabilities, gt as geocoderSupportsReverse, h as isSessionOnlyLayer, ha as DUCKDB_VECTOR_ROUTE_BYTES, hi as horizontalBbox, hn as CZML_SOURCE_KIND, hr as normalizeLayerCapabilities, ht as geocoderNeedsApiKey, i as previewValue, ia as BLEND_MODES, ii as getProtomapsStyleUrl, in as cesiumIonAssetId, ir as normalizeGroupContiguity, it as PUBLIC_GEOCODE_ROW_CAP, j as normalizeStoryMap, ji as CHINA_BASEMAPS, jn as extractStyleLibraryStyle, jr as isValidMetadataEmail, jt as setGeocodingFetch, k as normalizeProjectInteraction, ka as shouldUseTiledRendering, ki as normalizeCesiumBasemap, kn as SYMBOL_STYLE_KEYS, kr as buildLayerStacItem, kt as rowCap, l as createEmptyProject, la as DEFAULT_LEGEND_CONFIG, li as decodePolylineDetailed, ln as parseCesiumIonAssetId, lr as appPrivilegeReason, lt as fetchArcGISLocatorInfo, m as isAllowedPluginManifestUrl, ma as DUCKDB_VECTOR_FEATURE_WARN_COUNT, mi as geojsonHasZCoordinates, mn as CZML_QUICK_PICKS, mr as normalizeAppPrivileges, mt as geocoderMinIntervalMs, n as diffProjects, na as setActiveEllipsoidId, ni as getMapboxAccessToken, nn as CESIUM_ION_SOURCE_KIND, nr as layerGroupSortability, nt as NOMINATIM_MIN_INTERVAL_MS, o as MAX_PROJECT_BOOKMARKS, oa as DEFAULT_BLEND_MODE, oi as getSpatialExtensionPath, on as createCesiumIonLayer, or as sortLayerGroupInPanel, ot as buildForwardGeocodeUrl, p as hydrateProjectLayer, pa as DEFAULT_STORY_MAP, pi as unescapePolyline, pn as isCesiumKmlLayer, pr as intersectPrivileges, pt as geocodeSuggest, q as GEOCODE_DISPLAY_NAME_KEY, qi as earthLengthToBody, qn as scrubWidgetsForRemovedLayers, qr as validateMapExpression, qt as redactUrlCredentials, r as jsonValuesEqual, ra as BLANK_BASEMAP, ri as getProtomapsApiKey, rn as CESIUM_OSM_BUILDINGS_ASSET_ID, rr as layerPanelGroupHeaders, rt as NOMINATIM_PUBLIC_HOST, s as applyProjectToStore, sa as DEFAULT_DASHBOARD_COLUMNS, si as batchDecodePolylines, sn as isCesiumIonLayer, sr as ALL_APP_PRIVILEGES, st as buildReverseGeocodeUrl, t as diffFeatureCollections, ta as meanRadiusMeters, ti as getGoogleMapsApiKey, tn as CESIUM_ION_QUICK_PICKS, tr as layerGroupMoveability, tt as GeocoderUnsupportedError, u as createProjectLayerSerializationCache, ua as DEFAULT_MAP_GRID_LAYOUT, ui as encodePolyline, un as CESIUM_KML_SOURCE_KIND, ur as createDefaultAppCapabilities, ut as geocodeForward, v as normalizeBookmarks, va as MAX_DASHBOARD_COLUMNS, vi as MAP_CRS_PRESETS, vn as isCzmlLayer, vr as applyJoinsToLayer, vt as getGeocoderConfig, w as normalizeModels, wa as PROJECT_VERSION, wi as ARCGIS_PROJECTION_PRESETS, wn as withRasterSourceDefaults, wr as stripJoinFields, wt as normalizeGeocodingLocator, x as normalizeMapLayout, xa as MIN_DASHBOARD_COLUMNS, xi as getMapCrsPreset, xn as featureCollectionToGeoArrow, xr as collectTransitiveJoinSourceIds, xt as nominatimResultToFeature, y as normalizeDashboardColumns, ya as MAX_MAP_GRID_DIM, yi as adaptBboxTemplateToCrs, yn as parseCzml, yr as applyLayerJoins, yt as getGeocodingProvider, z as serializeProjectWithLayerCacheAsync, zi as EARTH_MEAN_RADIUS_METERS, zn as isDefaultPrintLayout, zr as compileFeatureExpression, zt as MAX_REDACT_DEPTH } from "./project-diff-CSG1AgSK.mjs";
2
2
  import { Color, featureFilter, latest, normalizePropertyExpression } from "@maplibre/maplibre-gl-style-spec";
3
3
  import { create } from "zustand";
4
4
  import { temporal } from "zundo";
5
5
  import { v4 } from "uuid";
6
6
  import { shallow } from "zustand/shallow";
7
7
  import { useShallow } from "zustand/react/shallow";
8
- //#region src/diagram.ts
8
+ // src/tile-address.ts
9
+ /** `"tms"` is the only scheme that flips a row. Anything else is XYZ. */
10
+ function asTileScheme(scheme) {
11
+ return scheme === "tms" ? "tms" : "xyz";
12
+ }
13
+ /**
14
+ * Express a `{-y}` row flip in the form MapLibre understands.
15
+ *
16
+ * `{-y}` flips the row. It does not select TMS. `scheme: "tms"` is its own
17
+ * flip, so a template that has both is requested with an XYZ row. The stored
18
+ * template and scheme stay as the user wrote them; callers apply this when
19
+ * they build a render source. A template may use `{y}` or `{-y}`, not both,
20
+ * and every template in one list must use the same row token. One shared
21
+ * scheme applies to the whole list, so a plain `{y}` template cannot sit
22
+ * beside a `{-y}` template.
23
+ */
24
+ function resolveTileAddress(tiles, scheme = "xyz") {
25
+ let flipped = false;
26
+ let plain = false;
27
+ const next = tiles.map((tile) => {
28
+ const flipY = tile.includes("{-y}");
29
+ const plainY = tile.includes("{y}");
30
+ if (flipY && plainY) throw new Error("A tile template can use {y} or {-y}, not both.");
31
+ if (flipY) flipped = true;
32
+ if (plainY) plain = true;
33
+ return flipY ? tile.replaceAll("{-y}", "{y}") : tile;
34
+ });
35
+ if (flipped && plain) throw new Error("A tile list can use {y} or {-y}, not both.");
36
+ return {
37
+ tiles: next,
38
+ scheme: flipped ? scheme === "tms" ? "xyz" : "tms" : scheme
39
+ };
40
+ }
41
+ /**
42
+ * The row a layer's templates should request.
43
+ *
44
+ * XYZ layers run through {@link resolveTileAddress}. Every other layer keeps
45
+ * its templates and only normalizes `scheme`.
46
+ */
47
+ function resolveLayerTileAddress(layer, tiles) {
48
+ const scheme = asTileScheme(layer.source?.scheme);
49
+ if (layer.type !== "xyz") return {
50
+ tiles: [...tiles],
51
+ scheme
52
+ };
53
+ return resolveTileAddress(tiles, scheme);
54
+ }
55
+ /** True when {@link resolveTileAddress} rejected a mixed `{y}` / `{-y}` template. */
56
+ function isTileAddressError(error) {
57
+ return error instanceof Error && error.message.includes("{y} or {-y}");
58
+ }
59
+ // src/diagram.ts
9
60
  /**
10
61
  * Hard cap on how many features get a diagram. Each diagram is rasterized into
11
62
  * an icon atlas, so an unbounded layer (e.g. a million-point parquet) would
@@ -210,8 +261,7 @@ function diagramPixelSize(datum, style, maxSizeValue) {
210
261
  if (maxSizeValue <= 0 || datum.sizeValue <= 0) return 8;
211
262
  return Math.max(8, size * Math.sqrt(datum.sizeValue / maxSizeValue));
212
263
  }
213
- //#endregion
214
- //#region src/marker-shape.ts
264
+ // src/marker-shape.ts
215
265
  /**
216
266
  * Trace the outline of a built-in marker {@link MarkerShape} onto a 2D canvas
217
267
  * path, centered in a `size`×`size` box. The caller supplies the fill/stroke;
@@ -372,8 +422,7 @@ function resolveSvgSource(markup) {
372
422
  if (trimmed.startsWith("data:")) return trimmed;
373
423
  return null;
374
424
  }
375
- //#endregion
376
- //#region src/hyperlink.ts
425
+ // src/hyperlink.ts
377
426
  /**
378
427
  * Return a whole-value HTTP(S) URL that is safe to expose as an attribute link.
379
428
  *
@@ -394,8 +443,7 @@ function attributeLinkUrl(value) {
394
443
  return null;
395
444
  }
396
445
  }
397
- //#endregion
398
- //#region src/photo.ts
446
+ // src/photo.ts
399
447
  /**
400
448
  * Feature-property keys for inline photo images, shared by the app and the map
401
449
  * package so neither hardcodes a second copy that could drift. These keys are
@@ -413,8 +461,7 @@ const PHOTO_PROPERTY = "photo";
413
461
  * format a browser cannot display at native size (TIFF/HEIC).
414
462
  */
415
463
  const PHOTO_FULL_PROPERTY = "photo_full";
416
- //#endregion
417
- //#region src/color-ramp.ts
464
+ // src/color-ramp.ts
418
465
  /** The built-in color ramps offered by the style panels. */
419
466
  const VECTOR_COLOR_RAMPS = [
420
467
  {
@@ -942,8 +989,7 @@ function naturalClassBreaks(values, count) {
942
989
  breaks[0] = sorted[0];
943
990
  return breaks;
944
991
  }
945
- //#endregion
946
- //#region src/paths.ts
992
+ // src/paths.ts
947
993
  const PATH_TRAVERSAL = /(?:^|[/\\])\.\.(?:[/\\]|$)/;
948
994
  /**
949
995
  * Whether a path contains a `..` directory-traversal segment. Used to reject a
@@ -975,8 +1021,7 @@ function hasPathTraversal(path) {
975
1021
  function isAbsoluteFilesystemPath(path) {
976
1022
  return path.startsWith("/") || /^[a-z]:[\\/]/i.test(path);
977
1023
  }
978
- //#endregion
979
- //#region src/routing.ts
1024
+ // src/routing.ts
980
1025
  /**
981
1026
  * Routing / network-analysis client and pure helpers backing the Processing →
982
1027
  * Network tools (isochrones / service areas, OD cost matrices).
@@ -1300,8 +1345,7 @@ function requestRoute(endpoint, body, signal) {
1300
1345
  function requestNavigationRoute(endpoint, body, signal) {
1301
1346
  return postJson(`${stripTrailingSlash(endpoint)}/route`, body, signal);
1302
1347
  }
1303
- //#endregion
1304
- //#region src/vector-color.ts
1348
+ // src/vector-color.ts
1305
1349
  /** Whether a color value is a data-driven expression rather than a flat color. */
1306
1350
  function isVectorColorExpression(value) {
1307
1351
  return Array.isArray(value);
@@ -2082,8 +2126,7 @@ function extrusionColorValue(style) {
2082
2126
  if (vectorExpression !== flat) return vectorExpression;
2083
2127
  return parseJsonExpression(styleValue(style, "extrusionAdvancedStyleEnabled") ? styleValue(style, "extrusionColorExpression") : "") ?? flat;
2084
2128
  }
2085
- //#endregion
2086
- //#region src/style-layer-evaluator.ts
2129
+ // src/style-layer-evaluator.ts
2087
2130
  const GEOMETRY_TYPE = {
2088
2131
  Point: 1,
2089
2132
  LineString: 2,
@@ -2162,8 +2205,7 @@ function createStyleLayerEvaluator(layer) {
2162
2205
  }
2163
2206
  };
2164
2207
  }
2165
- //#endregion
2166
- //#region src/document-locale.ts
2208
+ // src/document-locale.ts
2167
2209
  /**
2168
2210
  * The document language, so formatted numbers and dates follow the UI locale.
2169
2211
  *
@@ -2175,8 +2217,7 @@ function createStyleLayerEvaluator(layer) {
2175
2217
  function documentLocale() {
2176
2218
  return (typeof document !== "undefined" ? document.documentElement.lang.trim() : "") || void 0;
2177
2219
  }
2178
- //#endregion
2179
- //#region src/label-number-format.ts
2220
+ // src/label-number-format.ts
2180
2221
  /**
2181
2222
  * Locale-aware number formatting for map labels (issue #2336).
2182
2223
  *
@@ -2392,8 +2433,7 @@ function labelFieldTextField(labels, fallbackLocale) {
2392
2433
  function formatLabelNumberSample(locale, decimals) {
2393
2434
  return labelNumberFormatter(resolveLabelNumberLocale(locale), decimals).format(LABEL_NUMBER_SAMPLE);
2394
2435
  }
2395
- //#endregion
2396
- //#region src/external-native-paint.ts
2436
+ // src/external-native-paint.ts
2397
2437
  /**
2398
2438
  * Whether a layer is drawn by a **custom render layer** its control created — a
2399
2439
  * deck.gl overlay, 3D Tiles, or Add Vector Layer's own MapLibre layers — rather
@@ -2476,8 +2516,7 @@ function rendererAppliesOpacity(layer, renderer) {
2476
2516
  function isAdoptedVectorAwaitingFeatures(layer) {
2477
2517
  return layer.metadata.sourceKind === "maplibre-gl-vector-adopted" && !layer.geojson;
2478
2518
  }
2479
- //#endregion
2480
- //#region src/attribute-form.ts
2519
+ // src/attribute-form.ts
2481
2520
  /** Look up the configuration for a field, if any. */
2482
2521
  function getAttributeFormField(form, field) {
2483
2522
  return form?.fields.find((entry) => entry.field === field);
@@ -2711,8 +2750,50 @@ function featureForEvaluation(properties, feature) {
2711
2750
  properties
2712
2751
  };
2713
2752
  }
2714
- //#endregion
2715
- //#region src/popup.ts
2753
+ // src/map-click-claims.ts
2754
+ /**
2755
+ * Map tools that own the map's clicks while they draw (the Measure control
2756
+ * placing points, the Geo Editor sketching a shape) register a claim here, and
2757
+ * the Identify click handlers stand down while any claim holds. Without it a
2758
+ * click meant as a measure vertex also opens an Identify popup over the layer
2759
+ * underneath (issue #3237).
2760
+ *
2761
+ * A claim is a predicate read at click time rather than a flag the tool sets,
2762
+ * so a tool whose drawing state changes without an event (Measure stops
2763
+ * drawing silently when its panel collapses) never leaves a stale claim.
2764
+ */
2765
+ const claims = /* @__PURE__ */ new Set();
2766
+ /**
2767
+ * Register a tool whose drawing state claims the map's clicks.
2768
+ *
2769
+ * Args:
2770
+ * isClaiming: Returns true while the tool is drawing and owns map clicks.
2771
+ *
2772
+ * Returns:
2773
+ * A function that removes the claim.
2774
+ */
2775
+ function registerMapClickClaim(isClaiming) {
2776
+ const entry = () => isClaiming();
2777
+ claims.add(entry);
2778
+ return () => {
2779
+ claims.delete(entry);
2780
+ };
2781
+ }
2782
+ /**
2783
+ * Whether a registered map tool currently owns the map's clicks.
2784
+ *
2785
+ * Returns:
2786
+ * True when any registered claim reports that its tool is drawing.
2787
+ */
2788
+ function isMapClickClaimed() {
2789
+ for (const isClaiming of claims) try {
2790
+ if (isClaiming()) return true;
2791
+ } catch (error) {
2792
+ console.warn("[GeoLibre] A map click claim could not be read", error);
2793
+ }
2794
+ return false;
2795
+ }
2796
+ // src/popup.ts
2716
2797
  /** Match an inline base64 raster image (excludes SVG, which can carry scripts). */
2717
2798
  const INLINE_IMAGE_DATA_URL = /^data:image\/(?!svg)[\w.+-]+;base64,/i;
2718
2799
  /**
@@ -3055,8 +3136,7 @@ function isSafePopupUrl(value, allowDataImage = false) {
3055
3136
  if (/^https?:\/\//i.test(trimmed)) return true;
3056
3137
  return allowDataImage && INLINE_IMAGE_DATA_URL.test(trimmed);
3057
3138
  }
3058
- //#endregion
3059
- //#region src/quick-filters.ts
3139
+ // src/quick-filters.ts
3060
3140
  /**
3061
3141
  * Quick filters (issue #2114): per-layer, data-driven filter controls that
3062
3142
  * compile down to the MapLibre filter a layer already supports.
@@ -3295,8 +3375,7 @@ function clearQuickFilterValues(filters) {
3295
3375
  text: filter.kind === "text" ? "" : filter.text
3296
3376
  }));
3297
3377
  }
3298
- //#endregion
3299
- //#region src/layer-filters.ts
3378
+ // src/layer-filters.ts
3300
3379
  /**
3301
3380
  * Return a layer's persisted expression filter when it has a usable array
3302
3381
  * shape, otherwise return null.
@@ -3331,8 +3410,7 @@ function compileLayerFilters(layer) {
3331
3410
  function hasActiveLayerFilter(layer) {
3332
3411
  return compileLayerFilters(layer) !== null;
3333
3412
  }
3334
- //#endregion
3335
- //#region src/deployment-capabilities.ts
3413
+ // src/deployment-capabilities.ts
3336
3414
  /** Every capability, in a stable order for docs and tests. */
3337
3415
  const DEPLOYMENT_CAPABILITIES = [
3338
3416
  "project:edit",
@@ -3385,8 +3463,7 @@ function parseDeploymentCapabilities(raw) {
3385
3463
  }
3386
3464
  return granted;
3387
3465
  }
3388
- //#endregion
3389
- //#region src/store/capabilities-slice.ts
3466
+ // src/store/capabilities-slice.ts
3390
3467
  /**
3391
3468
  * What this deployment and this session may do: deployment capabilities
3392
3469
  * (issue #1673) and the application role / privilege model (issue #1672).
@@ -3442,8 +3519,7 @@ const createCapabilitiesSlice = (set, get) => ({
3442
3519
  return hasAppPrivilege(get().capabilities, privilege);
3443
3520
  }
3444
3521
  });
3445
- //#endregion
3446
- //#region src/store/collaboration-slice.ts
3522
+ // src/store/collaboration-slice.ts
3447
3523
  /**
3448
3524
  * A fresh, inactive collaboration slice (no live session). Frozen (like
3449
3525
  * DEFAULT_LEGEND_CONFIG) to guard against accidental in-place mutation; store
@@ -3501,8 +3577,7 @@ const createCollaborationSlice = (set) => ({
3501
3577
  }
3502
3578
  }))
3503
3579
  });
3504
- //#endregion
3505
- //#region src/store/session-slice.ts
3580
+ // src/store/session-slice.ts
3506
3581
  /** Reserved Identify target for querying every visible queryable layer at once. */
3507
3582
  const IDENTIFY_ALL_LAYERS_ID = "__geolibre_identify_all_layers__";
3508
3583
  /**
@@ -3631,8 +3706,7 @@ const createSessionSlice = (set) => ({
3631
3706
  }),
3632
3707
  setAttributeFilter: (filter) => set({ attributeFilter: filter })
3633
3708
  });
3634
- //#endregion
3635
- //#region src/store/layer-removal.ts
3709
+ // src/store/layer-removal.ts
3636
3710
  /**
3637
3711
  * Reference scrubbing shared by the actions that delete layers (`removeLayer`
3638
3712
  * and `removeLayerGroup` with `removeChildren`), so a deleted layer never
@@ -3697,8 +3771,7 @@ function cascadeJoinRefreshForRemoved(layers, layerIds) {
3697
3771
  for (const id of removedLayerIdSet(layerIds)) current = cascadeLayerJoinRefresh(current, id);
3698
3772
  return current;
3699
3773
  }
3700
- //#endregion
3701
- //#region src/store/layer-groups-slice.ts
3774
+ // src/store/layer-groups-slice.ts
3702
3775
  /**
3703
3776
  * Layer-panel folders: create, rename, nest, reorder, sort and delete groups,
3704
3777
  * and move layers between them. `layerGroups` is tracked by undo history
@@ -3889,8 +3962,7 @@ const createLayerGroupsSlice = (set, get) => ({
3889
3962
  };
3890
3963
  })
3891
3964
  });
3892
- //#endregion
3893
- //#region src/file-name.ts
3965
+ // src/file-name.ts
3894
3966
  /**
3895
3967
  * A bare Android SAF document ID, as the browser `File.name` carries after a
3896
3968
  * native import: a known volume prefix (`primary:`, `home:`, `raw:`, `msf:`, or a
@@ -3928,8 +4000,7 @@ function uniqueImportedLayerName(name, names) {
3928
4000
  while (existing.has(candidate)) candidate = `${name}_${suffix++}`;
3929
4001
  return candidate;
3930
4002
  }
3931
- //#endregion
3932
- //#region src/layer-defaults.ts
4003
+ // src/layer-defaults.ts
3933
4004
  /**
3934
4005
  * Initial styling for a newly added vector layer (issue #1519).
3935
4006
  *
@@ -4118,8 +4189,7 @@ function isInitialLayerStyle(style, geojson) {
4118
4189
  };
4119
4190
  return style.fillOpacity === expected.fillOpacity && style.strokeWidth === expected.strokeWidth && style.circleRadius === expected.circleRadius;
4120
4191
  }
4121
- //#endregion
4122
- //#region src/layer-style-clipboard.ts
4192
+ // src/layer-style-clipboard.ts
4123
4193
  /**
4124
4194
  * `metadata.sourceKind` marking a deck.gl COG raster managed by the
4125
4195
  * maplibre-gl-raster control. Mirrors `RASTER_SOURCE_KIND` in
@@ -4230,8 +4300,7 @@ function rescaleEntryCount(state) {
4230
4300
  if (state.mode === "rgb") return Array.isArray(state.bands) ? state.bands.length : 3;
4231
4301
  return 1;
4232
4302
  }
4233
- //#endregion
4234
- //#region src/layer-style-file.ts
4303
+ // src/layer-style-file.ts
4235
4304
  /** `type` tag identifying a layer styles file. */
4236
4305
  const LAYER_STYLES_FILE_TYPE = "geolibre-layer-styles";
4237
4306
  /** Format version written by {@link serializeLayerStylesFile}. */
@@ -4426,8 +4495,7 @@ function matchLayerStyleEntry(layer, entries) {
4426
4495
  patch
4427
4496
  } : null;
4428
4497
  }
4429
- //#endregion
4430
- //#region src/store/layers-slice.ts
4498
+ // src/store/layers-slice.ts
4431
4499
  /**
4432
4500
  * The layer types {@link AppState.addTileLayer} accepts. Each renders through
4433
4501
  * the raster tile path, which is why the layer's `source.type` is always
@@ -4692,6 +4760,10 @@ const createLayersSlice = (set, get) => ({
4692
4760
  const id = v4();
4693
4761
  const tiles = options.tiles.filter((tile) => typeof tile === "string").map((tile) => tile.trim()).filter((tile) => tile !== "");
4694
4762
  if (tiles.length === 0) throw new Error("addTileLayer requires at least one non-empty tile URL template.");
4763
+ resolveLayerTileAddress({
4764
+ type,
4765
+ source: { scheme: options.scheme }
4766
+ }, tiles);
4695
4767
  if (options.minzoom !== void 0 && options.maxzoom !== void 0 && options.minzoom > options.maxzoom) throw new Error(`addTileLayer: minzoom (${options.minzoom}) must be <= maxzoom (${options.maxzoom}).`);
4696
4768
  const layer = {
4697
4769
  id,
@@ -4718,8 +4790,7 @@ const createLayersSlice = (set, get) => ({
4718
4790
  return id;
4719
4791
  }
4720
4792
  });
4721
- //#endregion
4722
- //#region src/layer-library.ts
4793
+ // src/layer-library.ts
4723
4794
  /** `type` discriminator of an exported Layer Library bundle file. */
4724
4795
  const LAYER_LIBRARY_BUNDLE_TYPE = "geolibre-layer-library";
4725
4796
  /** Current bundle format version, for forward-compatible readers. */
@@ -5379,8 +5450,7 @@ function createLayerLibraryEntryId() {
5379
5450
  if (typeof crypto !== "undefined" && "randomUUID" in crypto) return crypto.randomUUID();
5380
5451
  return `layer-lib-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
5381
5452
  }
5382
- //#endregion
5383
- //#region src/store/libraries-slice.ts
5453
+ // src/store/libraries-slice.ts
5384
5454
  /**
5385
5455
  * The Style Manager, Layer Library and Template Library. The app-level lists
5386
5456
  * live outside the project lifecycle (persisted by the desktop app); only the
@@ -5423,8 +5493,7 @@ const createLibrariesSlice = (set) => ({
5423
5493
  saveTemplateEntry: (entry) => set((s) => ({ templateLibrary: s.templateLibrary.some((t) => t.id === entry.id) ? s.templateLibrary.map((t) => t.id === entry.id ? entry : t) : [...s.templateLibrary, entry] })),
5424
5494
  deleteTemplateEntry: (id) => set((s) => ({ templateLibrary: s.templateLibrary.filter((t) => t.id !== id) }))
5425
5495
  });
5426
- //#endregion
5427
- //#region src/store/map-view-slice.ts
5496
+ // src/store/map-view-slice.ts
5428
5497
  /**
5429
5498
  * The map workspace: the primary camera, the basemap, project preferences, the
5430
5499
  * multi-map grid and its secondary panes, and which engine draws the primary
@@ -5672,8 +5741,7 @@ const createMapViewSlice = (set) => ({
5672
5741
  isDirty: true
5673
5742
  })
5674
5743
  });
5675
- //#endregion
5676
- //#region src/store/processing-slice.ts
5744
+ // src/store/processing-slice.ts
5677
5745
  /**
5678
5746
  * Saved processing models (issue #344) and the Processing History log
5679
5747
  * (issue #1292). Both are saved with the project.
@@ -5719,8 +5787,7 @@ const createProcessingSlice = (set) => ({
5719
5787
  isDirty: true
5720
5788
  } : { obiaWorkbench })
5721
5789
  });
5722
- //#endregion
5723
- //#region src/store/project-content-slice.ts
5790
+ // src/store/project-content-slice.ts
5724
5791
  /**
5725
5792
  * Project content that sits beside the layers: review comments (issue #1518),
5726
5793
  * Dashboard widgets (issue #401) and the story map. All of it is saved with the
@@ -5896,8 +5963,7 @@ const createProjectContentSlice = (set) => ({
5896
5963
  };
5897
5964
  })
5898
5965
  });
5899
- //#endregion
5900
- //#region src/history.ts
5966
+ // src/history.ts
5901
5967
  /**
5902
5968
  * Runtime-settable window (ms) used to coalesce rapid history-producing changes
5903
5969
  * (e.g. a continuous opacity/style slider drag) into a single undo entry. Tests
@@ -6025,8 +6091,7 @@ function leadingDebounce(fn, getWait) {
6025
6091
  };
6026
6092
  return wrapped;
6027
6093
  }
6028
- //#endregion
6029
- //#region src/store/undo-history.ts
6094
+ // src/store/undo-history.ts
6030
6095
  /**
6031
6096
  * Undo/redo for the app store. zundo's `temporal` middleware tracks only the
6032
6097
  * project-data fields that {@link partializeHistory} lists (layers, groups,
@@ -6285,8 +6350,7 @@ function clearHistory() {
6285
6350
  notifyProjectRestoreHistory();
6286
6351
  }
6287
6352
  }
6288
- //#endregion
6289
- //#region src/store/project-slice.ts
6353
+ // src/store/project-slice.ts
6290
6354
  /**
6291
6355
  * Project identity and lifecycle: name, path, dirty flag, recent projects, and
6292
6356
  * the project-level settings that have no richer home (plugins, legend, print
@@ -6435,8 +6499,7 @@ const createProjectSlice = (set, get) => ({
6435
6499
  });
6436
6500
  }
6437
6501
  });
6438
- //#endregion
6439
- //#region src/store/ui-slice.ts
6502
+ // src/store/ui-slice.ts
6440
6503
  const createUiSlice = (set) => ({
6441
6504
  ui: {
6442
6505
  processingOpen: false,
@@ -6632,8 +6695,7 @@ const createUiSlice = (set) => ({
6632
6695
  styleManagerOpen: open
6633
6696
  } }))
6634
6697
  });
6635
- //#endregion
6636
- //#region src/store.ts
6698
+ // src/store.ts
6637
6699
  /**
6638
6700
  * The app store: one Zustand store wrapped in zundo's undo history, composed
6639
6701
  * from the slices under `./store/` (zustand's slices pattern). The split is
@@ -6691,8 +6753,7 @@ function useAppCapability(privilege) {
6691
6753
  reason: appPrivilegeReason(capabilities, privilege)
6692
6754
  };
6693
6755
  }
6694
- //#endregion
6695
- //#region src/selection-actions.ts
6756
+ // src/selection-actions.ts
6696
6757
  /**
6697
6758
  * Store-touching selection helpers. Kept out of `selection.ts` so that module
6698
6759
  * stays a pure, directly testable set of functions over id arrays.
@@ -6720,8 +6781,7 @@ function applyMatchedSelection(targetLayerId, matchedIds, mode) {
6720
6781
  store.selectFeatures(next);
6721
6782
  return next.length;
6722
6783
  }
6723
- //#endregion
6724
- //#region src/scale-units.ts
6784
+ // src/scale-units.ts
6725
6785
  /** Conversion constants shared by every scale-bar denomination. */
6726
6786
  const FEET_PER_METER = 3.2808398950131235;
6727
6787
  const METERS_PER_FOOT = .3048;
@@ -6785,8 +6845,7 @@ function scaleSpan(maxMeters, unit) {
6785
6845
  label
6786
6846
  };
6787
6847
  }
6788
- //#endregion
6789
- //#region src/elevation.ts
6848
+ // src/elevation.ts
6790
6849
  /** Open-Meteo accepts at most 100 coordinates per elevation request. */
6791
6850
  const MAX_POINTS_PER_REQUEST = 100;
6792
6851
  /** Abort an elevation request that has not responded within this window. */
@@ -6984,8 +7043,7 @@ function createPointerElevationResolver(options) {
6984
7043
  dispose: invalidate
6985
7044
  };
6986
7045
  }
6987
- //#endregion
6988
- //#region src/camera-altitude.ts
7046
+ // src/camera-altitude.ts
6989
7047
  /**
6990
7048
  * Camera altitude ("Eye alt") for the status bar — issue #1816.
6991
7049
  *
@@ -7032,8 +7090,7 @@ function formatCameraAltitude(meters, unit) {
7032
7090
  maximumFractionDigits: digits
7033
7091
  })} ${label}`;
7034
7092
  }
7035
- //#endregion
7036
- //#region src/layers-file.ts
7093
+ // src/layers-file.ts
7037
7094
  /** `type` tag identifying a layers file. */
7038
7095
  const LAYERS_FILE_TYPE = "geolibre-layers";
7039
7096
  /** Format version written by {@link serializeLayersFile}. */
@@ -7239,8 +7296,7 @@ function addLayersToProject(project, content) {
7239
7296
  layerGroups: [...groups, ...structuredClone(layerGroups)]
7240
7297
  };
7241
7298
  }
7242
- //#endregion
7243
- //#region src/pixel-format.ts
7299
+ // src/pixel-format.ts
7244
7300
  /**
7245
7301
  * Trim a float sample to something readable. A 32-bit raster value decoded to a
7246
7302
  * JS double prints all 17 digits of its binary representation
@@ -7256,8 +7312,7 @@ function formatPixelValue(value) {
7256
7312
  if (Number.isInteger(value)) return String(value);
7257
7313
  return String(Number(value.toPrecision(6)));
7258
7314
  }
7259
- //#endregion
7260
- //#region src/s3.ts
7315
+ // src/s3.ts
7261
7316
  /** SigV4 allows a presigned URL to live at most seven days. */
7262
7317
  const S3_MAX_PRESIGN_SECONDS = 604800;
7263
7318
  const S3_SCHEME = /^s3a?:\/\//i;
@@ -7658,8 +7713,7 @@ async function explainS3ReadError(url, error, translate) {
7658
7713
  origin
7659
7714
  }) : fallback, location.bucket, origin, error);
7660
7715
  }
7661
- //#endregion
7662
- //#region src/storymap-sample.ts
7716
+ // src/storymap-sample.ts
7663
7717
  const SAMPLE_ASSET_BASE = "https://opengeos.org/maplibre-gl-storymaps/assets";
7664
7718
  /**
7665
7719
  * Build a ready-to-play sample story map.
@@ -7778,8 +7832,7 @@ function createSampleStoryMap() {
7778
7832
  ]
7779
7833
  };
7780
7834
  }
7781
- //#endregion
7782
- //#region src/storymap-playback.ts
7835
+ // src/storymap-playback.ts
7783
7836
  /** The clamped opacity recorded for a layer, or undefined when untouched. */
7784
7837
  function recordedStoryOpacity(opacities, layerId) {
7785
7838
  const value = opacities?.[layerId];
@@ -7865,8 +7918,7 @@ function storyLocationView(location, current) {
7865
7918
  bearing: location.bearing ?? current.bearing
7866
7919
  };
7867
7920
  }
7868
- //#endregion
7869
- //#region src/storymap-io.ts
7921
+ // src/storymap-io.ts
7870
7922
  /**
7871
7923
  * Serialize a story map to pretty-printed JSON for export.
7872
7924
  *
@@ -8044,8 +8096,7 @@ function parseCsvRows(text) {
8044
8096
  }
8045
8097
  return rows;
8046
8098
  }
8047
- //#endregion
8048
- //#region src/layer-selectors.ts
8099
+ // src/layer-selectors.ts
8049
8100
  /**
8050
8101
  * Narrow subscriptions to the store's `layers` array.
8051
8102
  *
@@ -8186,8 +8237,7 @@ function useLayerSummaries() {
8186
8237
  function useLayersWhen(active) {
8187
8238
  return useAppStore(selectLayersWhen(active));
8188
8239
  }
8189
- //#endregion
8190
- //#region src/platform.ts
8240
+ // src/platform.ts
8191
8241
  /**
8192
8242
  * Platform detection shared across the workspace. Carries no React/MapLibre
8193
8243
  * dependency so callers stay unit-testable.
@@ -8213,8 +8263,7 @@ function useLayersWhen(active) {
8213
8263
  function isIpadDesktopUserAgent(userAgent, maxTouchPoints) {
8214
8264
  return /Macintosh/.test(userAgent) && (maxTouchPoints ?? 0) > 1;
8215
8265
  }
8216
- //#endregion
8217
- //#region src/three-d-tiles.ts
8266
+ // src/three-d-tiles.ts
8218
8267
  /** Google Photorealistic 3D Tiles root host + path. */
8219
8268
  const GOOGLE_PHOTOREALISTIC_TILES_HOST = "tile.googleapis.com";
8220
8269
  const GOOGLE_PHOTOREALISTIC_TILES_PATH = "/v1/3dtiles/root.json";
@@ -8281,8 +8330,7 @@ function persistedThreeDTilesRequestHeaders(url, headers) {
8281
8330
  if (!isGooglePhotorealisticTilesetUrl(url)) return headers;
8282
8331
  return nonEmptyRecord(stripGoogleMapsApiKeyHeader(headers));
8283
8332
  }
8284
- //#endregion
8285
- //#region src/project-credential-refs.ts
8333
+ // src/project-credential-refs.ts
8286
8334
  /**
8287
8335
  * Credentials a project refers to by name rather than carrying inline.
8288
8336
  *
@@ -8459,8 +8507,7 @@ function resolveProjectHeaderReferences(headers) {
8459
8507
  }
8460
8508
  return resolveHeaderReferences(headers, values);
8461
8509
  }
8462
- //#endregion
8463
- //#region src/visibility.ts
8510
+ // src/visibility.ts
8464
8511
  /**
8465
8512
  * Returns a new FeatureCollection with properties marked as "excluded" removed.
8466
8513
  */
@@ -8519,8 +8566,7 @@ function excludeHiddenFieldsFromProject(project) {
8519
8566
  layers
8520
8567
  } : project;
8521
8568
  }
8522
- //#endregion
8523
- //#region src/editor-tracking.ts
8569
+ // src/editor-tracking.ts
8524
8570
  /** Default field names for maintained editor tracking columns. */
8525
8571
  const DEFAULT_EDITOR_TRACKING_CONFIG = {
8526
8572
  enabled: false,
@@ -8690,8 +8736,7 @@ function stampFeatureCollectionEditorTracking(collection, action, options) {
8690
8736
  features: collection.features.map((feat) => stampFeatureEditorTracking(feat, action, opts))
8691
8737
  };
8692
8738
  }
8693
- //#endregion
8694
- //#region src/editor-identity.ts
8739
+ // src/editor-identity.ts
8695
8740
  /**
8696
8741
  * Runtime resolution of "who is editing", for the editor tracking stamps.
8697
8742
  *
@@ -8739,8 +8784,7 @@ function currentEditorIdentity() {
8739
8784
  const { isActive, selfName } = useAppStore.getState().collaboration;
8740
8785
  return pickEditorIdentity(isActive ? selfName : void 0, readStoredAuthorName());
8741
8786
  }
8742
- //#endregion
8743
- //#region src/datum-shift.ts
8787
+ // src/datum-shift.ts
8744
8788
  /** Inclusive ranges of codes, as a list. */
8745
8789
  const range = (from, to) => Array.from({ length: to - from + 1 }, (_, i) => from + i);
8746
8790
  const SHIFTS = [
@@ -8890,8 +8934,7 @@ function withGeoKeysDatumShift(definition, geoKeys) {
8890
8934
  function installCogTilerDatumShift(module) {
8891
8935
  module.setSourceCrsResolver?.((def, geoKeys) => def.trimStart().startsWith("+") ? withGeoKeysDatumShift(def, geoKeys) : def);
8892
8936
  }
8893
- //#endregion
8894
- //#region src/cog-jpeg-tables.ts
8937
+ // src/cog-jpeg-tables.ts
8895
8938
  const DEFAULT_COEFFICIENTS = [
8896
8939
  .299,
8897
8940
  .587,
@@ -9021,7 +9064,6 @@ function withJpegTablesPatch(module) {
9021
9064
  openCog: (async (input) => patchJpegCogSource(await module.openCog(input)))
9022
9065
  };
9023
9066
  }
9024
- //#endregion
9025
- export { ALL_APP_PRIVILEGES, ALL_DEPLOYMENT_CAPABILITIES, ARCGIS_PROJECTION_PRESETS, BLANK_BASEMAP, BLEND_MODES, BUILT_IN_STYLE_PRESETS, CARTOCIUDAD_MIN_INTERVAL_MS, CARTOCIUDAD_PUBLIC_HOST, CESIUM_BASEMAPS, CESIUM_BING_AERIAL_ASSET_ID, CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID, CESIUM_ION_QUICK_PICKS, CESIUM_ION_SOURCE_KIND, CESIUM_KML_SOURCE_KIND, CESIUM_OSM_BUILDINGS_ASSET_ID, CHINA_BASEMAPS, CZML_QUICK_PICKS, CZML_SOURCE_KIND, DEFAULT_BASEMAP, DEFAULT_BLEND_MODE, DEFAULT_COLLABORATION_STATE, DEFAULT_DASHBOARD_COLUMNS, DEFAULT_EDITOR_IDENTITY, DEFAULT_EDITOR_TRACKING_CONFIG, DEFAULT_ELLIPSOID_ID, DEFAULT_FORWARD_GEOCODE_ENDPOINT, DEFAULT_GEOCODING_PROVIDER_ID, DEFAULT_LAYER_GROUP_OPACITY, DEFAULT_LAYER_STYLE, DEFAULT_LEGEND_CONFIG, DEFAULT_MAP_GRID_LAYOUT, DEFAULT_PRIMARY_RENDERER, DEFAULT_PRINT_LAYOUT, DEFAULT_PROJECT_NAME, DEFAULT_PROJECT_PREFERENCES, DEFAULT_REVERSE_GEOCODE_ENDPOINT, DEFAULT_ROUTING_ENDPOINT, DEFAULT_STORY_CHAPTER_DURATION_SECONDS, DEFAULT_STORY_MAP, DEPLOYMENT_CAPABILITIES, DUCKDB_VECTOR_FEATURE_WARN_COUNT, DUCKDB_VECTOR_ROUTE_BYTES, EARTH_MEAN_RADIUS_METERS, EDITOR_IDENTITY_STORAGE_KEY, ELEVATION_REQUEST_TIMEOUT_MS, ELLIPSOIDS, EXPRESSION_FUNCTION_CATEGORIES, ElevationFetchError, FEET_PER_METER, FEET_PER_MILE, GEOCODE_ATTRIBUTE_PREFIX, GEOCODE_DISPLAY_NAME_KEY, GEOCODE_LAT_KEY, GEOCODE_LON_KEY, GEOCODE_PROVIDER_KEY, GEOCODE_SCORE_KEY, GEOCODE_STATUS_KEY, GEOCODING_PROVIDERS, GOOGLE_MAPS_API_KEY_HEADER, GeocoderServiceError, GeocoderUnsupportedError, IDENTIFY_ALL_LAYERS_ID, LABEL_NUMBER_LOCALES, LABEL_NUMBER_SAMPLE, LARGE_VECTOR_FEATURE_THRESHOLD, LAYERS_FILE_TYPE, LAYERS_FILE_VERSION, LAYER_LIBRARY_BUNDLE_TYPE, LAYER_LIBRARY_BUNDLE_VERSION, LAYER_PALETTE, LAYER_STYLES_FILE_TYPE, LAYER_STYLES_FILE_VERSION, LAYER_TYPES, MAP_CRS_PRESETS, MAX_DASHBOARD_COLUMNS, MAX_DIAGRAM_FEATURES, MAX_DIAGRAM_SCAN_FEATURES, MAX_LAYERS_FILE_BYTES, MAX_LAYER_LIBRARY_ENTRIES, MAX_LAYER_LIBRARY_ENTRY_BYTES, MAX_MAP_GRID_DIM, MAX_POINTS_PER_REQUEST, MAX_PROCESSING_HISTORY, MAX_PROJECT_BOOKMARKS, MAX_REDACT_DEPTH, MAX_STORY_CHAPTER_DURATION_SECONDS, MERCATOR_METERS_PER_PIXEL_AT_ZOOM_0, METERS_PER_FOOT, METERS_PER_MILE, METERS_PER_NAUTICAL_MILE, MIN_DASHBOARD_COLUMNS, MIN_DIAGRAM_SIZE, MIN_STORY_CHAPTER_DURATION_SECONDS, NETCDF_IMAGE_SOURCE_KIND, NOMINATIM_MIN_INTERVAL_MS, NOMINATIM_PUBLIC_HOST, NO_DEPLOYMENT_CAPABILITIES, NO_LAYERS, OPENFREEMAP_BASEMAPS, PHOTO_FULL_PROPERTY, PHOTO_PROPERTY, PLANETARY_BASEMAPS, PLANETARY_BASEMAP_GROUPS, PLANETARY_BASEMAP_SENTINEL_PREFIX, PLANET_SWITCHER_OPTIONS, POINTER_ELEVATION_CACHE_LIMIT, POINTER_ELEVATION_DEBOUNCE_MS, POPUP_IMAGE_HEIGHT_RANGE, POPUP_MAX_WIDTH_RANGE, PROJECT_CREDENTIAL_FIELDS, PROJECT_VERSION, PROTOMAPS_BASEMAPS, PUBLIC_GEOCODE_ROW_CAP, PUBLISHABLE_PLUGIN_SETTINGS, RAMP_STYLE_KEYS, RASTER_APPEARANCE_STATE_KEYS, REGIONAL_BASEMAPS, REGIONAL_BASEMAP_GROUPS, REGIONAL_BASEMAP_SENTINEL_PREFIX, ROLE_PRIVILEGES, RoutingRequestError, S3CorsError, S3_MAX_PRESIGN_SECONDS, SELECTION_MODES, SQL_QUERY_SOURCE_KIND, STAC_PROCESSING_EXTENSION, STAC_VERSION, STYLE_LIBRARY_BUNDLE_TYPE, STYLE_LIBRARY_BUNDLE_VERSION, SYMBOL_STYLE_KEYS, VECTOR_COLOR_RAMPS, activeLayerFilterExpression, activeQuickFilters, adaptBboxTemplateToCrs, addLayersToProject, allowsCredentialHeaders, appPrivilegeReason, applyCopiedLayerStyle, applyGroupEffects, applyJoinsToLayer, applyLayerJoins, applyLayerVirtualFields, applyMatchedSelection, applyProjectToStore, applySelectionMode, applyStoryLayerOpacity, arcgisLocatorInputField, attributeFormFieldLabel, attributeLinkUrl, availableCesiumBasemap, basemapToCesiumImagery, batchDecodePolylines, bodyLengthToEarth, buildForwardGeocodeUrl, buildIsochroneRequest, buildLayerPanelUnits, buildLayerStacItem, buildLayerTree, buildMatrixRequest, buildReverseGeocodeUrl, buildRouteRequest, canRedoProjectRestore, canSaveLayerToLibrary, canUndoProjectRestore, captureLayerLibraryEntry, cascadeLayerJoinRefresh, cesiumIonAssetId, cesiumIonAssetKind, cesiumKmlSource, changedPreferenceCredentials, circleRadiusValue, clampLabelDecimals, clampLatitude, clearExternalNativePaintBridge, clearHistory, clearQuickFilterValues, coerceAttributeFormValue, collectDiagramData, collectTransitiveJoinSourceIds, compareSequenceValues, compileFeatureExpression, compileLayerFilters, compileQuickFilter, compileQuickFilters, computeGeoArrowBBox, controlRendersLayer, convertTiffYCbCrToRgb, copyableLayerStyleKind, createCesiumIonLayer, createCesiumKmlLayer, createCzmlLayer, createDefaultAppCapabilities, createDefaultMapView, createDefaultPrintLayout, createEmptyProject, createEqualIntervalBreaks, createGraduatedClassBreaks, createLayerLibraryEntryId, createPointerElevationResolver, createProjectLayerSerializationCache, createProjectTemplate, createQuantileBreaks, createSampleStoryMap, createStyleLayerEvaluator, createStyleLibraryEntryId, csvRowsToGeocodeRequests, currentEditorIdentity, czmlSource, darkenHex, datumShiftFor, decodePolyline, decodePolylineDetailed, deriveTileMatrixSet, detachProjectCopy, detectNonGeographicCoordinates, diagramAnchor, diagramPixelSize, diagramsSuppressedByPointRenderer, diffFeatureCollections, diffProjects, documentLocale, dominantGeometry, drawMarkerPath, earthAreaToBody, earthLengthToBody, editorTrackingFieldNames, effectiveLayerRenderState, effectiveVectorRules, encodePolyline, encodeS3Key, ensureEditorTrackingFields, environmentVariableAccount, evaluateMapExpression, excludeHiddenFieldsFromGeojson, excludeHiddenFieldsFromProject, explainS3ReadError, extractCopiedLayerStyle, extractLayerStyleEntries, extractLayersFileContent, extractStyleLibraryStyle, extrusionColorValue, extrusionHeightValue, featureCollectionToGeoArrow, featureSelectionId, fetchArcGISLocatorInfo, fetchElevations, findLayerStyleEntryIndex, formatCameraAltitude, formatExpressionPreviewValue, formatLabelNumber, formatLabelNumberSample, formatPixelValue, formatPopupValue, formatRoundNum, formatS3Uri, generatorCircleRadiusValue, generatorSizeRange, geoArrowToFeatureCollection, geoJSONToPolylineStr, geocodeForward, geocodeMatchToFeature, geocodeReverse, geocodeSuggest, geocoderMinIntervalMs, geocoderNeedsApiKey, geocoderSupportsReverse, geocoderSupportsSuggest, geocodingApiKeyAccount, geojsonHasZCoordinates, getActiveBodyRadiusRatio, getActiveEllipsoid, getActiveMeanRadiusMeters, getActiveSemiMajorAxisMeters, getArcgisApiKey, getAttributeFormField, getBuildEnvironment, getCesiumIonToken, getEllipsoid, getExternalNativePaintBridge, getGeocoderConfig, getGeocodingProvider, getGoogleMapsApiKey, getHistoryCoalesceMs, getMapCrsPreset, getMapboxAccessToken, getMaxHistoryFeatureCount, getPlanetaryBasemapById, getPlanetaryBasemapByStyleUrl, getProtomapsApiKey, getProtomapsStyleUrl, getRegionalBasemapById, getRegionalBasemapByStyleUrl, getRoundNum, getRoutingConfig, getRuntimeEnvironment, getS3UrlSigner, getSpatialExtensionPath, getVectorColorRamp, googleMapsApiKeyHeaderValue, groupMemberIndices, hasActiveLayerFilter, hasActiveQuickFilter, hasAppPrivilege, hasHeaderReferences, hasPathTraversal, hasRestorableLayerSource, hasSimpleStyleProperties, heatmapRampColors, horizontalBbox, hydrateProjectLayer, identifyAllIncludes, identifyStateWithoutLayers, inferFieldTypes, inferLayerCapabilities, initialLayerStyle, installCogTilerDatumShift, interpolateColors, interpolateHexColor, interpolateRampColors, intersectPrivileges, invertSelection, isAbbreviatedJpegCompression, isAbsoluteFilesystemPath, isAdoptedVectorAwaitingFeatures, isAllowedPluginManifestUrl, isAttributeFormFieldVisible, isCesiumIonLayer, isCesiumKmlLayer, isCesiumOnlyLayer, isCredentialFieldName, isCredentialUrlParam, isCredentialedS3Url, isCzmlLayer, isDefaultPrintLayout, isDeploymentCapability, isDiagramStyleEnabled, isDuckDBQueryLayer, isExternalNativeLayerRecord, isGeoArrowBatch, isGooglePhotorealisticTilesetUrl, isHeaderReferenceOnly, isHexColor, isInitialLayerStyle, isInlineImageValue, isInternalPopupField, isIpadDesktopUserAgent, isMaintainedEditorTrackingField, isPopupClickEnabled, isPopupHoverEnabled, isRasterMarkerSource, isReferencedLayer, isRegionalBasemapSentinel, isS3Uri, isSafePopupUrl, isSecretEnvironmentVariable, isSessionOnlyLayer, isStoryHiddenLayer, isStyleLibraryTargetLayer, isStyleSpecColor, isSvgMarkerResponse, isValidMetadataDate, isValidMetadataEmail, isValidMetadataUrl, isVectorColorExpression, isochroneResponseToFeatures, jsonValuesEqual, labelFieldTextField, layerGroupDepth, layerGroupMoveability, layerGroupSortability, layerJoinKey, layerLibraryConfigPatch, layerLibraryEntryNeedsLocalFile, layerLocalPath, layerPanelGroupHeaders, lineWidthValue, localFileName, lookupProjectCredential, mapZoomStepOutputs, matchFeaturesByExpression, matchLayerStyleEntry, matrixResponseToFeatures, meanRadiusMeters, mercatorMetersPerPixelAtZoom0, mergeAttributeFormConfigs, metadataDateToRfc3339, metersWidthExpression, nextDelayMs, nextLayerPaletteColor, nominatimResultToFeature, nominatimReverseResultToDisplay, nonEmptyRecord, normalizeAppPrivileges, normalizeArcGISLocatorUrl, normalizeArcgisWkid, normalizeBlankBackgroundColor, normalizeBookmarkGroups, normalizeBookmarks, normalizeCesiumBasemap, normalizeDashboardColumns, normalizeGeocodingLocator, normalizeGeocodingProviderId, normalizeGroupContiguity, normalizeHexColor, normalizeLayerCapabilities, normalizeLayerDescriptiveMetadata, normalizeLayerLibraryEntries, normalizeLayerStyleEntries, normalizeLayersFileContent, normalizeLegendConfig, normalizeLongitude, normalizeMapCrs, normalizeMapLayout, normalizeMapViewState, normalizeModelGraph, normalizeModels, normalizeObiaWorkbench, normalizePrimaryRenderer, normalizePrintLayoutConfig, normalizeProcessingHistory, normalizeProjectComments, normalizeProjectInteraction, normalizeSecondaryMapViews, normalizeStoryChapterDurationSeconds, normalizeStoryMap, normalizeStyleLibraryEntries, normalizeWidgets, overlayStoredEnvironmentVariables, overlayStoredGeocodingApiKeys, overlayStoredPreferenceCredentials, parseArcGISLocatorInfo, parseArcGISSuggestions, parseCesiumIonAssetId, parseContours, parseCzml, parseDeploymentCapabilities, parseHexColor, parseHexColorList, parseJsonExpression, parseLayerLibrary, parseLayerStylesFile, parseLayersFile, parseMapCrsEpsgCode, parseMetadataKeywords, parseProject, parseS3BucketList, parseS3Error, parseS3ListObjects, parseS3Url, parseStoryMapCsv, parseStoryMapJson, parseStyleLibrary, parseValueMapText, patchJpegCogSource, persistedThreeDTilesRequestHeaders, pickEditorIdentity, planLayerLibraryAdd, pluginOwnsPaint, polylineStrToGeoJSON, popupFieldLabel, portableWmsTileUrl, presignS3Url, previewValue, printLayoutConfigsEqual, projectFromStore, projectPathLabel, proportionalRadiusExpression, proportionalSizeRange, readStoredAuthorName, reapplyLayerJoins, redactConfigurationCredentials, redactCredentials, redactProjectCredentials, redactUrlCredentials, redo, registerProjectRestoreHistory, registerS3UrlSigner, removeTrailingJsonCommas, rendererAppliesOpacity, reorderLayerGroupInPanel, requestIsochrone, requestMatrix, requestNavigationRoute, requestRoute, resolveConfiguredPopupTitle, resolveEditorTrackingConfig, resolveGeocoderConfig, resolveHeaderReferences, resolveIdentifyTarget, resolveLabelNumberLocale, resolveLayerCapabilities, resolveMapGrid, resolvePopupBody, resolvePopupImageHeight, resolvePopupMaxWidth, resolvePopupRows, resolvePopupTitle, resolveProjectHeaderReferences, resolveReadableUrl, resolveRolePrivileges, resolveSvgSource, resolveThreeDTilesRequestHeaders, rgbToHex, routeResponseToFeatures, rowCap, ruleBasedColorExpression, ruleBasedVisibilityFilter, s3ObjectHttpsUrl, sameCesiumImagery, sampleMapTerrain, sampleMapTerrainPoint, sampleRemoteElevations, sanitizeLayerStylePatch, scaleAltitudeToActiveBody, scaleDenomination, scaleSpan, scrubCommentsForRemovedLayers, scrubLegendForRemovedLayers, scrubPrintLayoutForLayers, scrubPrintLayoutForRemovedLayers, scrubWidgetsForRemovedLayers, selectLayerById, selectLayerIds, selectLayerSummaries, selectLayersWhen, selectedGeocodingLocator, serializeLayerLibrary, serializeLayerStylesFile, serializeLayersFile, serializeProject, serializeProjectWithLayerCache, serializeProjectWithLayerCacheAsync, serializeStoryMapCsv, serializeStoryMapJson, serializeStyleLibrary, setActiveEllipsoidId, setExternalNativePaintBridge, setGeocodingFetch, setGeocodingTokenProvider, setHistoryCoalesceMs, setMaxHistoryFeatureCount, setProjectCredentialLookup, setRegistryPublishableSettings, setStoredAuthorName, shouldThrottle, shouldUseTiledRendering, shouldZoomToNewLayers, simpleStyleNumberValue, sortLayerGroupInPanel, splitProjectCredentials, stacAssetMediaType, stampFeatureCollectionEditorTracking, stampFeatureEditorTracking, stampFeaturePropertiesEditorTracking, storyLayerOpacityFactor, storyLocationView, storyMapHasContent, storyVisibleLayers, stringifyPopupValue, stripGoogleMapsApiKeyHeader, stripJoinFields, stripVirtualFieldColumns, styleValue, subscribeProjectRestoreHistory, substituteExpressionVariables, supportsBridgedOpacity, transformGeojsonElevation, trimHistoryBySize, undo, unescapePolyline, uniqueImportedLayerName, unmatchedGeocodeFeature, unresolvedLayerLibraryJoins, unsignedSourceUrl, useAppCapability, useAppStore, useLayer, useLayerIds, useLayerSummaries, useLayersWhen, validateAttributeFormField, validateAttributeFormValues, validateLayerDescriptiveMetadata, validateMapExpression, valueMapLabelFor, valueMapToText, vectorCircleColorValue, vectorColorExpression, vectorFillColorValue, vectorFillOpacityValue, vectorLineColorValue, vectorOutlineColorValue, vectorStrokeWidthValue, visiblePopupFields, visiblePopupProperties, withDatumShift, withGeoKeysDatumShift, withJpegTablesPatch, withoutHistory };
9067
+ export { ALL_APP_PRIVILEGES, ALL_DEPLOYMENT_CAPABILITIES, ARCGIS_PROJECTION_PRESETS, BLANK_BASEMAP, BLEND_MODES, BUILT_IN_STYLE_PRESETS, CARTOCIUDAD_MIN_INTERVAL_MS, CARTOCIUDAD_PUBLIC_HOST, CESIUM_BASEMAPS, CESIUM_BING_AERIAL_ASSET_ID, CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID, CESIUM_ION_QUICK_PICKS, CESIUM_ION_SOURCE_KIND, CESIUM_KML_SOURCE_KIND, CESIUM_OSM_BUILDINGS_ASSET_ID, CHINA_BASEMAPS, CZML_QUICK_PICKS, CZML_SOURCE_KIND, DEFAULT_BASEMAP, DEFAULT_BLEND_MODE, DEFAULT_COLLABORATION_STATE, DEFAULT_DASHBOARD_COLUMNS, DEFAULT_EDITOR_IDENTITY, DEFAULT_EDITOR_TRACKING_CONFIG, DEFAULT_ELLIPSOID_ID, DEFAULT_FORWARD_GEOCODE_ENDPOINT, DEFAULT_GEOCODING_PROVIDER_ID, DEFAULT_LAYER_GROUP_OPACITY, DEFAULT_LAYER_STYLE, DEFAULT_LEGEND_CONFIG, DEFAULT_MAP_GRID_LAYOUT, DEFAULT_PRIMARY_RENDERER, DEFAULT_PRINT_LAYOUT, DEFAULT_PROJECT_NAME, DEFAULT_PROJECT_PREFERENCES, DEFAULT_REVERSE_GEOCODE_ENDPOINT, DEFAULT_ROUTING_ENDPOINT, DEFAULT_STORY_CHAPTER_DURATION_SECONDS, DEFAULT_STORY_MAP, DEPLOYMENT_CAPABILITIES, DUCKDB_VECTOR_FEATURE_WARN_COUNT, DUCKDB_VECTOR_ROUTE_BYTES, EARTH_MEAN_RADIUS_METERS, EDITOR_IDENTITY_STORAGE_KEY, ELEVATION_REQUEST_TIMEOUT_MS, ELLIPSOIDS, EXPRESSION_FUNCTION_CATEGORIES, ElevationFetchError, FEET_PER_METER, FEET_PER_MILE, GEOCODE_ATTRIBUTE_PREFIX, GEOCODE_DISPLAY_NAME_KEY, GEOCODE_LAT_KEY, GEOCODE_LON_KEY, GEOCODE_PROVIDER_KEY, GEOCODE_SCORE_KEY, GEOCODE_STATUS_KEY, GEOCODING_PROVIDERS, GOOGLE_MAPS_API_KEY_HEADER, GeocoderServiceError, GeocoderUnsupportedError, IDENTIFY_ALL_LAYERS_ID, LABEL_NUMBER_LOCALES, LABEL_NUMBER_SAMPLE, LARGE_VECTOR_FEATURE_THRESHOLD, LAYERS_FILE_TYPE, LAYERS_FILE_VERSION, LAYER_LIBRARY_BUNDLE_TYPE, LAYER_LIBRARY_BUNDLE_VERSION, LAYER_PALETTE, LAYER_STYLES_FILE_TYPE, LAYER_STYLES_FILE_VERSION, LAYER_TYPES, MAP_CRS_CHANGE_EVENT, MAP_CRS_PRESETS, MAX_DASHBOARD_COLUMNS, MAX_DIAGRAM_FEATURES, MAX_DIAGRAM_SCAN_FEATURES, MAX_LAYERS_FILE_BYTES, MAX_LAYER_LIBRARY_ENTRIES, MAX_LAYER_LIBRARY_ENTRY_BYTES, MAX_MAP_GRID_DIM, MAX_POINTS_PER_REQUEST, MAX_PROCESSING_HISTORY, MAX_PROJECT_BOOKMARKS, MAX_REDACT_DEPTH, MAX_STORY_CHAPTER_DURATION_SECONDS, MERCATOR_METERS_PER_PIXEL_AT_ZOOM_0, METERS_PER_FOOT, METERS_PER_MILE, METERS_PER_NAUTICAL_MILE, MIN_DASHBOARD_COLUMNS, MIN_DIAGRAM_SIZE, MIN_STORY_CHAPTER_DURATION_SECONDS, NETCDF_IMAGE_SOURCE_KIND, NOMINATIM_MIN_INTERVAL_MS, NOMINATIM_PUBLIC_HOST, NO_DEPLOYMENT_CAPABILITIES, NO_LAYERS, OPENFREEMAP_BASEMAPS, PHOTO_FULL_PROPERTY, PHOTO_PROPERTY, PLANETARY_BASEMAPS, PLANETARY_BASEMAP_GROUPS, PLANETARY_BASEMAP_SENTINEL_PREFIX, PLANET_SWITCHER_OPTIONS, POINTER_ELEVATION_CACHE_LIMIT, POINTER_ELEVATION_DEBOUNCE_MS, POPUP_IMAGE_HEIGHT_RANGE, POPUP_MAX_WIDTH_RANGE, PROJECT_CREDENTIAL_FIELDS, PROJECT_VERSION, PROTOMAPS_BASEMAPS, PUBLIC_GEOCODE_ROW_CAP, PUBLISHABLE_PLUGIN_SETTINGS, RAMP_STYLE_KEYS, RASTER_APPEARANCE_STATE_KEYS, REGIONAL_BASEMAPS, REGIONAL_BASEMAP_GROUPS, REGIONAL_BASEMAP_SENTINEL_PREFIX, ROLE_PRIVILEGES, RoutingRequestError, S3CorsError, S3_MAX_PRESIGN_SECONDS, SELECTION_MODES, SQL_QUERY_SOURCE_KIND, STAC_PROCESSING_EXTENSION, STAC_VERSION, STYLE_LIBRARY_BUNDLE_TYPE, STYLE_LIBRARY_BUNDLE_VERSION, SYMBOL_STYLE_KEYS, VECTOR_COLOR_RAMPS, activeLayerFilterExpression, activeQuickFilters, adaptBboxTemplateToCrs, addLayersToProject, allowsCredentialHeaders, appPrivilegeReason, applyCopiedLayerStyle, applyGroupEffects, applyJoinsToLayer, applyLayerJoins, applyLayerVirtualFields, applyMatchedSelection, applyProjectToStore, applySelectionMode, applyStoryLayerOpacity, arcgisLocatorInputField, asTileScheme, attributeFormFieldLabel, attributeLinkUrl, availableCesiumBasemap, basemapToCesiumImagery, batchDecodePolylines, bodyLengthToEarth, buildForwardGeocodeUrl, buildIsochroneRequest, buildLayerPanelUnits, buildLayerStacItem, buildLayerTree, buildMatrixRequest, buildReverseGeocodeUrl, buildRouteRequest, canRedoProjectRestore, canSaveLayerToLibrary, canUndoProjectRestore, captureLayerLibraryEntry, cascadeLayerJoinRefresh, cesiumIonAssetId, cesiumIonAssetKind, cesiumKmlSource, changedPreferenceCredentials, circleRadiusValue, clampLabelDecimals, clampLatitude, clearExternalNativePaintBridge, clearHistory, clearQuickFilterValues, coerceAttributeFormValue, collectDiagramData, collectTransitiveJoinSourceIds, compareSequenceValues, compileFeatureExpression, compileLayerFilters, compileQuickFilter, compileQuickFilters, computeGeoArrowBBox, controlRendersLayer, convertTiffYCbCrToRgb, copyableLayerStyleKind, createCesiumIonLayer, createCesiumKmlLayer, createCzmlLayer, createDefaultAppCapabilities, createDefaultMapView, createDefaultPrintLayout, createEmptyProject, createEqualIntervalBreaks, createGraduatedClassBreaks, createLayerLibraryEntryId, createPointerElevationResolver, createProjectLayerSerializationCache, createProjectTemplate, createQuantileBreaks, createSampleStoryMap, createStyleLayerEvaluator, createStyleLibraryEntryId, csvRowsToGeocodeRequests, currentEditorIdentity, czmlSource, darkenHex, datumShiftFor, decodePolyline, decodePolylineDetailed, deriveTileMatrixSet, detachProjectCopy, detectNonGeographicCoordinates, diagramAnchor, diagramPixelSize, diagramsSuppressedByPointRenderer, diffFeatureCollections, diffProjects, documentLocale, dominantGeometry, drawMarkerPath, earthAreaToBody, earthLengthToBody, editorTrackingFieldNames, effectiveLayerRenderState, effectiveVectorRules, encodePolyline, encodeS3Key, ensureEditorTrackingFields, environmentVariableAccount, evaluateMapExpression, excludeHiddenFieldsFromGeojson, excludeHiddenFieldsFromProject, explainS3ReadError, extractCopiedLayerStyle, extractLayerStyleEntries, extractLayersFileContent, extractStyleLibraryStyle, extrusionColorValue, extrusionHeightValue, featureCollectionToGeoArrow, featureSelectionId, fetchArcGISLocatorInfo, fetchElevations, findLayerStyleEntryIndex, formatCameraAltitude, formatExpressionPreviewValue, formatLabelNumber, formatLabelNumberSample, formatPixelValue, formatPopupValue, formatRoundNum, formatS3Uri, generatorCircleRadiusValue, generatorSizeRange, geoArrowToFeatureCollection, geoJSONToPolylineStr, geocodeForward, geocodeMatchToFeature, geocodeReverse, geocodeSuggest, geocoderMinIntervalMs, geocoderNeedsApiKey, geocoderSupportsReverse, geocoderSupportsSuggest, geocodingApiKeyAccount, geojsonHasZCoordinates, getActiveBodyRadiusRatio, getActiveEllipsoid, getActiveMeanRadiusMeters, getActiveSemiMajorAxisMeters, getArcgisApiKey, getAttributeFormField, getBuildEnvironment, getCesiumIonToken, getEllipsoid, getExternalNativePaintBridge, getGeocoderConfig, getGeocodingProvider, getGoogleMapsApiKey, getHistoryCoalesceMs, getMapCrsPreset, getMapboxAccessToken, getMaxHistoryFeatureCount, getPlanetaryBasemapById, getPlanetaryBasemapByStyleUrl, getProtomapsApiKey, getProtomapsStyleUrl, getRegionalBasemapById, getRegionalBasemapByStyleUrl, getRoundNum, getRoutingConfig, getRuntimeEnvironment, getS3UrlSigner, getSpatialExtensionPath, getVectorColorRamp, googleMapsApiKeyHeaderValue, groupMemberIndices, hasActiveLayerFilter, hasActiveQuickFilter, hasAppPrivilege, hasHeaderReferences, hasPathTraversal, hasRestorableLayerSource, hasSimpleStyleProperties, heatmapRampColors, horizontalBbox, hydrateProjectLayer, identifyAllIncludes, identifyStateWithoutLayers, inferFieldTypes, inferLayerCapabilities, initialLayerStyle, installCogTilerDatumShift, interpolateColors, interpolateHexColor, interpolateRampColors, intersectPrivileges, invertSelection, isAbbreviatedJpegCompression, isAbsoluteFilesystemPath, isAdoptedVectorAwaitingFeatures, isAllowedPluginManifestUrl, isAttributeFormFieldVisible, isCesiumIonLayer, isCesiumKmlLayer, isCesiumOnlyLayer, isCredentialFieldName, isCredentialUrlParam, isCredentialedS3Url, isCzmlLayer, isDefaultPrintLayout, isDeploymentCapability, isDiagramStyleEnabled, isDuckDBQueryLayer, isExternalNativeLayerRecord, isGeoArrowBatch, isGooglePhotorealisticTilesetUrl, isHeaderReferenceOnly, isHexColor, isInitialLayerStyle, isInlineImageValue, isInternalPopupField, isIpadDesktopUserAgent, isMaintainedEditorTrackingField, isMapClickClaimed, isPopupClickEnabled, isPopupHoverEnabled, isRasterMarkerSource, isReferencedLayer, isRegionalBasemapSentinel, isS3Uri, isSafePopupUrl, isSecretEnvironmentVariable, isSessionOnlyLayer, isStoryHiddenLayer, isStyleLibraryTargetLayer, isStyleSpecColor, isSvgMarkerResponse, isTileAddressError, isValidMetadataDate, isValidMetadataEmail, isValidMetadataUrl, isVectorColorExpression, isochroneResponseToFeatures, jsonValuesEqual, labelFieldTextField, layerGroupDepth, layerGroupMoveability, layerGroupSortability, layerJoinKey, layerLibraryConfigPatch, layerLibraryEntryNeedsLocalFile, layerLocalPath, layerPanelGroupHeaders, lineWidthValue, localFileName, lookupProjectCredential, mapZoomStepOutputs, matchFeaturesByExpression, matchLayerStyleEntry, matrixResponseToFeatures, meanRadiusMeters, mercatorMetersPerPixelAtZoom0, mergeAttributeFormConfigs, metadataDateToRfc3339, metersWidthExpression, nextDelayMs, nextLayerPaletteColor, nominatimResultToFeature, nominatimReverseResultToDisplay, nonEmptyRecord, normalizeAppPrivileges, normalizeArcGISLocatorUrl, normalizeArcgisWkid, normalizeBlankBackgroundColor, normalizeBookmarkGroups, normalizeBookmarks, normalizeCesiumBasemap, normalizeDashboardColumns, normalizeGeocodingLocator, normalizeGeocodingProviderId, normalizeGroupContiguity, normalizeHexColor, normalizeLayerCapabilities, normalizeLayerDescriptiveMetadata, normalizeLayerLibraryEntries, normalizeLayerStyleEntries, normalizeLayersFileContent, normalizeLegendConfig, normalizeLongitude, normalizeMapCrs, normalizeMapLayout, normalizeMapViewState, normalizeModelGraph, normalizeModels, normalizeObiaWorkbench, normalizePrimaryRenderer, normalizePrintLayoutConfig, normalizeProcessingHistory, normalizeProjectComments, normalizeProjectInteraction, normalizeSecondaryMapViews, normalizeStoryChapterDurationSeconds, normalizeStoryMap, normalizeStyleLibraryEntries, normalizeWidgets, overlayStoredEnvironmentVariables, overlayStoredGeocodingApiKeys, overlayStoredPreferenceCredentials, parseArcGISLocatorInfo, parseArcGISSuggestions, parseCesiumIonAssetId, parseContours, parseCzml, parseDeploymentCapabilities, parseHexColor, parseHexColorList, parseJsonExpression, parseLayerLibrary, parseLayerStylesFile, parseLayersFile, parseMapCrsEpsgCode, parseMetadataKeywords, parseProject, parseS3BucketList, parseS3Error, parseS3ListObjects, parseS3Url, parseStoryMapCsv, parseStoryMapJson, parseStyleLibrary, parseValueMapText, patchJpegCogSource, persistedThreeDTilesRequestHeaders, pickEditorIdentity, planLayerLibraryAdd, pluginOwnsPaint, polylineStrToGeoJSON, popupFieldLabel, portableWmsTileUrl, presignS3Url, previewValue, printLayoutConfigsEqual, projectFromStore, projectPathLabel, proportionalRadiusExpression, proportionalSizeRange, readStoredAuthorName, reapplyLayerJoins, redactConfigurationCredentials, redactCredentials, redactProjectCredentials, redactUrlCredentials, redo, registerMapClickClaim, registerProjectRestoreHistory, registerS3UrlSigner, removeTrailingJsonCommas, rendererAppliesOpacity, reorderLayerGroupInPanel, requestIsochrone, requestMatrix, requestNavigationRoute, requestRoute, resolveConfiguredPopupTitle, resolveEditorTrackingConfig, resolveGeocoderConfig, resolveHeaderReferences, resolveIdentifyTarget, resolveLabelNumberLocale, resolveLayerCapabilities, resolveLayerTileAddress, resolveMapGrid, resolvePopupBody, resolvePopupImageHeight, resolvePopupMaxWidth, resolvePopupRows, resolvePopupTitle, resolveProjectHeaderReferences, resolveReadableUrl, resolveRolePrivileges, resolveSvgSource, resolveThreeDTilesRequestHeaders, resolveTileAddress, rgbToHex, routeResponseToFeatures, rowCap, ruleBasedColorExpression, ruleBasedVisibilityFilter, s3ObjectHttpsUrl, sameCesiumImagery, sampleMapTerrain, sampleMapTerrainPoint, sampleRemoteElevations, sanitizeLayerStylePatch, scaleAltitudeToActiveBody, scaleDenomination, scaleSpan, scrubCommentsForRemovedLayers, scrubLegendForRemovedLayers, scrubPrintLayoutForLayers, scrubPrintLayoutForRemovedLayers, scrubWidgetsForRemovedLayers, selectLayerById, selectLayerIds, selectLayerSummaries, selectLayersWhen, selectedGeocodingLocator, serializeLayerLibrary, serializeLayerStylesFile, serializeLayersFile, serializeProject, serializeProjectWithLayerCache, serializeProjectWithLayerCacheAsync, serializeStoryMapCsv, serializeStoryMapJson, serializeStyleLibrary, setActiveEllipsoidId, setExternalNativePaintBridge, setGeocodingFetch, setGeocodingTokenProvider, setHistoryCoalesceMs, setMaxHistoryFeatureCount, setProjectCredentialLookup, setRegistryPublishableSettings, setStoredAuthorName, shouldThrottle, shouldUseTiledRendering, shouldZoomToNewLayers, simpleStyleNumberValue, sortLayerGroupInPanel, splitProjectCredentials, stacAssetMediaType, stampFeatureCollectionEditorTracking, stampFeatureEditorTracking, stampFeaturePropertiesEditorTracking, storyLayerOpacityFactor, storyLocationView, storyMapHasContent, storyVisibleLayers, stringifyPopupValue, stripGoogleMapsApiKeyHeader, stripJoinFields, stripVirtualFieldColumns, styleValue, subscribeProjectRestoreHistory, substituteExpressionVariables, supportsBridgedOpacity, transformGeojsonElevation, trimHistoryBySize, undo, unescapePolyline, uniqueImportedLayerName, unmatchedGeocodeFeature, unresolvedLayerLibraryJoins, unsignedSourceUrl, useAppCapability, useAppStore, useLayer, useLayerIds, useLayerSummaries, useLayersWhen, validateAttributeFormField, validateAttributeFormValues, validateLayerDescriptiveMetadata, validateMapExpression, valueMapLabelFor, valueMapToText, vectorCircleColorValue, vectorColorExpression, vectorFillColorValue, vectorFillOpacityValue, vectorLineColorValue, vectorOutlineColorValue, vectorStrokeWidthValue, visiblePopupFields, visiblePopupProperties, withDatumShift, withGeoKeysDatumShift, withJpegTablesPatch, withoutHistory };
9026
9068
 
9027
9069
  //# sourceMappingURL=index.mjs.map