@deck.gl/carto 9.0.29 → 9.0.31

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 (49) hide show
  1. package/dist/api/common.d.ts +1 -1
  2. package/dist/api/common.d.ts.map +1 -1
  3. package/dist/api/common.js +2 -1
  4. package/dist/api/fetch-map.d.ts +7 -1
  5. package/dist/api/fetch-map.d.ts.map +1 -1
  6. package/dist/api/fetch-map.js +17 -15
  7. package/dist/api/query.d.ts.map +1 -1
  8. package/dist/api/query.js +3 -2
  9. package/dist/api/request-with-parameters.d.ts +2 -1
  10. package/dist/api/request-with-parameters.d.ts.map +1 -1
  11. package/dist/api/request-with-parameters.js +3 -3
  12. package/dist/cartoRasterTile-worker.js +1 -1
  13. package/dist/cartoSpatialTile-worker.js +1 -1
  14. package/dist/cartoVectorTile-worker.js +1 -1
  15. package/dist/dist.dev.js +57 -30
  16. package/dist/index.cjs +132 -180
  17. package/dist/index.cjs.map +2 -2
  18. package/dist/layers/cluster-tile-layer.d.ts.map +1 -1
  19. package/dist/layers/cluster-tile-layer.js +20 -9
  20. package/dist/layers/cluster-utils.d.ts +1 -1
  21. package/dist/layers/cluster-utils.d.ts.map +1 -1
  22. package/dist/layers/cluster-utils.js +5 -5
  23. package/dist/layers/h3-tile-layer.js +4 -3
  24. package/dist/layers/heatmap-tile-layer.js +3 -3
  25. package/dist/layers/point-label-layer.js +6 -5
  26. package/dist/layers/post-process-utils.js +89 -85
  27. package/dist/layers/quadbin-layer.js +4 -3
  28. package/dist/layers/quadbin-tile-layer.js +4 -3
  29. package/dist/layers/raster-layer.js +5 -4
  30. package/dist/layers/raster-tile-layer.js +4 -3
  31. package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
  32. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  33. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  34. package/dist/layers/spatial-index-tile-layer.js +4 -3
  35. package/dist/layers/vector-tile-layer.js +4 -3
  36. package/dist/sources/base-source.d.ts.map +1 -1
  37. package/dist/sources/base-source.js +10 -6
  38. package/dist/sources/types.d.ts +6 -0
  39. package/dist/sources/types.d.ts.map +1 -1
  40. package/dist.min.js +9 -9
  41. package/package.json +2 -2
  42. package/src/api/common.ts +3 -1
  43. package/src/api/fetch-map.ts +38 -18
  44. package/src/api/query.ts +3 -1
  45. package/src/api/request-with-parameters.ts +5 -3
  46. package/src/layers/cluster-tile-layer.ts +14 -1
  47. package/src/layers/cluster-utils.ts +5 -4
  48. package/src/sources/base-source.ts +10 -6
  49. package/src/sources/types.ts +7 -0
