@deck.gl/carto 9.0.24 → 9.0.26

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 (44) hide show
  1. package/dist/cartoRasterTile-worker.js +1 -1
  2. package/dist/cartoSpatialTile-worker.js +1 -1
  3. package/dist/cartoVectorTile-worker.js +1 -1
  4. package/dist/dist.dev.js +85 -15
  5. package/dist/index.cjs +85 -18
  6. package/dist/index.cjs.map +3 -3
  7. package/dist/layers/raster-layer.d.ts +21 -1
  8. package/dist/layers/raster-layer.d.ts.map +1 -1
  9. package/dist/layers/raster-layer.js +31 -1
  10. package/dist/layers/raster-tile-layer.d.ts +2 -2
  11. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  12. package/dist/layers/raster-tile-layer.js +2 -2
  13. package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
  14. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  15. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  16. package/dist/layers/spatial-index-tile-layer.d.ts +2 -5
  17. package/dist/layers/spatial-index-tile-layer.d.ts.map +1 -1
  18. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  19. package/dist/layers/vector-tile-layer.js +20 -2
  20. package/dist/sources/h3-query-source.d.ts +2 -2
  21. package/dist/sources/h3-query-source.d.ts.map +1 -1
  22. package/dist/sources/h3-query-source.js +4 -1
  23. package/dist/sources/h3-table-source.d.ts +2 -2
  24. package/dist/sources/h3-table-source.d.ts.map +1 -1
  25. package/dist/sources/h3-table-source.js +4 -1
  26. package/dist/sources/quadbin-query-source.d.ts +2 -2
  27. package/dist/sources/quadbin-query-source.d.ts.map +1 -1
  28. package/dist/sources/quadbin-query-source.js +4 -1
  29. package/dist/sources/quadbin-table-source.d.ts +2 -2
  30. package/dist/sources/quadbin-table-source.d.ts.map +1 -1
  31. package/dist/sources/quadbin-table-source.js +4 -1
  32. package/dist/utils.d.ts.map +1 -1
  33. package/dist/utils.js +6 -0
  34. package/dist.min.js +9 -9
  35. package/package.json +2 -2
  36. package/src/layers/raster-layer.ts +45 -2
  37. package/src/layers/raster-tile-layer.ts +3 -3
  38. package/src/layers/spatial-index-tile-layer.ts +2 -2
  39. package/src/layers/vector-tile-layer.ts +22 -2
  40. package/src/sources/h3-query-source.ts +11 -2
  41. package/src/sources/h3-table-source.ts +11 -2
  42. package/src/sources/quadbin-query-source.ts +11 -2
  43. package/src/sources/quadbin-table-source.ts +11 -2
  44. package/src/utils.ts +8 -0
@@ -1008,7 +1008,7 @@
1008
1008
  }
1009
1009
 
1010
1010
  // src/layers/schema/carto-raster-tile-loader.ts
1011
- var VERSION = true ? "9.0.24" : "latest";
1011
+ var VERSION = true ? "9.0.26" : "latest";
1012
1012
  var id = "cartoRasterTile";
