@deck.gl/carto 8.9.3 → 8.9.5

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 (113) hide show
  1. package/dist/dist.dev.js +359 -174
  2. package/dist/es5/api/layer-map.js +44 -44
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-v3-client.js +22 -4
  5. package/dist/es5/api/maps-v3-client.js.map +1 -1
  6. package/dist/es5/api/parseMap.js +64 -48
  7. package/dist/es5/api/parseMap.js.map +1 -1
  8. package/dist/es5/index.js +8 -0
  9. package/dist/es5/index.js.map +1 -1
  10. package/dist/es5/layers/point-label-layer.js +268 -0
  11. package/dist/es5/layers/point-label-layer.js.map +1 -0
  12. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -9
  13. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  14. package/dist/es5/layers/schema/carto-spatial-tile.js +5 -31
  15. package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
  16. package/dist/es5/layers/schema/carto-tile.js +12 -6
  17. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  18. package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -21
  19. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
  20. package/dist/es5/layers/schema/fast-pbf.js +22 -0
  21. package/dist/es5/layers/schema/fast-pbf.js.map +1 -0
  22. package/dist/es5/layers/schema/tile-loader-utils.js +0 -17
  23. package/dist/es5/layers/schema/tile-loader-utils.js.map +1 -1
  24. package/dist/es5/layers/spatial-index-tile-layer.js +19 -1
  25. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  26. package/dist/esm/api/layer-map.js +29 -21
  27. package/dist/esm/api/layer-map.js.map +1 -1
  28. package/dist/esm/api/maps-v3-client.js +12 -1
  29. package/dist/esm/api/maps-v3-client.js.map +1 -1
  30. package/dist/esm/api/parseMap.js +59 -44
  31. package/dist/esm/api/parseMap.js.map +1 -1
  32. package/dist/esm/index.js +1 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/layers/point-label-layer.js +198 -0
  35. package/dist/esm/layers/point-label-layer.js.map +1 -0
  36. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +2 -4
  37. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  38. package/dist/esm/layers/schema/carto-spatial-tile.js +3 -28
  39. package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
  40. package/dist/esm/layers/schema/carto-tile.js +12 -6
  41. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  42. package/dist/esm/layers/schema/carto-vector-tile-loader.js +2 -18
  43. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
  44. package/dist/esm/layers/schema/fast-pbf.js +13 -0
  45. package/dist/esm/layers/schema/fast-pbf.js.map +1 -0
  46. package/dist/esm/layers/schema/tile-loader-utils.js +0 -16
  47. package/dist/esm/layers/schema/tile-loader-utils.js.map +1 -1
  48. package/dist/esm/layers/spatial-index-tile-layer.js +21 -1
  49. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  50. package/dist.min.js +24 -23
  51. package/package.json +2 -2
  52. package/src/api/layer-map.ts +21 -25
  53. package/src/api/maps-v3-client.ts +19 -4
  54. package/src/api/parseMap.ts +67 -44
  55. package/src/api/types.ts +1 -0
  56. package/src/index.ts +1 -0
  57. package/src/layers/point-label-layer.ts +266 -0
  58. package/src/layers/schema/carto-spatial-tile-loader.ts +2 -5
  59. package/src/layers/schema/carto-spatial-tile.ts +5 -30
  60. package/src/layers/schema/carto-tile.ts +11 -12
  61. package/src/layers/schema/carto-vector-tile-loader.ts +2 -9
  62. package/src/layers/schema/fast-pbf.ts +13 -0
  63. package/src/layers/schema/tile-loader-utils.ts +0 -15
  64. package/src/layers/spatial-index-tile-layer.ts +22 -1
  65. package/typed/api/layer-map.d.ts +1 -2
  66. package/typed/api/layer-map.d.ts.map +1 -1
  67. package/typed/api/maps-v3-client.d.ts +4 -1
  68. package/typed/api/maps-v3-client.d.ts.map +1 -1
  69. package/typed/api/parseMap.d.ts +1 -1
  70. package/typed/api/parseMap.d.ts.map +1 -1
  71. package/typed/api/types.d.ts +1 -0
  72. package/typed/api/types.d.ts.map +1 -1
  73. package/typed/index.d.ts +1 -0
  74. package/typed/index.d.ts.map +1 -1
  75. package/typed/layers/point-label-layer.d.ts +56 -0
  76. package/typed/layers/point-label-layer.d.ts.map +1 -0
  77. package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
  78. package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
  79. package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  80. package/typed/layers/schema/carto-spatial-tile.d.ts +2 -2
  81. package/typed/layers/schema/carto-spatial-tile.d.ts.map +1 -1
  82. package/typed/layers/schema/carto-tile.d.ts +2 -9
  83. package/typed/layers/schema/carto-tile.d.ts.map +1 -1
  84. package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  85. package/typed/layers/schema/fast-pbf.d.ts +3 -0
  86. package/typed/layers/schema/fast-pbf.d.ts.map +1 -0
  87. package/typed/layers/schema/tile-loader-utils.d.ts +0 -3
  88. package/typed/layers/schema/tile-loader-utils.d.ts.map +1 -1
  89. package/typed/layers/spatial-index-tile-layer.d.ts +1 -0
  90. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  91. package/typed/api/index.js +0 -3
  92. package/typed/api/layer-map.js +0 -264
  93. package/typed/api/maps-api-common.js +0 -50
  94. package/typed/api/maps-client.js +0 -125
  95. package/typed/api/maps-v3-client.js +0 -304
  96. package/typed/api/parseMap.js +0 -178
  97. package/typed/basemap.js +0 -9
  98. package/typed/config.js +0 -35
  99. package/typed/index.js +0 -10
  100. package/typed/layers/carto-layer.js +0 -173
  101. package/typed/layers/carto-tile-layer.js +0 -105
  102. package/typed/layers/h3-tile-layer.js +0 -47
  103. package/typed/layers/h3-tileset-2d.js +0 -85
  104. package/typed/layers/quadkey-tile-layer.js +0 -42
  105. package/typed/layers/quadkey-tileset-2d.js +0 -36
  106. package/typed/layers/schema/carto-tile.js +0 -161
  107. package/typed/layers/spatial-index-tile-layer.js +0 -40
  108. package/typed/style/color-bins-style.js +0 -12
  109. package/typed/style/color-categories-style.js +0 -16
  110. package/typed/style/color-continuous-style.js +0 -12
  111. package/typed/style/palette.js +0 -62
  112. package/typed/style/utils.js +0 -15
  113. package/typed/utils.js +0 -4