package/dist/index.cjs CHANGED
@@ -30,15 +30,15 @@ __export(dist_exports, {
30
30
  CARTO_LAYERS: () => CARTO_LAYERS,
31
31
  CARTO_SOURCES: () => CARTO_SOURCES,
32
32
  CartoAPIError: () => CartoAPIError,
33
- ClusterTileLayer: () => ClusterTileLayer,
34
- H3TileLayer: () => H3TileLayer,
33
+ ClusterTileLayer: () => cluster_tile_layer_default,
34
+ H3TileLayer: () => h3_tile_layer_default,
35
35
  HeatmapTileLayer: () => heatmap_tile_layer_default,
36
- QuadbinTileLayer: () => QuadbinTileLayer,
37
- RasterTileLayer: () => RasterTileLayer,
36
+ QuadbinTileLayer: () => quadbin_tile_layer_default,
37
+ RasterTileLayer: () => raster_tile_layer_default,
38
38
  SOURCE_DEFAULTS: () => SOURCE_DEFAULTS,
39
- VectorTileLayer: () => VectorTileLayer,
39
+ VectorTileLayer: () => vector_tile_layer_default,
40
40
  _GOOGLE_BASEMAPS: () => GOOGLE_BASEMAPS,
41
- _PointLabelLayer: () => PointLabelLayer,
41
+ _PointLabelLayer: () => point_label_layer_default,
42
42
  _STYLE_LAYER_GROUPS: () => STYLE_LAYER_GROUPS,
43
43
  _applyLayerGroupFilters: () => applyLayerGroupFilters,
44
44
  _fetchStyle: () => fetchStyle,
@@ -74,18 +74,18 @@ var import_core6 = require("@deck.gl/core");
74
74
  // dist/layers/cluster-utils.js
75
75
  var import_quadbin = require("quadbin");
76
76
  var import_core = require("@deck.gl/core");
77
- function aggregateTile(tile, aggregationLevels, properties = [], getPosition, getWeight) {
77
+ function aggregateTile(tile, tileAggregationCache, aggregationLevels, properties = [], getPosition, getWeight) {
78
78
  var _a;
79
79
  if (!tile.content)
80
80
  return false;
81
81
  if (!tile.userData)
82
82
  tile.userData = {};
83
- const cell0 = (_a = tile.userData[aggregationLevels]) == null ? void 0 : _a[0];
83
+ const cell0 = (_a = tileAggregationCache.get(aggregationLevels)) == null ? void 0 : _a[0];
84
84
  if (cell0) {
85
85
  if (properties.every((property) => property.name in cell0)) {
86
86
  return false;
87
87
  }
88
- tile.userData = {};
88
+ tileAggregationCache.clear();
89
89
  }
90
90
  const out = {};
91
91
  for (const cell of tile.content) {
@@ -125,7 +125,7 @@ function aggregateTile(tile, aggregationLevels, properties = [], getPosition, ge
125
125
  }
126
126
  }
127
127
  }
128
- tile.userData[aggregationLevels] = Object.values(out);
128
+ tileAggregationCache.set(aggregationLevels, Object.values(out));
129
129
  return true;
130
130
  }
131
131
  function extractAggregationProperties(tile) {
@@ -548,7 +548,7 @@ function binaryToSpatialjson(binary) {
548
548
  }
549
549
 
550
550
  // dist/layers/schema/carto-spatial-tile-loader.js
551
- var VERSION = true ? "9.0.29" : "latest";
551
+ var VERSION = true ? "9.0.31" : "latest";
552
552
  var id = "cartoSpatialTile";
553
553
  var DEFAULT_OPTIONS = {
554
554
  cartoSpatialTile: {
@@ -660,7 +660,11 @@ var defaultProps = {
660
660
  refinementStrategy: "no-overlap",
661
661
  tileSize: DEFAULT_TILE_SIZE
662
662
  };
663
- var _ClusterGeoJsonLayer = class extends import_geo_layers2.TileLayer {
663
+ var ClusterGeoJsonLayer = class extends import_geo_layers2.TileLayer {
664
+ initializeState() {
665
+ super.initializeState();
666
+ this.state.aggregationCache = /* @__PURE__ */ new WeakMap();
667
+ }
664
668
  renderLayers() {
665
669
  var _a;
666
670
  const visibleTiles = (_a = this.state.tileset) == null ? void 0 : _a.tiles.filter((tile) => {
@@ -672,19 +676,25 @@ var _ClusterGeoJsonLayer = class extends import_geo_layers2.TileLayer {
672
676
  visibleTiles.sort((a, b) => b.zoom - a.zoom);
673
677
  const { zoom } = this.context.viewport;
674
678
  const { clusterLevel, getPosition, getWeight } = this.props;
679
+ const { aggregationCache } = this.state;
675
680
  const properties = extractAggregationProperties(visibleTiles[0]);
676
681
  const data = [];
677
682
  let needsUpdate = false;
678
683
  for (const tile of visibleTiles) {
679
684
  const overZoom = Math.round(zoom - tile.zoom);
680
685
  const aggregationLevels = Math.round(clusterLevel) - overZoom;
681
- const didAggregate = aggregateTile(tile, aggregationLevels, properties, getPosition, getWeight);
682
- needsUpdate ||= didAggregate;
683
- data.push(...tile.userData[aggregationLevels]);
686
+ let tileAggregationCache = aggregationCache.get(tile.content);
687
+ if (!tileAggregationCache) {
688
+ tileAggregationCache = /* @__PURE__ */ new Map();
689
+ aggregationCache.set(tile.content, tileAggregationCache);
690
+ }
691
+ const didAggregate = aggregateTile(tile, tileAggregationCache, aggregationLevels, properties, getPosition, getWeight);
692
+ needsUpdate || (needsUpdate = didAggregate);
693
+ data.push(...tileAggregationCache.get(aggregationLevels));
684
694
  }
685
695
  data.sort((a, b) => Number(b.count - a.count));
686
696
  const clusterIds = data == null ? void 0 : data.map((tile) => tile.id);
687
- needsUpdate ||= !(0, import_core6._deepEqual)(clusterIds, this.state.clusterIds, 1);
697
+ needsUpdate || (needsUpdate = !(0, import_core6._deepEqual)(clusterIds, this.state.clusterIds, 1));
688
698
  this.setState({ clusterIds });
689
699
  if (needsUpdate) {
690
700
  const stats = computeAggregationStats(data, properties);
@@ -724,14 +734,9 @@ var _ClusterGeoJsonLayer = class extends import_geo_layers2.TileLayer {
724
734
  return true;
725
735
  }
726
736
  };
727
- var ClusterGeoJsonLayer = _ClusterGeoJsonLayer;
728
- (() => {
729
- _ClusterGeoJsonLayer.layerName = "ClusterGeoJsonLayer";
730
- })();
731
- (() => {
732
- _ClusterGeoJsonLayer.defaultProps = defaultProps;
733
- })();
734
- var _ClusterTileLayer = class extends import_core6.CompositeLayer {
737
+ ClusterGeoJsonLayer.layerName = "ClusterGeoJsonLayer";
738
+ ClusterGeoJsonLayer.defaultProps = defaultProps;
739
+ var ClusterTileLayer = class extends import_core6.CompositeLayer {
735
740
  getLoadOptions() {
736
741
  const loadOptions = super.getLoadOptions() || {};
737
742
  const tileJSON = this.props.data;
@@ -755,13 +760,9 @@ var _ClusterTileLayer = class extends import_core6.CompositeLayer {
755
760
  ];
756
761
  }
757
762
  };
758
- var ClusterTileLayer = _ClusterTileLayer;
759
- (() => {
760
- _ClusterTileLayer.layerName = "ClusterTileLayer";
761
- })();
762
- (() => {
763
- _ClusterTileLayer.defaultProps = defaultProps;
764
- })();
763
+ ClusterTileLayer.layerName = "ClusterTileLayer";
764
+ ClusterTileLayer.defaultProps = defaultProps;
765
+ var cluster_tile_layer_default = ClusterTileLayer;
765
766
 
766
767
  // dist/layers/h3-tile-layer.js
767
768
  var import_core8 = require("@deck.gl/core");
@@ -912,7 +913,7 @@ var TileReader3 = class {
912
913
  };
913
914
 
914
915
  // dist/layers/schema/carto-raster-tile-loader.js
915
- var VERSION2 = true ? "9.0.29" : "latest";
916
+ var VERSION2 = true ? "9.0.31" : "latest";
916
917
  var id2 = "cartoRasterTile";
917
918
  var DEFAULT_OPTIONS2 = {
918
919
  cartoRasterTile: {
@@ -954,7 +955,7 @@ function isFeatureIdDefined(value) {
954
955
  var defaultProps2 = {
955
956
  tileSize: DEFAULT_TILE_SIZE
956
957
  };
957
- var _SpatialIndexTileLayer = class extends import_geo_layers4.TileLayer {
958
+ var SpatialIndexTileLayer = class extends import_geo_layers4.TileLayer {
958
959
  _updateAutoHighlight(info) {
959
960
  const { hoveredFeatureId } = this.state;
960
961
  const hoveredFeature = info.object;
@@ -1001,13 +1002,9 @@ var _SpatialIndexTileLayer = class extends import_geo_layers4.TileLayer {
1001
1002
  return featureIndex[KEY] === tile.index[KEY];
1002
1003
  }
1003
1004
  };
1004
- var SpatialIndexTileLayer = _SpatialIndexTileLayer;
1005
- (() => {
1006
- _SpatialIndexTileLayer.layerName = "SpatialIndexTileLayer";
1007
- })();
1008
- (() => {
1009
- _SpatialIndexTileLayer.defaultProps = defaultProps2;
1010
- })();
1005
+ SpatialIndexTileLayer.layerName = "SpatialIndexTileLayer";
1006
+ SpatialIndexTileLayer.defaultProps = defaultProps2;
1007
+ var spatial_index_tile_layer_default = SpatialIndexTileLayer;
1011
1008
 
1012
1009
  // dist/layers/h3-tile-layer.js
1013
1010
  var renderSubLayers = (props) => {
@@ -1025,7 +1022,7 @@ var defaultProps3 = {
1025
1022
  data: TilejsonPropType,
1026
1023
  tileSize: DEFAULT_TILE_SIZE
1027
1024
  };
1028
- var _H3TileLayer = class extends import_core8.CompositeLayer {
1025
+ var H3TileLayer = class extends import_core8.CompositeLayer {
1029
1026
  initializeState() {
1030
1027
  import_geo_layers5.H3HexagonLayer._checkH3Lib();
1031
1028
  }
@@ -1049,7 +1046,7 @@ var _H3TileLayer = class extends import_core8.CompositeLayer {
1049
1046
  maxresolution = Math.min(maxresolution, getHexagonResolution({ zoom: this.props.maxZoom, latitude: 0 }, this.props.tileSize));
1050
1047
  }
1051
1048
  return [
1052
- new SpatialIndexTileLayer(this.props, {
1049
+ new spatial_index_tile_layer_default(this.props, {
1053
1050
  id: `h3-tile-layer-${this.props.id}`,
1054
1051
  data,
1055
1052
  TilesetClass: H3Tileset2D,
@@ -1061,13 +1058,9 @@ var _H3TileLayer = class extends import_core8.CompositeLayer {
1061
1058
  ];
1062
1059
  }
1063
1060
  };
1064
- var H3TileLayer = _H3TileLayer;
1065
- (() => {
1066
- _H3TileLayer.layerName = "H3TileLayer";
1067
- })();
1068
- (() => {
1069
- _H3TileLayer.defaultProps = defaultProps3;
1070
- })();
1061
+ H3TileLayer.layerName = "H3TileLayer";
1062
+ H3TileLayer.defaultProps = defaultProps3;
1063
+ var h3_tile_layer_default = H3TileLayer;
1071
1064
 
1072
1065
  // dist/layers/heatmap-tile-layer.js
1073
1066
  var import_quadbin6 = require("quadbin");
@@ -1228,7 +1221,7 @@ function getPostProcessLayer(layer) {
1228
1221
  }
1229
1222
  return layer;
1230
1223
  }
1231
- var _DrawCallbackLayer = class extends import_core9.Layer {
1224
+ var DrawCallbackLayer = class extends import_core9.Layer {
1232
1225
  initializeState() {
1233
1226
  this.id = `draw-callback-${getPostProcessLayer(this).props.id}`;
1234
1227
  }
@@ -1236,13 +1229,10 @@ var _DrawCallbackLayer = class extends import_core9.Layer {
1236
1229
  getPostProcessLayer(this).applyPostProcess();
1237
1230
  }
1238
1231
  };
1239
- var DrawCallbackLayer = _DrawCallbackLayer;
1240
- (() => {
1241
- _DrawCallbackLayer.layerName = "DrawCallbackLayer";
1242
- })();
1232
+ DrawCallbackLayer.layerName = "DrawCallbackLayer";
1243
1233
  function RTTModifier(BaseLayer) {
1244
1234
  var _a;
1245
- return _a = class extends BaseLayer {
1235
+ return _a = class RTTLayer extends BaseLayer {
1246
1236
  draw(opts) {
1247
1237
  const { moduleParameters } = opts;
1248
1238
  const { picking } = moduleParameters;
@@ -1255,13 +1245,11 @@ function RTTModifier(BaseLayer) {
1255
1245
  postProcessLayer.disableRTT();
1256
1246
  }
1257
1247
  }
1258
- }, (() => {
1259
- _a.layerName = `RTT-${BaseLayer.layerName}`;
1260
- })(), _a;
1248
+ }, _a.layerName = `RTT-${BaseLayer.layerName}`, _a;
1261
1249
  }
1262
1250
  function PostProcessModifier(BaseLayer, effect) {
1263
1251
  var _a;
1264
- return _a = class extends BaseLayer {
1252
+ return _a = class PostProcessLayer extends BaseLayer {
1265
1253
  initializeState(context) {
1266
1254
  super.initializeState(context);
1267
1255
  this._createTextures();
@@ -1326,9 +1314,7 @@ function PostProcessModifier(BaseLayer, effect) {
1326
1314
  });
1327
1315
  this.internalState.renderInProgress = false;
1328
1316
  }
1329
- }, (() => {
1330
- _a.layerName = `PostProcess${BaseLayer.layerName}`;
1331
- })(), _a;
1317
+ }, _a.layerName = `PostProcess${BaseLayer.layerName}`, _a;
1332
1318
  }
1333
1319
 
1334
1320
  // dist/layers/quadbin-tile-layer.js
@@ -1339,7 +1325,7 @@ var import_geo_layers6 = require("@deck.gl/geo-layers");
1339
1325
  var defaultProps4 = {
1340
1326
  getQuadbin: { type: "accessor", value: (d) => d.quadbin }
1341
1327
  };
1342
- var _QuadbinLayer = class extends import_geo_layers6._GeoCellLayer {
1328
+ var QuadbinLayer = class extends import_geo_layers6._GeoCellLayer {
1343
1329
  indexToBounds() {
1344
1330
  const { data, extruded, getQuadbin } = this.props;
1345
1331
  const coverage = extruded ? 0.99 : 1;
@@ -1352,13 +1338,9 @@ var _QuadbinLayer = class extends import_geo_layers6._GeoCellLayer {
1352
1338
  };
1353
1339
  }
1354
1340
  };
1355
- var QuadbinLayer = _QuadbinLayer;
1356
- (() => {
1357
- _QuadbinLayer.layerName = "QuadbinLayer";
1358
- })();
1359
- (() => {
1360
- _QuadbinLayer.defaultProps = defaultProps4;
1361
- })();
1341
+ QuadbinLayer.layerName = "QuadbinLayer";
1342
+ QuadbinLayer.defaultProps = defaultProps4;
1343
+ var quadbin_layer_default = QuadbinLayer;
1362
1344
 
1363
1345
  // dist/layers/quadbin-tile-layer.js
1364
1346
  var import_quadbin5 = require("quadbin");
@@ -1367,7 +1349,7 @@ var renderSubLayers2 = (props) => {
1367
1349
  if (!data || !data.length)
1368
1350
  return null;
1369
1351
  const isBigInt = typeof data[0].id === "bigint";
1370
- return new QuadbinLayer(props, {
1352
+ return new quadbin_layer_default(props, {
1371
1353
  getQuadbin: isBigInt ? (d) => d.id : (d) => (0, import_quadbin5.hexToBigInt)(d.id)
1372
1354
  });
1373
1355
  };
@@ -1375,7 +1357,7 @@ var defaultProps5 = {
1375
1357
  data: TilejsonPropType,
1376
1358
  tileSize: DEFAULT_TILE_SIZE
1377
1359
  };
1378
- var _QuadbinTileLayer = class extends import_core10.CompositeLayer {
1360
+ var QuadbinTileLayer = class extends import_core10.CompositeLayer {
1379
1361
  getLoadOptions() {
1380
1362
  const loadOptions = super.getLoadOptions() || {};
1381
1363
  const tileJSON = this.props.data;
@@ -1389,7 +1371,7 @@ var _QuadbinTileLayer = class extends import_core10.CompositeLayer {
1389
1371
  return null;
1390
1372
  const { tiles: data, maxresolution: maxZoom } = tileJSON;
1391
1373
  return [
1392
- new SpatialIndexTileLayer(this.props, {
1374
+ new spatial_index_tile_layer_default(this.props, {
1393
1375
  id: `quadbin-tile-layer-${this.props.id}`,
1394
1376
  data,
1395
1377
  TilesetClass: QuadbinTileset2D,
@@ -1400,20 +1382,16 @@ var _QuadbinTileLayer = class extends import_core10.CompositeLayer {
1400
1382
  ];
1401
1383
  }
1402
1384
  };
1403
- var QuadbinTileLayer = _QuadbinTileLayer;
1404
- (() => {
1405
- _QuadbinTileLayer.layerName = "QuadbinTileLayer";
1406
- })();
1407
- (() => {
1408
- _QuadbinTileLayer.defaultProps = defaultProps5;
1409
- })();
1385
+ QuadbinTileLayer.layerName = "QuadbinTileLayer";
1386
+ QuadbinTileLayer.defaultProps = defaultProps5;
1387
+ var quadbin_tile_layer_default = QuadbinTileLayer;
1410
1388
 
1411
1389
  // dist/layers/heatmap-tile-layer.js
1412
1390
  function unitDensityForCell(cell) {
1413
1391
  const cellResolution = Number((0, import_quadbin6.getResolution)(cell));
1414
1392
  return Math.pow(4, cellResolution);
1415
1393
  }
1416
- var _RTTSolidPolygonLayer = class extends RTTModifier(import_layers2.SolidPolygonLayer) {
1394
+ var RTTSolidPolygonLayer = class extends RTTModifier(import_layers2.SolidPolygonLayer) {
1417
1395
  getShaders(type) {
1418
1396
  const shaders = super.getShaders(type);
1419
1397
  shaders.inject = {
@@ -1451,11 +1429,8 @@ uniform float densityFactor;
1451
1429
  super.draw(opts);
1452
1430
  }
1453
1431
  };
1454
- var RTTSolidPolygonLayer = _RTTSolidPolygonLayer;
1455
- (() => {
1456
- _RTTSolidPolygonLayer.layerName = "RTTSolidPolygonLayer";
1457
- })();
1458
- var PostProcessQuadbinTileLayer = PostProcessModifier(QuadbinTileLayer, heatmap);
1432
+ RTTSolidPolygonLayer.layerName = "RTTSolidPolygonLayer";
1433
+ var PostProcessQuadbinTileLayer = PostProcessModifier(quadbin_tile_layer_default, heatmap);
1459
1434
  var defaultProps6 = {
1460
1435
  data: TilejsonPropType,
1461
1436
  getWeight: { type: "accessor", value: 1 },
@@ -1464,7 +1439,7 @@ var defaultProps6 = {
1464
1439
  intensity: { type: "number", value: 1 },
1465
1440
  radiusPixels: { type: "number", min: 0, max: 100, value: 20 }
1466
1441
  };
1467
- var _HeatmapTileLayer = class extends import_core11.CompositeLayer {
1442
+ var HeatmapTileLayer = class extends import_core11.CompositeLayer {
1468
1443
  initializeState() {
1469
1444
  this.state = {
1470
1445
  isLoaded: false,
@@ -1556,20 +1531,15 @@ var _HeatmapTileLayer = class extends import_core11.CompositeLayer {
1556
1531
  }));
1557
1532
  }
1558
1533
  };
1559
- var HeatmapTileLayer = _HeatmapTileLayer;
1560
- (() => {
1561
- _HeatmapTileLayer.layerName = "HeatmapTileLayer";
1562
- })();
1563
- (() => {
1564
- _HeatmapTileLayer.defaultProps = defaultProps6;
1565
- })();
1534
+ HeatmapTileLayer.layerName = "HeatmapTileLayer";
1535
+ HeatmapTileLayer.defaultProps = defaultProps6;
1566
1536
  var heatmap_tile_layer_default = HeatmapTileLayer;
1567
1537
 
1568
1538
  // dist/layers/point-label-layer.js
1569
1539
  var import_core12 = require("@deck.gl/core");
1570
1540
  var import_layers3 = require("@deck.gl/layers");
1571
1541
  var [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
1572
- var _EnhancedTextBackgroundLayer = class extends import_layers3._TextBackgroundLayer {
1542
+ var EnhancedTextBackgroundLayer = class extends import_layers3._TextBackgroundLayer {
1573
1543
  getShaders() {
1574
1544
  const shaders = super.getShaders();
1575
1545
  let vs = shaders.vs;
@@ -1578,11 +1548,8 @@ var _EnhancedTextBackgroundLayer = class extends import_layers3._TextBackgroundL
1578
1548
  return { ...shaders, vs };
1579
1549
  }
1580
1550
  };
1581
- var EnhancedTextBackgroundLayer = _EnhancedTextBackgroundLayer;
1582
- (() => {
1583
- _EnhancedTextBackgroundLayer.layerName = "EnhancedTextBackgroundLayer";
1584
- })();
1585
- var _EnhancedTextLayer = class extends import_layers3.TextLayer {
1551
+ EnhancedTextBackgroundLayer.layerName = "EnhancedTextBackgroundLayer";
1552
+ var EnhancedTextLayer = class extends import_layers3.TextLayer {
1586
1553
  filterSubLayer({ layer, renderPass }) {
1587
1554
  const background = layer.id.includes("primary-background");
1588
1555
  if (renderPass === "collision") {
@@ -1591,16 +1558,13 @@ var _EnhancedTextLayer = class extends import_layers3.TextLayer {
1591
1558
  return !background;
1592
1559
  }
1593
1560
  };
1594
- var EnhancedTextLayer = _EnhancedTextLayer;
1595
- (() => {
1596
- _EnhancedTextLayer.layerName = "EnhancedTextLayer";
1597
- })();
1561
+ EnhancedTextLayer.layerName = "EnhancedTextLayer";
1598
1562
  var defaultProps7 = {
1599
1563
  ...import_layers3.TextLayer.defaultProps,
1600
1564
  getRadius: { type: "accessor", value: 1 },
1601
1565
  radiusScale: { type: "number", min: 0, value: 1 }
1602
1566
  };
1603
- var _PointLabelLayer = class extends import_core12.CompositeLayer {
1567
+ var PointLabelLayer = class extends import_core12.CompositeLayer {
1604
1568
  calculatePixelOffset(secondary) {
1605
1569
  const { getTextAnchor: anchor, getAlignmentBaseline: alignment, getRadius, getSecondaryText, radiusScale, secondarySizeScale, sizeScale } = this.props;
1606
1570
  const xMult = anchor === "middle" ? 0 : anchor === "start" ? 1 : -1;
@@ -1701,13 +1665,9 @@ var _PointLabelLayer = class extends import_core12.CompositeLayer {
1701
1665
  return out;
1702
1666
  }
1703
1667
  };
1704
- var PointLabelLayer = _PointLabelLayer;
1705
- (() => {
1706
- _PointLabelLayer.layerName = "PointLabelLayer";
1707
- })();
1708
- (() => {
1709
- _PointLabelLayer.defaultProps = defaultProps7;
1710
- })();
1668
+ PointLabelLayer.layerName = "PointLabelLayer";
1669
+ PointLabelLayer.defaultProps = defaultProps7;
1670
+ var point_label_layer_default = PointLabelLayer;
1711
1671
 
1712
1672
  // dist/layers/raster-tile-layer.js
1713
1673
  var import_core14 = require("@deck.gl/core");
@@ -1797,7 +1757,7 @@ var defaultProps8 = {
1797
1757
  [-0.5, 0.5]
1798
1758
  ]
1799
1759
  };
1800
- var _RasterColumnLayer = class extends import_layers4.ColumnLayer {
1760
+ var RasterColumnLayer = class extends import_layers4.ColumnLayer {
1801
1761
  getShaders() {
1802
1762
  const shaders = super.getShaders();
1803
1763
  const data = this.props.data;
@@ -1829,11 +1789,8 @@ var _RasterColumnLayer = class extends import_layers4.ColumnLayer {
1829
1789
  });
1830
1790
  }
1831
1791
  };
1832
- var RasterColumnLayer = _RasterColumnLayer;
1833
- (() => {
1834
- _RasterColumnLayer.layerName = "RasterColumnLayer";
1835
- })();
1836
- var _RasterLayer = class extends import_core13.CompositeLayer {
1792
+ RasterColumnLayer.layerName = "RasterColumnLayer";
1793
+ var RasterLayer = class extends import_core13.CompositeLayer {
1837
1794
  renderLayers() {
1838
1795
  const { data, getElevation, getFillColor, getLineColor, getLineWidth, tileIndex, updateTriggers } = this.props;
1839
1796
  if (!data || !tileIndex)
@@ -1899,13 +1856,9 @@ var _RasterLayer = class extends import_core13.CompositeLayer {
1899
1856
  }
1900
1857
  }
1901
1858
  };
1902
- var RasterLayer = _RasterLayer;
1903
- (() => {
1904
- _RasterLayer.layerName = "RasterLayer";
1905
- })();
1906
- (() => {
1907
- _RasterLayer.defaultProps = defaultProps8;
1908
- })();
1859
+ RasterLayer.layerName = "RasterLayer";
1860
+ RasterLayer.defaultProps = defaultProps8;
1861
+ var raster_layer_default = RasterLayer;
1909
1862
 
1910
1863
  // dist/layers/raster-tile-layer.js
1911
1864
  var import_geo_layers7 = require("@deck.gl/geo-layers");
@@ -1914,13 +1867,13 @@ var renderSubLayers3 = (props) => {
1914
1867
  const tileIndex = (_b = (_a = props.tile) == null ? void 0 : _a.index) == null ? void 0 : _b.q;
1915
1868
  if (!tileIndex)
1916
1869
  return null;
1917
- return new RasterLayer(props, { tileIndex });
1870
+ return new raster_layer_default(props, { tileIndex });
1918
1871
  };
1919
1872
  var defaultProps9 = {
1920
1873
  data: TilejsonPropType,
1921
1874
  tileSize: DEFAULT_TILE_SIZE
1922
1875
  };
1923
- var _RasterTileLayer = class extends import_core14.CompositeLayer {
1876
+ var RasterTileLayer = class extends import_core14.CompositeLayer {
1924
1877
  getLoadOptions() {
1925
1878
  const loadOptions = super.getLoadOptions() || {};
1926
1879
  const tileJSON = this.props.data;
@@ -1945,13 +1898,9 @@ var _RasterTileLayer = class extends import_core14.CompositeLayer {
1945
1898
  ];
1946
1899
  }
1947
1900
  };
1948
- var RasterTileLayer = _RasterTileLayer;
1949
- (() => {
1950
- _RasterTileLayer.layerName = "RasterTileLayer";
1951
- })();
1952
- (() => {
1953
- _RasterTileLayer.defaultProps = defaultProps9;
1954
- })();
1901
+ RasterTileLayer.layerName = "RasterTileLayer";
1902
+ RasterTileLayer.defaultProps = defaultProps9;
1903
+ var raster_tile_layer_default = RasterTileLayer;
1955
1904
 
1956
1905
  // dist/layers/vector-tile-layer.js
1957
1906
  var import_core15 = require("@loaders.gl/core");
@@ -1994,7 +1943,7 @@ var carto_properties_tile_loader_default = CartoPropertiesTileLoader;
1994
1943
 
1995
1944
  // dist/layers/schema/carto-vector-tile-loader.js
1996
1945
  var import_earcut = __toESM(require("earcut"), 1);
1997
- var VERSION3 = true ? "9.0.29" : "latest";
1946
+ var VERSION3 = true ? "9.0.31" : "latest";
1998
1947
  var id3 = "cartoVectorTile";
1999
1948
  var DEFAULT_OPTIONS3 = {
2000
1949
  cartoVectorTile: {
@@ -2061,7 +2010,7 @@ var defaultProps10 = {
2061
2010
  dataComparator: TilejsonPropType.equal,
2062
2011
  tileSize: DEFAULT_TILE_SIZE
2063
2012
  };
2064
- var _VectorTileLayer = class extends import_geo_layers8.MVTLayer {
2013
+ var VectorTileLayer = class extends import_geo_layers8.MVTLayer {
2065
2014
  constructor(...propObjects) {
2066
2015
  super(...propObjects);
2067
2016
  }
@@ -2156,13 +2105,9 @@ var _VectorTileLayer = class extends import_geo_layers8.MVTLayer {
2156
2105
  return true;
2157
2106
  }
2158
2107
  };
2159
- var VectorTileLayer = _VectorTileLayer;
2160
- (() => {
2161
- _VectorTileLayer.layerName = "VectorTileLayer";
2162
- })();
2163
- (() => {
2164
- _VectorTileLayer.defaultProps = defaultProps10;
2165
- })();
2108
+ VectorTileLayer.layerName = "VectorTileLayer";
2109
+ VectorTileLayer.defaultProps = defaultProps10;
2110
+ var vector_tile_layer_default = VectorTileLayer;
2166
2111
 
2167
2112
  // dist/api/carto-api-error.js
2168
2113
  var CartoAPIError = class extends Error {
@@ -2413,7 +2358,7 @@ function colorContinuous({ attr, domain, colors = DEFAULT_PALETTE, nullColor = N
2413
2358
  var DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
2414
2359
  var DEFAULT_CLIENT = "deck-gl-carto";
2415
2360
  var V3_MINOR_VERSION = "3.4";
2416
- var MAX_GET_LENGTH = 8192;
2361
+ var DEFAULT_MAX_LENGTH_URL = 7e3;
2417
2362
 
2418
2363
  // dist/api/endpoints.js
2419
2364
  function joinPath(...args) {
@@ -2449,7 +2394,7 @@ var DEFAULT_HEADERS = {
2449
2394
  "Content-Type": "application/json"
2450
2395
  };
2451
2396
  var REQUEST_CACHE = /* @__PURE__ */ new Map();
2452
- async function requestWithParameters({ baseUrl, parameters = {}, headers: customHeaders = {}, errorContext }) {
2397
+ async function requestWithParameters({ baseUrl, parameters = {}, headers: customHeaders = {}, errorContext, maxLengthURL = DEFAULT_MAX_LENGTH_URL }) {
2453
2398
  parameters = { ...DEFAULT_PARAMETERS, ...parameters };
2454
2399
  baseUrl = excludeURLParameters(baseUrl, Object.keys(parameters));
2455
2400
  const key = createCacheKey(baseUrl, parameters, customHeaders);
@@ -2458,7 +2403,7 @@ async function requestWithParameters({ baseUrl, parameters = {}, headers: custom
2458
2403
  }
2459
2404
  const url = createURLWithParameters(baseUrl, parameters);
2460
2405
  const headers = { ...DEFAULT_HEADERS, ...customHeaders };
2461
- const fetchPromise = url.length > MAX_GET_LENGTH ? fetch(baseUrl, { method: "POST", body: JSON.stringify(parameters), headers }) : fetch(url, { headers });
2406
+ const fetchPromise = url.length > maxLengthURL ? fetch(baseUrl, { method: "POST", body: JSON.stringify(parameters), headers }) : fetch(url, { headers });
2462
2407
  let response;
2463
2408
  let responseJson;
2464
2409
  const jsonPromise = fetchPromise.then((_response) => {
@@ -2508,7 +2453,8 @@ var SOURCE_DEFAULTS = {
2508
2453
  apiBaseUrl: DEFAULT_API_BASE_URL,
2509
2454
  clientId: DEFAULT_CLIENT,
2510
2455
  format: "tilejson",
2511
- headers: {}
2456
+ headers: {},
2457
+ maxLengthURL: DEFAULT_MAX_LENGTH_URL
2512
2458
  };
2513
2459
  async function baseSource(endpoint, options, urlParameters) {
2514
2460
  const { accessToken, connectionName, cache, ...optionalOptions } = options;
@@ -2519,7 +2465,7 @@ async function baseSource(endpoint, options, urlParameters) {
2519
2465
  }
2520
2466
  }
2521
2467
  const baseUrl = buildSourceUrl(mergedOptions);
2522
- const { clientId, format } = mergedOptions;
2468
+ const { clientId, maxLengthURL, format } = mergedOptions;
2523
2469
  const headers = { Authorization: `Bearer ${options.accessToken}`, ...options.headers };
2524
2470
  const parameters = { client: clientId, ...urlParameters };
2525
2471
  const errorContext = {
@@ -2532,7 +2478,8 @@ async function baseSource(endpoint, options, urlParameters) {
2532
2478
  baseUrl,
2533
2479
  parameters,
2534
2480
  headers,
2535
- errorContext
2481
+ errorContext,
2482
+ maxLengthURL
2536
2483
  });
2537
2484
  const dataUrl = mapInstantiation[format].url[0];
2538
2485
  if (cache) {
@@ -2543,7 +2490,8 @@ async function baseSource(endpoint, options, urlParameters) {
2543
2490
  const json = await requestWithParameters({
2544
2491
  baseUrl: dataUrl,
2545
2492
  headers,
2546
- errorContext
2493
+ errorContext,
2494
+ maxLengthURL
2547
2495
  });
2548
2496
  if (accessToken) {
2549
2497
  json.accessToken = accessToken;
@@ -2553,7 +2501,8 @@ async function baseSource(endpoint, options, urlParameters) {
2553
2501
  return await requestWithParameters({
2554
2502
  baseUrl: dataUrl,
2555
2503
  headers,
2556
- errorContext
2504
+ errorContext,
2505
+ maxLengthURL
2557
2506
  });
2558
2507
  }
2559
2508
 
@@ -2786,13 +2735,13 @@ var AGGREGATION_FUNC = {
2786
2735
  variance: import_d3_array.variance
2787
2736
  };
2788
2737
  var TILE_LAYER_TYPE_TO_LAYER = {
2789
- clusterTile: ClusterTileLayer,
2790
- h3: H3TileLayer,
2738
+ clusterTile: cluster_tile_layer_default,
2739
+ h3: h3_tile_layer_default,
2791
2740
  heatmapTile: heatmap_tile_layer_default,
2792
- mvt: VectorTileLayer,
2793
- quadbin: QuadbinTileLayer,
2794
- raster: RasterTileLayer,
2795
- tileset: VectorTileLayer
2741
+ mvt: vector_tile_layer_default,
2742
+ quadbin: quadbin_tile_layer_default,
2743
+ raster: raster_tile_layer_default,
2744
+ tileset: vector_tile_layer_default
2796
2745
  };
2797
2746
  var hexToRGBA = (c) => {
2798
2747
  const { r, g, b, opacity } = (0, import_d3_color.rgb)(c);
@@ -2899,7 +2848,7 @@ function getLayer(type, config, dataset) {
2899
2848
  function getTileLayer(dataset, basePropMap, type) {
2900
2849
  const { aggregationExp, aggregationResLevel } = dataset;
2901
2850
  return {
2902
- Layer: TILE_LAYER_TYPE_TO_LAYER[type] || VectorTileLayer,
2851
+ Layer: TILE_LAYER_TYPE_TO_LAYER[type] || vector_tile_layer_default,
2903
2852
  propMap: basePropMap,
2904
2853
  defaultProps: {
2905
2854
  ...defaultProps11,
@@ -3320,7 +3269,7 @@ function createChannelProps(id4, type, config, visualChannels, data) {
3320
3269
  result._subLayerProps = {
3321
3270
  ...result._subLayerProps,
3322
3271
  "points-text": {
3323
- type: PointLabelLayer,
3272
+ type: point_label_layer_default,
3324
3273
  extensions: [collisionFilterExtension],
3325
3274
  collisionEnabled: true,
3326
3275
  collisionGroup,
@@ -3412,7 +3361,7 @@ async function fetchBasemapProps({ config, errorContext, applyLayerFilters = tru
3412
3361
  }
3413
3362
 
3414
3363
  // dist/api/fetch-map.js
3415
- async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, headers) {
3364
+ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, headers, maxLengthURL = DEFAULT_MAX_LENGTH_URL) {
3416
3365
  const { aggregationExp, aggregationResLevel, connectionName, columns, format, geoColumn, source, type, queryParameters } = dataset;
3417
3366
  const cache = {};
3418
3367
  const globalOptions = {
@@ -3422,7 +3371,8 @@ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, head
3422
3371
  clientId,
3423
3372
  connectionName,
3424
3373
  format,
3425
- headers
3374
+ headers,
3375
+ maxLengthURL
3426
3376
  };
3427
3377
  if (type === "tileset") {
3428
3378
  dataset.data = await vectorTilesetSource({ ...globalOptions, tableName: source });
@@ -3463,7 +3413,7 @@ async function _fetchMapDataset(dataset, accessToken, apiBaseUrl, clientId, head
3463
3413
  }
3464
3414
  return cacheChanged;
3465
3415
  }
3466
- async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl) {
3416
+ async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl, maxLengthURL = DEFAULT_MAX_LENGTH_URL) {
3467
3417
  const { connectionName, data, id: id4, source, type, queryParameters } = dataset;
3468
3418
  const errorContext = {
3469
3419
  requestType: "Tile stats",
@@ -3491,18 +3441,19 @@ async function _fetchTilestats(attribute, dataset, accessToken, apiBaseUrl) {
3491
3441
  baseUrl,
3492
3442
  headers,
3493
3443
  parameters,
3494
- errorContext
3444
+ errorContext,
3445
+ maxLengthURL
3495
3446
  });
3496
3447
  const { attributes } = data.tilestats.layers[0];
3497
3448
  const index = attributes.findIndex((d) => d.attribute === attribute);
3498
3449
  attributes[index] = stats;
3499
3450
  return true;
3500
3451
  }
3501
- async function fillInMapDatasets({ datasets, token }, clientId, apiBaseUrl, headers) {
3502
- const promises = datasets.map((dataset) => _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers));
3452
+ async function fillInMapDatasets({ datasets, token }, clientId, apiBaseUrl, headers, maxLengthURL = DEFAULT_MAX_LENGTH_URL) {
3453
+ const promises = datasets.map((dataset) => _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers, maxLengthURL));
3503
3454
  return await Promise.all(promises);
3504
3455
  }
3505
- async function fillInTileStats({ datasets, keplerMapConfig, token }, apiBaseUrl) {
3456
+ async function fillInTileStats({ datasets, keplerMapConfig, token }, apiBaseUrl, maxLengthURL = DEFAULT_MAX_LENGTH_URL) {
3506
3457
  var _a;
3507
3458
  const attributes = [];
3508
3459
  const { layers } = keplerMapConfig.config.visState;
@@ -3523,10 +3474,10 @@ async function fillInTileStats({ datasets, keplerMapConfig, token }, apiBaseUrl)
3523
3474
  filteredAttributes.push(a);
3524
3475
  }
3525
3476
  }
3526
- const promises = filteredAttributes.map(({ attribute, dataset }) => _fetchTilestats(attribute, dataset, token, apiBaseUrl));
3477
+ const promises = filteredAttributes.map(({ attribute, dataset }) => _fetchTilestats(attribute, dataset, token, apiBaseUrl, maxLengthURL));
3527
3478
  return await Promise.all(promises);
3528
3479
  }
3529
- async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoMapId, clientId = DEFAULT_CLIENT, headers = {}, autoRefresh, onNewData }) {
3480
+ async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoMapId, clientId = DEFAULT_CLIENT, headers = {}, autoRefresh, onNewData, maxLengthURL = DEFAULT_MAX_LENGTH_URL }) {
3530
3481
  assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
3531
3482
  assert(apiBaseUrl, "Must define apiBaseUrl");
3532
3483
  if (accessToken) {
@@ -3539,14 +3490,14 @@ async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoM
3539
3490
  }
3540
3491
  const baseUrl = buildPublicMapUrl({ apiBaseUrl, cartoMapId });
3541
3492
  const errorContext = { requestType: "Public map", mapId: cartoMapId };
3542
- const map = await requestWithParameters({ baseUrl, headers, errorContext });
3493
+ const map = await requestWithParameters({ baseUrl, headers, errorContext, maxLengthURL });
3543
3494
  let stopAutoRefresh;
3544
3495
  if (autoRefresh) {
3545
3496
  const intervalId = setInterval(async () => {
3546
3497
  const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, {
3547
3498
  ...headers,
3548
3499
  "If-Modified-Since": new Date().toUTCString()
3549
- });
3500
+ }, maxLengthURL);
3550
3501
  if (onNewData && changed.some((v) => v === true)) {
3551
3502
  onNewData(parseMap(map));
3552
3503
  }
@@ -3568,9 +3519,9 @@ async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoM
3568
3519
  });
3569
3520
  const [basemap] = await Promise.all([
3570
3521
  fetchBasemapProps({ config: map.keplerMapConfig.config, errorContext }),
3571
- fillInMapDatasets(map, clientId, apiBaseUrl, headers)
3522
+ fillInMapDatasets(map, clientId, apiBaseUrl, headers, maxLengthURL)
3572
3523
  ]);
3573
- await fillInTileStats(map, apiBaseUrl);
3524
+ await fillInTileStats(map, apiBaseUrl, maxLengthURL);
3574
3525
  const out = { ...parseMap(map), basemap, ...{ stopAutoRefresh } };
3575
3526
  const textLayers = out.layers.filter((layer) => {
3576
3527
  const pointType = layer.props.pointType || "";
@@ -3585,7 +3536,7 @@ async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoM
3585
3536
 
3586
3537
  // dist/api/query.js
3587
3538
  var query = async function(options) {
3588
- const { apiBaseUrl = SOURCE_DEFAULTS.apiBaseUrl, clientId = SOURCE_DEFAULTS.clientId, connectionName, sqlQuery, queryParameters } = options;
3539
+ const { apiBaseUrl = SOURCE_DEFAULTS.apiBaseUrl, clientId = SOURCE_DEFAULTS.clientId, maxLengthURL = SOURCE_DEFAULTS.maxLengthURL, connectionName, sqlQuery, queryParameters } = options;
3589
3540
  const urlParameters = { q: sqlQuery };
3590
3541
  if (queryParameters) {
3591
3542
  urlParameters.queryParameters = JSON.stringify(queryParameters);
@@ -3603,19 +3554,20 @@ var query = async function(options) {
3603
3554
  baseUrl,
3604
3555
  parameters,
3605
3556
  headers,
3606
- errorContext
3557
+ errorContext,
3558
+ maxLengthURL
3607
3559
  });
3608
3560
  };
3609
3561
 
3610
3562
  // dist/index.js
3611
3563
  var CARTO_LAYERS = {
3612
- ClusterTileLayer,
3613
- H3TileLayer,
3564
+ ClusterTileLayer: cluster_tile_layer_default,
3565
+ H3TileLayer: h3_tile_layer_default,
3614
3566
  HeatmapTileLayer: heatmap_tile_layer_default,
3615
- _PointLabelLayer: PointLabelLayer,
3616
- QuadbinTileLayer,
3617
- RasterTileLayer,
3618
- VectorTileLayer
3567
+ _PointLabelLayer: point_label_layer_default,
3568
+ QuadbinTileLayer: quadbin_tile_layer_default,
3569
+ RasterTileLayer: raster_tile_layer_default,
3570
+ VectorTileLayer: vector_tile_layer_default
3619
3571
  };
3620
3572
  var CARTO_SOURCES = {
3621
3573
  boundaryQuerySource,