1013
1013
  var DEFAULT_OPTIONS = {
1014
1014
  cartoRasterTile: {
@@ -1397,7 +1397,7 @@
1397
1397
  }
1398
1398
 
1399
1399
  // src/layers/schema/carto-spatial-tile-loader.ts
1400
- var VERSION = true ? "9.0.24" : "latest";
1400
+ var VERSION = true ? "9.0.26" : "latest";
1401
1401
  var id = "cartoSpatialTile";
1402
1402
  var DEFAULT_OPTIONS = {
1403
1403
  cartoSpatialTile: {
@@ -1625,7 +1625,7 @@
1625
1625
  }
1626
1626
 
1627
1627
  // src/layers/schema/carto-vector-tile-loader.ts
1628
- var VERSION = true ? "9.0.24" : "latest";
1628
+ var VERSION = true ? "9.0.26" : "latest";
1629
1629
  var id = "cartoVectorTile";
1630
1630
  var DEFAULT_OPTIONS = {
1631
1631
  cartoVectorTile: {
package/dist/dist.dev.js CHANGED
@@ -7700,6 +7700,12 @@ var __exports__ = (() => {
7700
7700
  },
7701
7701
  has(target, property) {
7702
7702
  return property in numericProps || property in target;
7703
+ },
7704
+ ownKeys(target) {
7705
+ return [...Object.keys(numericProps), ...Reflect.ownKeys(target)];
7706
+ },
7707
+ getOwnPropertyDescriptor(target, prop) {
7708
+ return { enumerable: true, configurable: true };
7703
7709
  }
7704
7710
  });
7705
7711
  }
@@ -9113,6 +9119,7 @@ void main(void) {
9113
9119
  const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
9114
9120
  const offset = [xOffset, yOffset, scale / blockSize];
9115
9121
  const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
9122
+ const { highlightedObjectIndex, highlightColor } = this.state;
9116
9123
  return new CellLayer(
9117
9124
  this.props,
9118
9125
  this.getSubLayerProps({
@@ -9128,7 +9135,9 @@ void main(void) {
9128
9135
  data,
9129
9136
  length: blockSize * blockSize
9130
9137
  },
9131
- offset
9138
+ offset,
9139
+ highlightedObjectIndex,
9140
+ highlightColor
9132
9141
  }
9133
9142
  );
9134
9143
  }
@@ -9143,11 +9152,39 @@ void main(void) {
9143
9152
  return accessor({ properties: proxy }, info);
9144
9153
  };
9145
9154
  }
9155
+ getPickingInfo(params) {
9156
+ const info = super.getPickingInfo(params);
9157
+ if (info.index !== -1) {
9158
+ info.object = this.getSubLayerAccessor((x) => x)(void 0, {
9159
+ data: this.props,
9160
+ index: info.index
9161
+ });
9162
+ }
9163
+ return info;
9164
+ }
9165
+ _updateAutoHighlight(info) {
9166
+ const { highlightedObjectIndex } = this.state;
9167
+ let newHighlightedObjectIndex = -1;
9168
+ if (info.index !== -1) {
9169
+ newHighlightedObjectIndex = info.index;
9170
+ }
9171
+ if (highlightedObjectIndex !== newHighlightedObjectIndex) {
9172
+ let { highlightColor } = this.props;
9173
+ if (typeof highlightColor === "function") {
9174
+ highlightColor = highlightColor(info);
9175
+ }
9176
+ this.setState({
9177
+ highlightColor,
9178
+ highlightedObjectIndex: newHighlightedObjectIndex
9179
+ });
9180
+ }
9181
+ }
9146
9182
  };
9147
9183
  RasterLayer.layerName = "RasterLayer";
9148
9184
  RasterLayer.defaultProps = defaultProps8;
9149
9185
 
9150
9186
  // src/layers/raster-tile-layer.ts
9187
+ var import_geo_layers7 = __toESM(require_geo_layers(), 1);
9151
9188
  var renderSubLayers3 = (props) => {
9152
9189
  const tileIndex = props.tile?.index?.q;
9153
9190
  if (!tileIndex)
@@ -9171,7 +9208,7 @@ void main(void) {
9171
9208
  return null;
9172
9209
  const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
9173
9210
  return [
9174
- new SpatialIndexTileLayer(this.props, {
9211
+ new import_geo_layers7.TileLayer(this.props, {
9175
9212
  id: `raster-tile-layer-${this.props.id}`,
9176
9213
  data,
9177
9214
  TilesetClass: QuadbinTileset2D,
@@ -9289,16 +9326,16 @@ void main(void) {
9289
9326
 
9290
9327
  // src/layers/vector-tile-layer.ts
9291
9328
  var import_extensions = __toESM(require_extensions(), 1);
9292
- var import_geo_layers7 = __toESM(require_geo_layers(), 1);
9329
+ var import_geo_layers8 = __toESM(require_geo_layers(), 1);
9293
9330
  var import_layers5 = __toESM(require_layers(), 1);
9294
9331
  (0, import_core14.registerLoaders)([carto_properties_tile_loader_default, carto_vector_tile_loader_default]);
9295
9332
  var defaultProps10 = {
9296
- ...import_geo_layers7.MVTLayer.defaultProps,
9333
+ ...import_geo_layers8.MVTLayer.defaultProps,
9297
9334
  data: TilejsonPropType,
9298
9335
  dataComparator: TilejsonPropType.equal,
9299
9336
  tileSize: DEFAULT_TILE_SIZE
9300
9337
  };
9301
- var VectorTileLayer = class extends import_geo_layers7.MVTLayer {
9338
+ var VectorTileLayer = class extends import_geo_layers8.MVTLayer {
9302
9339
  constructor(...propObjects) {
9303
9340
  super(...propObjects);
9304
9341
  }
@@ -9325,7 +9362,7 @@ void main(void) {
9325
9362
  async getTileData(tile) {
9326
9363
  const tileJSON = this.props.data;
9327
9364
  const { tiles: tiles2, properties_tiles } = tileJSON;
9328
- const url = (0, import_geo_layers7._getURLFromTemplate)(tiles2, tile);
9365
+ const url = (0, import_geo_layers8._getURLFromTemplate)(tiles2, tile);
9329
9366
  if (!url) {
9330
9367
  return Promise.reject("Invalid URL");
9331
9368
  }
@@ -9336,7 +9373,7 @@ void main(void) {
9336
9373
  if (!properties_tiles) {
9337
9374
  return await geometryFetch;
9338
9375
  }
9339
- const propertiesUrl = (0, import_geo_layers7._getURLFromTemplate)(properties_tiles, tile);
9376
+ const propertiesUrl = (0, import_geo_layers8._getURLFromTemplate)(properties_tiles, tile);
9340
9377
  if (!propertiesUrl) {
9341
9378
  return Promise.reject("Invalid properties URL");
9342
9379
  }
@@ -9360,11 +9397,28 @@ void main(void) {
9360
9397
  }
9361
9398
  const tileBbox = props.tile.bbox;
9362
9399
  const { west, south, east, north } = tileBbox;
9400
+ const extensions = [new import_extensions.ClipExtension(), ...props.extensions || []];
9401
+ const clipProps = {
9402
+ clipBounds: [west, south, east, north]
9403
+ };
9404
+ const applyClipExtensionToSublayerProps = (subLayerId) => {
9405
+ return {
9406
+ [subLayerId]: {
9407
+ ...clipProps,
9408
+ ...props?._subLayerProps?.[subLayerId],
9409
+ extensions: [...extensions, ...props?._subLayerProps?.[subLayerId]?.extensions || []]
9410
+ }
9411
+ };
9412
+ };
9363
9413
  const subLayerProps = {
9364
9414
  ...props,
9365
9415
  autoHighlight: false,
9366
- extensions: [new import_extensions.ClipExtension(), ...props.extensions || []],
9367
- clipBounds: [west, south, east, north]
9416
+ _subLayerProps: {
9417
+ ...props._subLayerProps,
9418
+ ...applyClipExtensionToSublayerProps("polygons-fill"),
9419
+ ...applyClipExtensionToSublayerProps("polygons-stroke"),
9420
+ ...applyClipExtensionToSublayerProps("linestrings")
9421
+ }
9368
9422
  };
9369
9423
  const subLayer = new import_layers5.GeoJsonLayer(subLayerProps);
9370
9424
  return subLayer;
@@ -13139,7 +13193,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13139
13193
  aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3,
13140
13194
  sqlQuery,
13141
13195
  spatialDataColumn = "h3",
13142
- queryParameters
13196
+ queryParameters,
13197
+ filters
13143
13198
  } = options;
13144
13199
  const urlParameters = {
13145
13200
  aggregationExp,
@@ -13153,6 +13208,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13153
13208
  if (queryParameters) {
13154
13209
  urlParameters.queryParameters = queryParameters;
13155
13210
  }
13211
+ if (filters) {
13212
+ urlParameters.filters = filters;
13213
+ }
13156
13214
  return baseSource("query", options, urlParameters);
13157
13215
  };
13158
13216
 
@@ -13162,7 +13220,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13162
13220
  aggregationExp,
13163
13221
  aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3,
13164
13222
  spatialDataColumn = "h3",
13165
- tableName
13223
+ tableName,
13224
+ filters
13166
13225
  } = options;
13167
13226
  const urlParameters = {
13168
13227
  aggregationExp,
@@ -13173,6 +13232,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13173
13232
  if (aggregationResLevel) {
13174
13233
  urlParameters.aggregationResLevel = String(aggregationResLevel);
13175
13234
  }
13235
+ if (filters) {
13236
+ urlParameters.filters = filters;
13237
+ }
13176
13238
  return baseSource("table", options, urlParameters);
13177
13239
  };
13178
13240
 
@@ -13200,7 +13262,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13200
13262
  aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN,
13201
13263
  sqlQuery,
13202
13264
  spatialDataColumn = "quadbin",
13203
- queryParameters
13265
+ queryParameters,
13266
+ filters
13204
13267
  } = options;
13205
13268
  const urlParameters = {
13206
13269
  aggregationExp,
@@ -13214,6 +13277,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13214
13277
  if (queryParameters) {
13215
13278
  urlParameters.queryParameters = queryParameters;
13216
13279
  }
13280
+ if (filters) {
13281
+ urlParameters.filters = filters;
13282
+ }
13217
13283
  return baseSource("query", options, urlParameters);
13218
13284
  };
13219
13285
 
@@ -13223,7 +13289,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13223
13289
  aggregationExp,
13224
13290
  aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN,
13225
13291
  spatialDataColumn = "quadbin",
13226
- tableName
13292
+ tableName,
13293
+ filters
13227
13294
  } = options;
13228
13295
  const urlParameters = {
13229
13296
  aggregationExp,
@@ -13234,6 +13301,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13234
13301
  if (aggregationResLevel) {
13235
13302
  urlParameters.aggregationResLevel = String(aggregationResLevel);
13236
13303
  }
13304
+ if (filters) {
13305
+ urlParameters.filters = filters;
13306
+ }
13237
13307
  return baseSource("table", options, urlParameters);
13238
13308
  };
13239
13309
 
@@ -13310,7 +13380,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13310
13380
  var import_moment_timezone = __toESM(require_moment_timezone2(), 1);
13311
13381
  var import_aggregation_layers = __toESM(require_aggregation_layers(), 1);
13312
13382
  var import_layers6 = __toESM(require_layers(), 1);
13313
- var import_geo_layers8 = __toESM(require_geo_layers(), 1);
13383
+ var import_geo_layers9 = __toESM(require_geo_layers(), 1);
13314
13384
  var SCALE_FUNCS = {
13315
13385
  linear: linear2,
13316
13386
  ordinal,
@@ -13441,7 +13511,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13441
13511
  defaultProps: { getPosition }
13442
13512
  },
13443
13513
  hexagonId: {
13444
- Layer: import_geo_layers8.H3HexagonLayer,
13514
+ Layer: import_geo_layers9.H3HexagonLayer,
13445
13515
  propMap: { visConfig: { coverage: "coverage" } },
13446
13516
  defaultProps: { getHexagon: (d) => d[hexagonId], stroked: false }
13447
13517
  }
package/dist/index.cjs CHANGED
@@ -486,6 +486,12 @@ function createBinaryProxy(data, index) {
486
486
  },
487
487
  has(target, property) {
488
488
  return property in numericProps || property in target;
489
+ },
490
+ ownKeys(target) {
491
+ return [...Object.keys(numericProps), ...Reflect.ownKeys(target)];
492
+ },
493
+ getOwnPropertyDescriptor(target, prop) {
494
+ return { enumerable: true, configurable: true };
489
495
  }
490
496
  });
491
497
  }
@@ -533,7 +539,7 @@ function binaryToSpatialjson(binary) {
533
539
  }
534
540
 
535
541
  // dist/layers/schema/carto-spatial-tile-loader.js
536
- var VERSION = true ? "9.0.24" : "latest";
542
+ var VERSION = true ? "9.0.26" : "latest";
537
543
  var id = "cartoSpatialTile";
538
544
  var DEFAULT_OPTIONS = {
539
545
  cartoSpatialTile: {
@@ -896,7 +902,7 @@ var TileReader3 = class {
896
902
  };
897
903
 
898
904
  // dist/layers/schema/carto-raster-tile-loader.js
899
- var VERSION2 = true ? "9.0.24" : "latest";
905
+ var VERSION2 = true ? "9.0.26" : "latest";
900
906
  var id2 = "cartoRasterTile";
901
907
  var DEFAULT_OPTIONS2 = {
902
908
  cartoRasterTile: {
@@ -1826,6 +1832,7 @@ var _RasterLayer = class extends import_core12.CompositeLayer {
1826
1832
  const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
1827
1833
  const offset = [xOffset, yOffset, scale / blockSize];
1828
1834
  const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
1835
+ const { highlightedObjectIndex, highlightColor } = this.state;
1829
1836
  return new CellLayer(this.props, this.getSubLayerProps({
1830
1837
  id: "cell",
1831
1838
  updateTriggers,
@@ -1838,7 +1845,9 @@ var _RasterLayer = class extends import_core12.CompositeLayer {
1838
1845
  data,
1839
1846
  length: blockSize * blockSize
1840
1847
  },
1841
- offset
1848
+ offset,
1849
+ highlightedObjectIndex,
1850
+ highlightColor
1842
1851
  });
1843
1852
  }
1844
1853
  getSubLayerAccessor(accessor) {
@@ -1852,6 +1861,33 @@ var _RasterLayer = class extends import_core12.CompositeLayer {
1852
1861
  return accessor({ properties: proxy }, info);
1853
1862
  };
1854
1863
  }
1864
+ getPickingInfo(params) {
1865
+ const info = super.getPickingInfo(params);
1866
+ if (info.index !== -1) {
1867
+ info.object = this.getSubLayerAccessor((x) => x)(void 0, {
1868
+ data: this.props,
1869
+ index: info.index
1870
+ });
1871
+ }
1872
+ return info;
1873
+ }
1874
+ _updateAutoHighlight(info) {
1875
+ const { highlightedObjectIndex } = this.state;
1876
+ let newHighlightedObjectIndex = -1;
1877
+ if (info.index !== -1) {
1878
+ newHighlightedObjectIndex = info.index;
1879
+ }
1880
+ if (highlightedObjectIndex !== newHighlightedObjectIndex) {
1881
+ let { highlightColor } = this.props;
1882
+ if (typeof highlightColor === "function") {
1883
+ highlightColor = highlightColor(info);
1884
+ }
1885
+ this.setState({
1886
+ highlightColor,
1887
+ highlightedObjectIndex: newHighlightedObjectIndex
1888
+ });
1889
+ }
1890
+ }
1855
1891
  };
1856
1892
  var RasterLayer = _RasterLayer;
1857
1893
  (() => {
@@ -1862,6 +1898,7 @@ var RasterLayer = _RasterLayer;
1862
1898
  })();
1863
1899
 
1864
1900
  // dist/layers/raster-tile-layer.js
1901
+ var import_geo_layers7 = require("@deck.gl/geo-layers");
1865
1902
  var renderSubLayers3 = (props) => {
1866
1903
  var _a, _b;
1867
1904
  const tileIndex = (_b = (_a = props.tile) == null ? void 0 : _a.index) == null ? void 0 : _b.q;
@@ -1886,7 +1923,7 @@ var _RasterTileLayer = class extends import_core13.CompositeLayer {
1886
1923
  return null;
1887
1924
  const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
1888
1925
  return [
1889
- new SpatialIndexTileLayer(this.props, {
1926
+ new import_geo_layers7.TileLayer(this.props, {
1890
1927
  id: `raster-tile-layer-${this.props.id}`,
1891
1928
  data,
1892
1929
  TilesetClass: QuadbinTileset2D,
@@ -1947,7 +1984,7 @@ var carto_properties_tile_loader_default = CartoPropertiesTileLoader;
1947
1984
 
1948
1985
  // dist/layers/schema/carto-vector-tile-loader.js
1949
1986
  var import_earcut = __toESM(require("earcut"), 1);
1950
- var VERSION3 = true ? "9.0.24" : "latest";
1987
+ var VERSION3 = true ? "9.0.26" : "latest";
1951
1988
  var id3 = "cartoVectorTile";
1952
1989
  var DEFAULT_OPTIONS3 = {
1953
1990
  cartoVectorTile: {
@@ -2005,16 +2042,16 @@ var carto_vector_tile_loader_default = CartoVectorTileLoader;
2005
2042
 
2006
2043
  // dist/layers/vector-tile-layer.js
2007
2044
  var import_extensions = require("@deck.gl/extensions");
2008
- var import_geo_layers7 = require("@deck.gl/geo-layers");
2045
+ var import_geo_layers8 = require("@deck.gl/geo-layers");
2009
2046
  var import_layers5 = require("@deck.gl/layers");
2010
2047
  (0, import_core14.registerLoaders)([carto_properties_tile_loader_default, carto_vector_tile_loader_default]);
2011
2048
  var defaultProps10 = {
2012
- ...import_geo_layers7.MVTLayer.defaultProps,
2049
+ ...import_geo_layers8.MVTLayer.defaultProps,
2013
2050
  data: TilejsonPropType,
2014
2051
  dataComparator: TilejsonPropType.equal,
2015
2052
  tileSize: DEFAULT_TILE_SIZE
2016
2053
  };
2017
- var _VectorTileLayer = class extends import_geo_layers7.MVTLayer {
2054
+ var _VectorTileLayer = class extends import_geo_layers8.MVTLayer {
2018
2055
  constructor(...propObjects) {
2019
2056
  super(...propObjects);
2020
2057
  }
@@ -2041,7 +2078,7 @@ var _VectorTileLayer = class extends import_geo_layers7.MVTLayer {
2041
2078
  async getTileData(tile) {
2042
2079
  const tileJSON = this.props.data;
2043
2080
  const { tiles, properties_tiles } = tileJSON;
2044
- const url = (0, import_geo_layers7._getURLFromTemplate)(tiles, tile);
2081
+ const url = (0, import_geo_layers8._getURLFromTemplate)(tiles, tile);
2045
2082
  if (!url) {
2046
2083
  return Promise.reject("Invalid URL");
2047
2084
  }
@@ -2052,7 +2089,7 @@ var _VectorTileLayer = class extends import_geo_layers7.MVTLayer {
2052
2089
  if (!properties_tiles) {
2053
2090
  return await geometryFetch;
2054
2091
  }
2055
- const propertiesUrl = (0, import_geo_layers7._getURLFromTemplate)(properties_tiles, tile);
2092
+ const propertiesUrl = (0, import_geo_layers8._getURLFromTemplate)(properties_tiles, tile);
2056
2093
  if (!propertiesUrl) {
2057
2094
  return Promise.reject("Invalid properties URL");
2058
2095
  }
@@ -2076,11 +2113,29 @@ var _VectorTileLayer = class extends import_geo_layers7.MVTLayer {
2076
2113
  }
2077
2114
  const tileBbox = props.tile.bbox;
2078
2115
  const { west, south, east, north } = tileBbox;
2116
+ const extensions = [new import_extensions.ClipExtension(), ...props.extensions || []];
2117
+ const clipProps = {
2118
+ clipBounds: [west, south, east, north]
2119
+ };
2120
+ const applyClipExtensionToSublayerProps = (subLayerId) => {
2121
+ var _a, _b, _c;
2122
+ return {
2123
+ [subLayerId]: {
2124
+ ...clipProps,
2125
+ ...(_a = props == null ? void 0 : props._subLayerProps) == null ? void 0 : _a[subLayerId],
2126
+ extensions: [...extensions, ...((_c = (_b = props == null ? void 0 : props._subLayerProps) == null ? void 0 : _b[subLayerId]) == null ? void 0 : _c.extensions) || []]
2127
+ }
2128
+ };
2129
+ };
2079
2130
  const subLayerProps = {
2080
2131
  ...props,
2081
2132
  autoHighlight: false,
2082
- extensions: [new import_extensions.ClipExtension(), ...props.extensions || []],
2083
- clipBounds: [west, south, east, north]
2133
+ _subLayerProps: {
2134
+ ...props._subLayerProps,
2135
+ ...applyClipExtensionToSublayerProps("polygons-fill"),
2136
+ ...applyClipExtensionToSublayerProps("polygons-stroke"),
2137
+ ...applyClipExtensionToSublayerProps("linestrings")
2138
+ }
2084
2139
  };
2085
2140
  const subLayer = new import_layers5.GeoJsonLayer(subLayerProps);
2086
2141
  return subLayer;
@@ -2529,7 +2584,7 @@ var boundaryTableSource = async function(options) {
2529
2584
 
2530
2585
  // dist/sources/h3-query-source.js
2531
2586
  var h3QuerySource = async function(options) {
2532
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, sqlQuery, spatialDataColumn = "h3", queryParameters } = options;
2587
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, sqlQuery, spatialDataColumn = "h3", queryParameters, filters } = options;
2533
2588
  const urlParameters = {
2534
2589
  aggregationExp,
2535
2590
  spatialDataColumn,
@@ -2542,12 +2597,15 @@ var h3QuerySource = async function(options) {
2542
2597
  if (queryParameters) {
2543
2598
  urlParameters.queryParameters = queryParameters;
2544
2599
  }
2600
+ if (filters) {
2601
+ urlParameters.filters = filters;
2602
+ }
2545
2603
  return baseSource("query", options, urlParameters);
2546
2604
  };
2547
2605
 
2548
2606
  // dist/sources/h3-table-source.js
2549
2607
  var h3TableSource = async function(options) {
2550
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, spatialDataColumn = "h3", tableName } = options;
2608
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, spatialDataColumn = "h3", tableName, filters } = options;
2551
2609
  const urlParameters = {
2552
2610
  aggregationExp,
2553
2611
  name: tableName,
@@ -2557,6 +2615,9 @@ var h3TableSource = async function(options) {
2557
2615
  if (aggregationResLevel) {
2558
2616
  urlParameters.aggregationResLevel = String(aggregationResLevel);
2559
2617
  }
2618
+ if (filters) {
2619
+ urlParameters.filters = filters;
2620
+ }
2560
2621
  return baseSource("table", options, urlParameters);
2561
2622
  };
2562
2623
 
@@ -2579,7 +2640,7 @@ var rasterSource = async function(options) {
2579
2640
 
2580
2641
  // dist/sources/quadbin-query-source.js
2581
2642
  var quadbinQuerySource = async function(options) {
2582
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, sqlQuery, spatialDataColumn = "quadbin", queryParameters } = options;
2643
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, sqlQuery, spatialDataColumn = "quadbin", queryParameters, filters } = options;
2583
2644
  const urlParameters = {
2584
2645
  aggregationExp,
2585
2646
  q: sqlQuery,
@@ -2592,12 +2653,15 @@ var quadbinQuerySource = async function(options) {
2592
2653
  if (queryParameters) {
2593
2654
  urlParameters.queryParameters = queryParameters;
2594
2655
  }
2656
+ if (filters) {
2657
+ urlParameters.filters = filters;
2658
+ }
2595
2659
  return baseSource("query", options, urlParameters);
2596
2660
  };
2597
2661
 
2598
2662
  // dist/sources/quadbin-table-source.js
2599
2663
  var quadbinTableSource = async function(options) {
2600
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, spatialDataColumn = "quadbin", tableName } = options;
2664
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, spatialDataColumn = "quadbin", tableName, filters } = options;
2601
2665
  const urlParameters = {
2602
2666
  aggregationExp,
2603
2667
  name: tableName,
@@ -2607,6 +2671,9 @@ var quadbinTableSource = async function(options) {
2607
2671
  if (aggregationResLevel) {
2608
2672
  urlParameters.aggregationResLevel = String(aggregationResLevel);
2609
2673
  }
2674
+ if (filters) {
2675
+ urlParameters.filters = filters;
2676
+ }
2610
2677
  return baseSource("table", options, urlParameters);
2611
2678
  };
2612
2679
 
@@ -2674,7 +2741,7 @@ var import_d3_format = require("d3-format");
2674
2741
  var import_moment_timezone = __toESM(require("moment-timezone"), 1);
2675
2742
  var import_aggregation_layers = require("@deck.gl/aggregation-layers");
2676
2743
  var import_layers6 = require("@deck.gl/layers");
2677
- var import_geo_layers8 = require("@deck.gl/geo-layers");
2744
+ var import_geo_layers9 = require("@deck.gl/geo-layers");
2678
2745
  var SCALE_FUNCS = {
2679
2746
  linear: import_d3_scale3.scaleLinear,
2680
2747
  ordinal: import_d3_scale3.scaleOrdinal,
@@ -2806,7 +2873,7 @@ function getLayer(type, config, dataset) {
2806
2873
  defaultProps: { getPosition }
2807
2874
  },
2808
2875
  hexagonId: {
2809
- Layer: import_geo_layers8.H3HexagonLayer,
2876
+ Layer: import_geo_layers9.H3HexagonLayer,
2810
2877
  propMap: { visConfig: { coverage: "coverage" } },
2811
2878
  defaultProps: { getHexagon: (d) => d[hexagonId], stroked: false }
2812
2879
  }