package/dist/dist.dev.js CHANGED
@@ -5441,8 +5441,8 @@ var __exports__ = (() => {
5441
5441
  Pbf.Fixed64 = 1;
5442
5442
  Pbf.Bytes = 2;
5443
5443
  Pbf.Fixed32 = 5;
5444
- var SHIFT_LEFT_322 = (1 << 16) * (1 << 16);
5445
- var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_322;
5444
+ var SHIFT_LEFT_32 = (1 << 16) * (1 << 16);
5445
+ var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;
5446
5446
  var TEXT_DECODER_MIN_LENGTH = 12;
5447
5447
  var utf8TextDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder("utf8");
5448
5448
  Pbf.prototype = {
@@ -5474,12 +5474,12 @@ var __exports__ = (() => {
5474
5474
  return val;
5475
5475
  },
5476
5476
  readFixed64: function() {
5477
- var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_322;
5477
+ var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
5478
5478
  this.pos += 8;
5479
5479
  return val;
5480
5480
  },
5481
5481
  readSFixed64: function() {
5482
- var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_322;
5482
+ var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
5483
5483
  this.pos += 8;
5484
5484
  return val;
5485
5485
  },
@@ -5542,7 +5542,7 @@ var __exports__ = (() => {
5542
5542
  readPackedVarint: function(arr, isSigned) {
5543
5543
  if (this.type !== Pbf.Bytes)
5544
5544
  return arr.push(this.readVarint(isSigned));
5545
- var end = readPackedEnd2(this);
5545
+ var end = readPackedEnd(this);
5546
5546
  arr = arr || [];
5547
5547
  while (this.pos < end)
5548
5548
  arr.push(this.readVarint(isSigned));
@@ -5551,7 +5551,7 @@ var __exports__ = (() => {
5551
5551
  readPackedSVarint: function(arr) {
5552
5552
  if (this.type !== Pbf.Bytes)
5553
5553
  return arr.push(this.readSVarint());
5554
- var end = readPackedEnd2(this);
5554
+ var end = readPackedEnd(this);
5555
5555
  arr = arr || [];
5556
5556
  while (this.pos < end)
5557
5557
  arr.push(this.readSVarint());
@@ -5560,7 +5560,7 @@ var __exports__ = (() => {
5560
5560
  readPackedBoolean: function(arr) {
5561
5561
  if (this.type !== Pbf.Bytes)
5562
5562
  return arr.push(this.readBoolean());
5563
- var end = readPackedEnd2(this);
5563
+ var end = readPackedEnd(this);
5564
5564
  arr = arr || [];
5565
5565
  while (this.pos < end)
5566
5566
  arr.push(this.readBoolean());
@@ -5569,7 +5569,7 @@ var __exports__ = (() => {
5569
5569
  readPackedFloat: function(arr) {
5570
5570
  if (this.type !== Pbf.Bytes)
5571
5571
  return arr.push(this.readFloat());
5572
- var end = readPackedEnd2(this);
5572
+ var end = readPackedEnd(this);
5573
5573
  arr = arr || [];
5574
5574
  while (this.pos < end)
5575
5575
  arr.push(this.readFloat());
@@ -5578,7 +5578,7 @@ var __exports__ = (() => {
5578
5578
  readPackedDouble: function(arr) {
5579
5579
  if (this.type !== Pbf.Bytes)
5580
5580
  return arr.push(this.readDouble());
5581
- var end = readPackedEnd2(this);
5581
+ var end = readPackedEnd(this);
5582
5582
  arr = arr || [];
5583
5583
  while (this.pos < end)
5584
5584
  arr.push(this.readDouble());
@@ -5587,7 +5587,7 @@ var __exports__ = (() => {
5587
5587
  readPackedFixed32: function(arr) {
5588
5588
  if (this.type !== Pbf.Bytes)
5589
5589
  return arr.push(this.readFixed32());
5590
- var end = readPackedEnd2(this);
5590
+ var end = readPackedEnd(this);
5591
5591
  arr = arr || [];
5592
5592
  while (this.pos < end)
5593
5593
  arr.push(this.readFixed32());
@@ -5596,7 +5596,7 @@ var __exports__ = (() => {
5596
5596
  readPackedSFixed32: function(arr) {
5597
5597
  if (this.type !== Pbf.Bytes)
5598
5598
  return arr.push(this.readSFixed32());
5599
- var end = readPackedEnd2(this);
5599
+ var end = readPackedEnd(this);
5600
5600
  arr = arr || [];
5601
5601
  while (this.pos < end)
5602
5602
  arr.push(this.readSFixed32());
@@ -5605,7 +5605,7 @@ var __exports__ = (() => {
5605
5605
  readPackedFixed64: function(arr) {
5606
5606
  if (this.type !== Pbf.Bytes)
5607
5607
  return arr.push(this.readFixed64());
5608
- var end = readPackedEnd2(this);
5608
+ var end = readPackedEnd(this);
5609
5609
  arr = arr || [];
5610
5610
  while (this.pos < end)
5611
5611
  arr.push(this.readFixed64());
@@ -5614,7 +5614,7 @@ var __exports__ = (() => {
5614
5614
  readPackedSFixed64: function(arr) {
5615
5615
  if (this.type !== Pbf.Bytes)
5616
5616
  return arr.push(this.readSFixed64());
5617
- var end = readPackedEnd2(this);
5617
+ var end = readPackedEnd(this);
5618
5618
  arr = arr || [];
5619
5619
  while (this.pos < end)
5620
5620
  arr.push(this.readSFixed64());
@@ -5852,7 +5852,7 @@ var __exports__ = (() => {
5852
5852
  return toNum(l, h, s);
5853
5853
  throw new Error("Expected varint not more than 10 bytes");
5854
5854
  }
5855
- function readPackedEnd2(pbf) {
5855
+ function readPackedEnd(pbf) {
5856
5856
  return pbf.type === Pbf.Bytes ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
5857
5857
  }
5858
5858
  function toNum(low, high, isSigned) {
@@ -8317,6 +8317,7 @@ var __exports__ = (() => {
8317
8317
  TILE_FORMATS: () => TILE_FORMATS,
8318
8318
  _CartoTileLayer: () => CartoTileLayer,
8319
8319
  _H3TileLayer: () => H3TileLayer,
8320
+ _PointLabelLayer: () => PointLabelLayer,
8320
8321
  _QuadbinTileLayer: () => QuadbinTileLayer,
8321
8322
  _getDataV2: () => getDataV2,
8322
8323
  _mapInstantiation: () => mapInstantiation,
@@ -8436,7 +8437,7 @@ var __exports__ = (() => {
8436
8437
  }
8437
8438
 
8438
8439
  // src/layers/carto-layer.ts
8439
- var import_core8 = __toESM(require_core());
8440
+ var import_core9 = __toESM(require_core());
8440
8441
  var import_geo_layers8 = __toESM(require_geo_layers());
8441
8442
 
8442
8443
  // src/api/carto-api-error.ts
@@ -11127,6 +11128,20 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11127
11128
  // src/layers/carto-tile-layer.ts
11128
11129
  var import_core = __toESM(require_core2());
11129
11130
 
11131
+ // src/layers/schema/fast-pbf.ts
11132
+ function readPackedDouble(pbf, obj) {
11133
+ const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
11134
+ obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));
11135
+ pbf.pos = end;
11136
+ return obj.value;
11137
+ }
11138
+ function readPackedFixed64(pbf, obj) {
11139
+ const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
11140
+ obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));
11141
+ pbf.pos = end;
11142
+ return obj.value;
11143
+ }
11144
+
11130
11145
  // src/layers/schema/carto-tile.ts
11131
11146
  var KeyValueObjectReader = class {
11132
11147
  static read(pbf, end) {
@@ -11144,13 +11159,16 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11144
11159
  };
11145
11160
  var PropertiesReader = class {
11146
11161
  static read(pbf, end) {
11147
- return pbf.readFields(PropertiesReader._readField, {
11148
- data: []
11149
- }, end);
11162
+ return pbf.readFields(PropertiesReader._readField, {}, end);
11150
11163
  }
11151
11164
  static _readField(tag, obj, pbf) {
11152
- if (tag === 1)
11153
- obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
11165
+ if (tag === 1) {
11166
+ const {
11167
+ key,
11168
+ value
11169
+ } = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);
11170
+ obj[key] = value;
11171
+ }
11154
11172
  }
11155
11173
  };
11156
11174
  var DoublesReader = class {
@@ -11169,7 +11187,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11169
11187
  }
11170
11188
  static _readField(tag, obj, pbf) {
11171
11189
  if (tag === 1)
11172
- pbf.readPackedDouble(obj.value);
11190
+ readPackedDouble(pbf, obj);
11173
11191
  else if (tag === 2)
11174
11192
  obj.size = pbf.readVarint(true);
11175
11193
  }
@@ -11214,7 +11232,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11214
11232
  }
11215
11233
  static _readField(tag, obj, pbf) {
11216
11234
  if (tag === 1)
11217
- pbf.readPackedDouble(obj.value);
11235
+ readPackedDouble(pbf, obj);
11218
11236
  }
11219
11237
  };
11220
11238
  var NumericPropKeyValueReader = class {
@@ -11349,21 +11367,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11349
11367
  const tile = TileReader3.read(pbf);
11350
11368
  return tile;
11351
11369
  }
11352
- function unpackProperties(properties) {
11353
- if (!properties || !properties.length) {
11354
- return [];
11355
- }
11356
- return properties.map((item) => {
11357
- const currentRecord = {};
11358
- item.data.forEach(({
11359
- key,
11360
- value
11361
- }) => {
11362
- currentRecord[key] = value;
11363
- });
11364
- return currentRecord;
11365
- });
11366
- }
11367
11370
 
11368
11371
  // src/layers/schema/carto-vector-tile-loader.ts
11369
11372
  var CartoVectorTileLoader = {
@@ -11383,26 +11386,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11383
11386
  if (!arrayBuffer)
11384
11387
  return null;
11385
11388
  const tile = parsePbf(arrayBuffer, TileReader);
11386
- const {
11387
- points,
11388
- lines,
11389
- polygons
11390
- } = tile;
11391
- const data = {
11392
- points: {
11393
- ...points,
11394
- properties: unpackProperties(points.properties)
11395
- },
11396
- lines: {
11397
- ...lines,
11398
- properties: unpackProperties(lines.properties)
11399
- },
11400
- polygons: {
11401
- ...polygons,
11402
- properties: unpackProperties(polygons.properties)
11403
- }
11404
- };
11405
- return data;
11389
+ return tile;
11406
11390
  }
11407
11391
  var carto_vector_tile_loader_default = CartoVectorTileLoader;
11408
11392
 
@@ -11815,18 +11799,13 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11815
11799
  // src/layers/schema/carto-spatial-tile.ts
11816
11800
  var IndicesReader = class {
11817
11801
  static read(pbf, end) {
11818
- const {
11819
- value
11820
- } = pbf.readFields(IndicesReader._readField, {
11802
+ return pbf.readFields(IndicesReader._readField, {
11821
11803
  value: []
11822
11804
  }, end);
11823
- return {
11824
- value: new BigUint64Array(value)
11825
- };
11826
11805
  }
11827
11806
  static _readField(tag, obj, pbf) {
11828
11807
  if (tag === 1)
11829
- readPackedFixed64(pbf, obj.value);
11808
+ readPackedFixed64(pbf, obj);
11830
11809
  }
11831
11810
  };
11832
11811
  var CellsReader = class {
@@ -11862,24 +11841,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11862
11841
  obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);
11863
11842
  }
11864
11843
  };
11865
- var SHIFT_LEFT_32 = BigInt((1 << 16) * (1 << 16));
11866
- function readPackedEnd(pbf) {
11867
- return pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
11868
- }
11869
- function readFixed64(pbf) {
11870
- const a = BigInt(pbf.readFixed32());
11871
- const b = BigInt(pbf.readFixed32());
11872
- return a + b * SHIFT_LEFT_32;
11873
- }
11874
- function readPackedFixed64(pbf, arr) {
11875
- if (pbf.type !== 2)
11876
- return arr.push(readFixed64(pbf));
11877
- const end = readPackedEnd(pbf);
11878
- arr = arr || [];
11879
- while (pbf.pos < end)
11880
- arr.push(readFixed64(pbf));
11881
- return arr;
11882
- }
11883
11844
 
11884
11845
  // ../../node_modules/quadbin/dist/esm/index.js
11885
11846
  var B = [
@@ -11993,10 +11954,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11993
11954
  } = tile;
11994
11955
  const scheme = options?.cartoSpatialTile?.scheme;
11995
11956
  const data = {
11996
- cells: {
11997
- ...cells,
11998
- properties: unpackProperties(cells.properties)
11999
- },
11957
+ cells,
12000
11958
  scheme
12001
11959
  };
12002
11960
  return binaryToSpatialjson(data);
@@ -12092,11 +12050,28 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12092
12050
  } = this.state;
12093
12051
  const data = tile.content;
12094
12052
  const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
12095
- if (!isFeatureIdPresent || !Array.isArray(data)) {
12053
+ if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
12096
12054
  return -1;
12097
12055
  }
12098
12056
  return data.findIndex((feature) => feature.id === hoveredFeatureId);
12099
12057
  }
12058
+ _featureInTile(tile, featureId) {
12059
+ const {
12060
+ getTileZoom,
12061
+ getParentIndex
12062
+ } = this.state.tileset;
12063
+ const tileZoom = getTileZoom(tile.index);
12064
+ const KEY = tile.index.q ? "q" : "i";
12065
+ let featureIndex = {
12066
+ [KEY]: featureId
12067
+ };
12068
+ let featureZoom = getTileZoom(featureIndex);
12069
+ while (!(featureZoom <= tileZoom)) {
12070
+ featureIndex = getParentIndex(featureIndex);
12071
+ featureZoom = getTileZoom(featureIndex);
12072
+ }
12073
+ return featureIndex[KEY] === tile.index[KEY];
12074
+ }
12100
12075
  };
12101
12076
  __publicField(SpatialIndexTileLayer, "layerName", "SpatialIndexTileLayer");
12102
12077
  __publicField(SpatialIndexTileLayer, "defaultProps", defaultProps2);
@@ -12448,7 +12423,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12448
12423
  }
12449
12424
  function getLayer(type, config, dataset) {
12450
12425
  let basePropMap = sharedPropMap;
12451
- if (config.visConfig?.customMarkers && !config.textLabel) {
12426
+ if (config.visConfig?.customMarkers) {
12452
12427
  basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);
12453
12428
  }
12454
12429
  if (type === "mvt" || type === "tileset" || type === "h3" || type === "quadbin") {
@@ -12624,10 +12599,30 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12624
12599
  }
12625
12600
  function normalizeAccessor(accessor, data) {
12626
12601
  if (data.features || data.tilestats) {
12627
- return ({
12628
- properties
12629
- }) => {
12630
- return accessor(properties);
12602
+ return (object, info) => {
12603
+ if (object) {
12604
+ return accessor(object.properties || object.__source.object.properties);
12605
+ }
12606
+ const {
12607
+ data: data2,
12608
+ index
12609
+ } = info;
12610
+ const {
12611
+ properties,
12612
+ numericProps
12613
+ } = data2;
12614
+ const proxy = new Proxy(properties[index] || {}, {
12615
+ get(target, property, receiver) {
12616
+ if (property in numericProps) {
12617
+ return numericProps[property].value[index];
12618
+ }
12619
+ return target[property];
12620
+ },
12621
+ has(target, property) {
12622
+ return property in numericProps || property in target;
12623
+ }
12624
+ });
12625
+ return accessor(proxy);
12631
12626
  };
12632
12627
  }
12633
12628
  return accessor;
@@ -12788,23 +12783,195 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12788
12783
  };
12789
12784
  return normalizeAccessor(accessor, data);
12790
12785
  }
12791
- function getTextPixelOffsetAccessor({
12792
- alignment,
12793
- anchor,
12794
- size
12795
- }, radius) {
12796
- const padding = 20;
12797
- const signX = anchor === "middle" ? 0 : anchor === "start" ? 1 : -1;
12798
- const signY = alignment === "center" ? 0 : alignment === "bottom" ? 1 : -1;
12799
- const sizeOffset = alignment === "center" ? 0 : size;
12800
- const calculateOffset = (r) => [signX * (r + padding), signY * (r + padding + sizeOffset)];
12801
- return typeof radius === "function" ? (d) => {
12802
- return calculateOffset(radius(d));
12803
- } : calculateOffset(radius);
12804
- }
12805
12786
 
12806
- // src/api/parseMap.ts
12787
+ // src/layers/point-label-layer.ts
12807
12788
  var import_core6 = __toESM(require_core());
12789
+ var import_layers3 = __toESM(require_layers());
12790
+ var [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
12791
+ var EnhancedTextBackgroundLayer = class extends import_layers3._TextBackgroundLayer {
12792
+ getShaders() {
12793
+ const shaders = super.getShaders();
12794
+ let vs = shaders.vs;
12795
+ vs = vs.replaceAll("padding.", "_padding.");
12796
+ vs = vs.replace("void main(void) {", "void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);");
12797
+ return {
12798
+ ...shaders,
12799
+ vs
12800
+ };
12801
+ }
12802
+ };
12803
+ __publicField(EnhancedTextBackgroundLayer, "layerName", "EnhancedTextBackgroundLayer");
12804
+ var EnhancedTextLayer = class extends import_layers3.TextLayer {
12805
+ filterSubLayer({
12806
+ layer,
12807
+ renderPass
12808
+ }) {
12809
+ const background = layer.id.includes("primary-background");
12810
+ if (renderPass === "collision") {
12811
+ return background;
12812
+ }
12813
+ return !background;
12814
+ }
12815
+ };
12816
+ __publicField(EnhancedTextLayer, "layerName", "EnhancedTextLayer");
12817
+ var defaultProps7 = {
12818
+ ...import_layers3.TextLayer.defaultProps,
12819
+ getRadius: {
12820
+ type: "accessor",
12821
+ value: 1
12822
+ },
12823
+ radiusScale: {
12824
+ type: "number",
12825
+ min: 0,
12826
+ value: 1
12827
+ }
12828
+ };
12829
+ var PointLabelLayer = class extends import_core6.CompositeLayer {
12830
+ calculatePixelOffset(secondary) {
12831
+ const {
12832
+ getTextAnchor: anchor,
12833
+ getAlignmentBaseline: alignment,
12834
+ getRadius,
12835
+ getSecondaryText,
12836
+ radiusScale,
12837
+ secondarySizeScale,
12838
+ sizeScale
12839
+ } = this.props;
12840
+ const xMult = anchor === "middle" ? 0 : anchor === "start" ? 1 : -1;
12841
+ const yMult = alignment === "center" ? 0 : alignment === "bottom" ? 1 : -1;
12842
+ const xPadding = sizeScale / 4;
12843
+ const yPadding = sizeScale * (1 + 1 / 4);
12844
+ const secondaryOffset = 0.6 * (1 - yMult) * sizeScale;
12845
+ let yOffset = secondary ? secondaryOffset : 0;
12846
+ if (anchor === "middle" && alignment === "top" && getSecondaryText) {
12847
+ yOffset -= secondaryOffset;
12848
+ yOffset -= secondarySizeScale;
12849
+ yOffset += sizeScale;
12850
+ }
12851
+ const radiusPadding = 1 + 1 / 4;
12852
+ return typeof getRadius === "function" ? (d, info) => {
12853
+ const r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;
12854
+ return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
12855
+ } : [xMult * (getRadius * radiusScale * radiusPadding + xPadding), yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset];
12856
+ }
12857
+ calculateBackgroundPadding() {
12858
+ const {
12859
+ getTextAnchor: anchor,
12860
+ getAlignmentBaseline: alignment,
12861
+ sizeScale
12862
+ } = this.props;
12863
+ const paddingX = 12 * sizeScale;
12864
+ const paddingY = 3 * sizeScale;
12865
+ const backgroundPadding = [0, 0, 0, 0];
12866
+ if (alignment === "top") {
12867
+ backgroundPadding[TOP] = paddingY;
12868
+ } else if (alignment === "bottom") {
12869
+ backgroundPadding[BOTTOM] = paddingY;
12870
+ } else {
12871
+ backgroundPadding[TOP] = 0.5 * paddingY;
12872
+ backgroundPadding[BOTTOM] = 0.5 * paddingY;
12873
+ }
12874
+ if (anchor === "start") {
12875
+ backgroundPadding[LEFT] = paddingX;
12876
+ } else if (anchor === "end") {
12877
+ backgroundPadding[RIGHT] = paddingX;
12878
+ } else {
12879
+ backgroundPadding[LEFT] = 0.5 * paddingX;
12880
+ backgroundPadding[RIGHT] = 0.5 * paddingX;
12881
+ }
12882
+ return backgroundPadding;
12883
+ }
12884
+ renderTextLayer(id, {
12885
+ updateTriggers: updateTriggersOverride = {},
12886
+ ...props
12887
+ }) {
12888
+ const {
12889
+ data,
12890
+ characterSet,
12891
+ fontFamily,
12892
+ fontSettings,
12893
+ fontWeight,
12894
+ outlineColor,
12895
+ outlineWidth,
12896
+ sizeScale,
12897
+ radiusScale,
12898
+ getAlignmentBaseline,
12899
+ getColor,
12900
+ getPosition,
12901
+ getTextAnchor,
12902
+ updateTriggers
12903
+ } = this.props;
12904
+ return new EnhancedTextLayer(this.getSubLayerProps({
12905
+ id,
12906
+ data,
12907
+ characterSet,
12908
+ fontFamily,
12909
+ fontSettings,
12910
+ fontWeight,
12911
+ outlineColor,
12912
+ outlineWidth,
12913
+ sizeScale,
12914
+ getAlignmentBaseline,
12915
+ getColor,
12916
+ getPosition,
12917
+ getTextAnchor,
12918
+ updateTriggers: {
12919
+ ...updateTriggers,
12920
+ ...updateTriggersOverride,
12921
+ getPixelOffset: [updateTriggers.getRadius, updateTriggers.getTextAnchor, updateTriggers.getAlignmentBaseline, radiusScale, sizeScale]
12922
+ }
12923
+ }), {
12924
+ getSize: 1,
12925
+ _subLayerProps: {
12926
+ background: {
12927
+ type: EnhancedTextBackgroundLayer
12928
+ }
12929
+ }
12930
+ }, props);
12931
+ }
12932
+ renderLayers() {
12933
+ const {
12934
+ getText,
12935
+ getSecondaryColor,
12936
+ getSecondaryText,
12937
+ secondaryOutlineColor,
12938
+ secondarySizeScale,
12939
+ updateTriggers
12940
+ } = this.props;
12941
+ const getPixelOffset = this.calculatePixelOffset(false);
12942
+ const backgroundPadding = this.calculateBackgroundPadding();
12943
+ const out = [
12944
+ this.renderTextLayer(`${updateTriggers.getText}-primary`, {
12945
+ backgroundPadding,
12946
+ getText,
12947
+ getPixelOffset,
12948
+ background: true
12949
+ }),
12950
+ Boolean(getSecondaryText) && this.renderTextLayer(`${updateTriggers.getSecondaryText}-secondary`, {
12951
+ getText: getSecondaryText,
12952
+ getPixelOffset: this.calculatePixelOffset(true),
12953
+ getAlignmentBaseline: "top",
12954
+ ...getSecondaryColor && {
12955
+ getColor: getSecondaryColor
12956
+ },
12957
+ ...secondarySizeScale && {
12958
+ sizeScale: secondarySizeScale
12959
+ },
12960
+ ...secondaryOutlineColor && {
12961
+ outlineColor: secondaryOutlineColor
12962
+ }
12963
+ })
12964
+ ];
12965
+ return out;
12966
+ }
12967
+ };
12968
+ __publicField(PointLabelLayer, "layerName", "PointLabelLayer");
12969
+ __publicField(PointLabelLayer, "defaultProps", defaultProps7);
12970
+
12971
+ // src/api/parseMap.ts
12972
+ var import_core7 = __toESM(require_core());
12973
+ var import_extensions2 = __toESM(require_extensions());
12974
+ var collisionFilterExtension = new import_extensions2.CollisionFilterExtension();
12808
12975
  function parseMap(json) {
12809
12976
  const {
12810
12977
  keplerMapConfig,
@@ -12830,7 +12997,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12830
12997
  initialViewState: mapState,
12831
12998
  mapStyle,
12832
12999
  token,
12833
- layers: extractTextLayers(layers.reverse()).map(({
13000
+ layers: layers.reverse().map(({
12834
13001
  id,
12835
13002
  type,
12836
13003
  config,
@@ -12849,60 +13016,26 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12849
13016
  const {
12850
13017
  Layer,
12851
13018
  propMap,
12852
- defaultProps: defaultProps8
13019
+ defaultProps: defaultProps9
12853
13020
  } = getLayer(type, config, dataset);
12854
13021
  const styleProps = createStyleProps(config, propMap);
12855
13022
  return new Layer({
12856
13023
  id,
12857
13024
  data,
12858
- ...defaultProps8,
12859
- ...!config.textLabel && createInteractionProps(interactionConfig),
13025
+ ...defaultProps9,
13026
+ ...createInteractionProps(interactionConfig),
12860
13027
  ...styleProps,
12861
- ...createChannelProps(visualChannels, type, config, data),
13028
+ ...createChannelProps(id, type, config, visualChannels, data),
12862
13029
  ...createParametersProp(layerBlending, styleProps.parameters || {}),
12863
13030
  ...createLoadOptions(token)
12864
13031
  });
12865
13032
  } catch (e) {
12866
- import_core6.log.error(e.message)();
13033
+ import_core7.log.error(e.message)();
12867
13034
  return void 0;
12868
13035
  }
12869
13036
  })
12870
13037
  };
12871
13038
  }
12872
- function extractTextLayers(layers) {
12873
- return (0, import_core6._flatten)(layers.map(({
12874
- id,
12875
- config,
12876
- ...rest
12877
- }) => {
12878
- const {
12879
- textLabel,
12880
- ...configRest
12881
- } = config;
12882
- return [
12883
- {
12884
- id,
12885
- config: configRest,
12886
- ...rest
12887
- },
12888
- ...textLabel.filter((t) => t.field).map((t) => {
12889
- return {
12890
- id: `${id}-label-${t.field.name}`,
12891
- config: {
12892
- textLabel: t,
12893
- ...configRest,
12894
- label: `${config.label}-label-${t.field.name}`,
12895
- visConfig: {
12896
- ...configRest.visConfig,
12897
- opacity: 1
12898
- }
12899
- },
12900
- ...rest
12901
- };
12902
- })
12903
- ];
12904
- }));
12905
- }
12906
13039
  function createParametersProp(layerBlending, parameters) {
12907
13040
  if (layerBlending === "additive") {
12908
13041
  parameters.blendFunc = [esm_default.SRC_ALPHA, esm_default.DST_ALPHA];
@@ -12957,7 +13090,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12957
13090
  result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];
12958
13091
  return result;
12959
13092
  }
12960
- function createChannelProps(visualChannels, type, config, data) {
13093
+ function createChannelProps(id, type, config, visualChannels, data) {
12961
13094
  const {
12962
13095
  colorField,
12963
13096
  colorScale,
@@ -12981,7 +13114,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12981
13114
  visConfig
12982
13115
  } = config;
12983
13116
  const result = {};
12984
- const textLabelField = textLabel && textLabel.field;
12985
13117
  if (type === "grid" || type === "hexagon") {
12986
13118
  result.colorScaleType = colorScale;
12987
13119
  if (colorField) {
@@ -13066,12 +13198,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13066
13198
  data
13067
13199
  );
13068
13200
  }
13069
- if (textLabelField) {
13070
- result.getText = getTextAccessor(textLabelField, data);
13071
- result.pointType = "text";
13072
- const radius = result.getPointRadius || visConfig.radius;
13073
- result.getTextPixelOffset = getTextPixelOffsetAccessor(textLabel, radius);
13074
- } else if (visConfig.customMarkers) {
13201
+ if (visConfig.customMarkers) {
13075
13202
  const maxIconSize = getMaxMarkerSize(visConfig, visualChannels);
13076
13203
  const {
13077
13204
  getPointRadius,
@@ -13111,6 +13238,55 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13111
13238
  if (visualChannels.rotationField) {
13112
13239
  result.getIconAngle = negateAccessor(getSizeAccessor(visualChannels.rotationField, void 0, null, void 0, data));
13113
13240
  }
13241
+ } else if (type === "point" || type === "tileset") {
13242
+ result.pointType = "circle";
13243
+ }
13244
+ if (textLabel && textLabel.length && textLabel[0].field) {
13245
+ const [mainLabel, secondaryLabel] = textLabel;
13246
+ const collisionGroup = id;
13247
+ ({
13248
+ alignment: result.getTextAlignmentBaseline,
13249
+ anchor: result.getTextAnchor,
13250
+ color: result.getTextColor,
13251
+ outlineColor: result.textOutlineColor,
13252
+ size: result.textSizeScale
13253
+ } = mainLabel);
13254
+ const {
13255
+ color: getSecondaryColor,
13256
+ field: secondaryField,
13257
+ outlineColor: secondaryOutlineColor,
13258
+ size: secondarySizeScale
13259
+ } = secondaryLabel || {};
13260
+ result.getText = mainLabel.field && getTextAccessor(mainLabel.field, data);
13261
+ const getSecondaryText = secondaryField && getTextAccessor(secondaryField, data);
13262
+ result.pointType = `${result.pointType}+text`;
13263
+ result.textCharacterSet = "auto";
13264
+ result.textFontFamily = "Inter, sans";
13265
+ result.textFontSettings = {
13266
+ sdf: true
13267
+ };
13268
+ result.textFontWeight = 600;
13269
+ result.textOutlineWidth = 3;
13270
+ result._subLayerProps = {
13271
+ ...result._subLayerProps,
13272
+ "points-text": {
13273
+ type: PointLabelLayer,
13274
+ extensions: [collisionFilterExtension],
13275
+ collisionEnabled: true,
13276
+ collisionGroup,
13277
+ ...result.getPointRadius ? {
13278
+ getRadius: result.getPointRadius
13279
+ } : {
13280
+ radiusScale: visConfig.radius
13281
+ },
13282
+ ...secondaryField && {
13283
+ getSecondaryText,
13284
+ getSecondaryColor,
13285
+ secondarySizeScale,
13286
+ secondaryOutlineColor
13287
+ }
13288
+ }
13289
+ };
13114
13290
  }
13115
13291
  return result;
13116
13292
  }
@@ -13127,7 +13303,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13127
13303
  }
13128
13304
 
13129
13305
  // src/api/maps-v3-client.ts
13130
- var import_core7 = __toESM(require_core());
13306
+ var import_core8 = __toESM(require_core());
13131
13307
  var MAX_GET_LENGTH = 8192;
13132
13308
  var DEFAULT_CLIENT = "deck-gl-carto";
13133
13309
  var V3_MINOR_VERSION = "3.1";
@@ -13454,7 +13630,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13454
13630
  assert2(url && mapFormat, "Unsupported data formats received from backend.");
13455
13631
  }
13456
13632
  if (format2 === FORMATS.TILEJSON && formatTiles) {
13457
- import_core7.log.assert(Object.values(TILE_FORMATS).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`);
13633
+ import_core8.log.assert(Object.values(TILE_FORMATS).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`);
13458
13634
  url += `&${encodeParameter("formatTiles", formatTiles)}`;
13459
13635
  }
13460
13636
  const {
@@ -13666,16 +13842,25 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13666
13842
  });
13667
13843
  await fillInMapDatasets(map2, clientId, localCreds, headers);
13668
13844
  await fillInTileStats(map2, localCreds);
13669
- return {
13845
+ const out = {
13670
13846
  ...parseMap(map2),
13671
13847
  ...{
13672
13848
  stopAutoRefresh
13673
13849
  }
13674
13850
  };
13851
+ const textLayers = out.layers.filter((layer) => {
13852
+ const pointType = layer.props.pointType || "";
13853
+ return pointType.includes("text");
13854
+ });
13855
+ if (textLayers.length && window.FontFace && !document.fonts.check("12px Inter")) {
13856
+ const font = new FontFace("Inter", "url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)");
13857
+ await font.load().then((f) => document.fonts.add(f));
13858
+ }
13859
+ return out;
13675
13860
  }
13676
13861
 
13677
13862
  // src/layers/carto-layer.ts
13678
- var defaultProps7 = {
13863
+ var defaultProps8 = {
13679
13864
  data: null,
13680
13865
  type: null,
13681
13866
  onDataLoad: {
@@ -13708,7 +13893,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13708
13893
  aggregationResLevel: null,
13709
13894
  queryParameters: null
13710
13895
  };
13711
- var CartoLayer = class extends import_core8.CompositeLayer {
13896
+ var CartoLayer = class extends import_core9.CompositeLayer {
13712
13897
  initializeState() {
13713
13898
  this.state = {
13714
13899
  data: null,
@@ -13733,23 +13918,23 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13733
13918
  const {
13734
13919
  apiVersion
13735
13920
  } = localCreds;
13736
- import_core8.log.assert(Object.values(API_VERSIONS).includes(apiVersion), `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`);
13921
+ import_core9.log.assert(Object.values(API_VERSIONS).includes(apiVersion), `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`);
13737
13922
  if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {
13738
- import_core8.log.assert(type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET, `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`);
13739
- import_core8.log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);
13740
- import_core8.log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);
13741
- import_core8.log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);
13923
+ import_core9.log.assert(type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET, `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`);
13924
+ import_core9.log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);
13925
+ import_core9.log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);
13926
+ import_core9.log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);
13742
13927
  } else if (apiVersion === API_VERSIONS.V3) {
13743
- import_core8.log.assert(connection, "Missing mandatory connection parameter");
13744
- import_core8.log.assert(Object.values(MAP_TYPES).includes(type), `Invalid type ${type}. Use MAP_TYPES enum.`);
13928
+ import_core9.log.assert(connection, "Missing mandatory connection parameter");
13929
+ import_core9.log.assert(Object.values(MAP_TYPES).includes(type), `Invalid type ${type}. Use MAP_TYPES enum.`);
13745
13930
  if (!COLUMNS_SUPPORT.includes(type)) {
13746
- import_core8.log.assert(!columns, `columns prop is only supported for types: ${COLUMNS_SUPPORT.join()}`);
13931
+ import_core9.log.assert(!columns, `columns prop is only supported for types: ${COLUMNS_SUPPORT.join()}`);
13747
13932
  }
13748
13933
  if (!GEO_COLUMN_SUPPORT.includes(type)) {
13749
- import_core8.log.assert(!geoColumn, `geoColumn prop is only supported for types: ${GEO_COLUMN_SUPPORT.join()}`);
13934
+ import_core9.log.assert(!geoColumn, `geoColumn prop is only supported for types: ${GEO_COLUMN_SUPPORT.join()}`);
13750
13935
  }
13751
13936
  if (columns) {
13752
- import_core8.log.assert(Array.isArray(columns), "columns prop must be an Array");
13937
+ import_core9.log.assert(Array.isArray(columns), "columns prop must be an Array");
13753
13938
  }
13754
13939
  }
13755
13940
  }
@@ -13827,7 +14012,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13827
14012
  } = this.state;
13828
14013
  const {
13829
14014
  uniqueIdProperty
13830
- } = defaultProps7;
14015
+ } = defaultProps8;
13831
14016
  const {
13832
14017
  data: _notUsed,
13833
14018
  ...propsNoData
@@ -13880,7 +14065,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
13880
14065
  }
13881
14066
  };
13882
14067
  __publicField(CartoLayer, "layerName", "CartoLayer");
13883
- __publicField(CartoLayer, "defaultProps", defaultProps7);
14068
+ __publicField(CartoLayer, "defaultProps", defaultProps8);
13884
14069
 
13885
14070
  // src/basemap.ts
13886
14071
  var baseUrl = "https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";
@@ -14006,9 +14191,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
14006
14191
 
14007
14192
  // ../layers/bundle/peer-dependency.ts
14008
14193
  var peer_dependency_exports = {};
14009
- var import_layers3 = __toESM(require_layers());
14194
+ var import_layers4 = __toESM(require_layers());
14010
14195
  __reExport(peer_dependency_exports, __toESM(require_layers()));
14011
- if (!import_layers3.GeoJsonLayer) {
14196
+ if (!import_layers4.GeoJsonLayer) {
14012
14197
  throw new Error("@deck.gl/layers is not found");
14013
14198
  }
14014
14199